blob: 3e98df82272f635d3ed242482360d0ef655c9139 [file] [log] [blame]
Alexandre Julliard59545601999-02-10 06:52:57 +00001/* Definitions for printing
2 *
3 * Copyright 1998 Huw Davies, Andreas Mohr
4 *
5 * Portions Copyright (c) 1999 Corel Corporation
6 * (Paul Quinn, Albert Den Haan)
7 */
8#ifndef __WINE_WINSPOOL_H
9#define __WINE_WINSPOOL_H
10
Jim Aston2e1cafa1999-03-14 16:35:05 +000011#include "windef.h"
Marcus Meissner317af321999-02-17 13:51:06 +000012#include "winbase.h"
13#include "wingdi.h"
Alexandre Julliard59545601999-02-10 06:52:57 +000014
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19/* DEFINES */
Alexandre Julliard59545601999-02-10 06:52:57 +000020
21#define PRINTER_ATTRIBUTE_QUEUED 0x00000001
22#define PRINTER_ATTRIBUTE_DIRECT 0x00000002
23#define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
24#define PRINTER_ATTRIBUTE_SHARED 0x00000008
25#define PRINTER_ATTRIBUTE_NETWORK 0x00000010
26#define PRINTER_ATTRIBUTE_HIDDEN 0x00000020
27#define PRINTER_ATTRIBUTE_LOCAL 0x00000040
28
29#define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080
30#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100
31#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200
32
33#define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x00000400
34#define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x00000800
35
Huw D M Davies685fa2d1999-09-04 14:30:33 +000036#define PRINTER_CONTROL_PAUSE 1
37#define PRINTER_CONTROL_RESUME 2
38#define PRINTER_CONTROL_PURGE 3
39#define PRINTER_CONTROL_SET_STATUS 4
40
Alexandre Julliard59545601999-02-10 06:52:57 +000041#define PRINTER_ENUM_DEFAULT 0x00000001
42#define PRINTER_ENUM_LOCAL 0x00000002
43#define PRINTER_ENUM_CONNECTIONS 0x00000004
44#define PRINTER_ENUM_FAVORITE 0x00000004
45#define PRINTER_ENUM_NAME 0x00000008
46#define PRINTER_ENUM_REMOTE 0x00000010
47#define PRINTER_ENUM_SHARED 0x00000020
48#define PRINTER_ENUM_NETWORK 0x00000040
49
50#define PRINTER_ENUM_EXPAND 0x00004000
51#define PRINTER_ENUM_CONTAINER 0x00008000
52
53#define PRINTER_ENUM_ICONMASK 0x00ff0000
54#define PRINTER_ENUM_ICON1 0x00010000
55#define PRINTER_ENUM_ICON2 0x00020000
56#define PRINTER_ENUM_ICON3 0x00040000
57#define PRINTER_ENUM_ICON4 0x00080000
58#define PRINTER_ENUM_ICON5 0x00100000
59#define PRINTER_ENUM_ICON6 0x00200000
60#define PRINTER_ENUM_ICON7 0x00400000
61#define PRINTER_ENUM_ICON8 0x00800000
62
Klaas van Gend43ac3d61999-07-30 18:10:21 +000063
64/* various printer statuses */
65#define PRINTER_STATUS_PAUSED 0x00000001
66#define PRINTER_STATUS_ERROR 0x00000002
67#define PRINTER_STATUS_PENDING_DELETION 0x00000004
68#define PRINTER_STATUS_PAPER_JAM 0x00000008
69#define PRINTER_STATUS_PAPER_OUT 0x00000010
70#define PRINTER_STATUS_MANUAL_FEED 0x00000020
71#define PRINTER_STATUS_PAPER_PROBLEM 0x00000040
72#define PRINTER_STATUS_OFFLINE 0x00000080
73#define PRINTER_STATUS_IO_ACTIVE 0x00000100
74#define PRINTER_STATUS_BUSY 0x00000200
75#define PRINTER_STATUS_PRINTING 0x00000400
76#define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800
77#define PRINTER_STATUS_NOT_AVAILABLE 0x00001000
78#define PRINTER_STATUS_WAITING 0x00002000
79#define PRINTER_STATUS_PROCESSING 0x00004000
80#define PRINTER_STATUS_INITIALIZING 0x00008000
81#define PRINTER_STATUS_WARMING_UP 0x00010000
82#define PRINTER_STATUS_TONER_LOW 0x00020000
83#define PRINTER_STATUS_NO_TONER 0x00040000
84#define PRINTER_STATUS_PAGE_PUNT 0x00080000
85#define PRINTER_STATUS_USER_INTERVENTION 0x00100000
86#define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000
87#define PRINTER_STATUS_DOOR_OPEN 0x00400000
88#define PRINTER_STATUS_SERVER_UNKNOWN 0x00800000
89#define PRINTER_STATUS_POWER_SAVE 0x01000000
90
Huw D M Davies685fa2d1999-09-04 14:30:33 +000091#define NO_PRIORITY 0
92#define MAX_PRIORITY 99
93#define MIN_PRIORITY 1
94#define DEF_PRIORITY 1
95
96#define JOB_CONTROL_PAUSE 1
97#define JOB_CONTROL_RESUME 2
98#define JOB_CONTROL_CANCEL 3
99#define JOB_CONTROL_RESTART 4
100#define JOB_CONTROL_DELETE 5
101#define JOB_CONTROL_SENT_TO_PRINTER 6
102#define JOB_CONTROL_LAST_PAGE_EJECTED 7
103
104#define JOB_STATUS_PAUSED 0x0001
105#define JOB_STATUS_ERROR 0x0002
106#define JOB_STATUS_DELETING 0x0004
107#define JOB_STATUS_SPOOLING 0x0008
108#define JOB_STATUS_PRINTING 0x0010
109#define JOB_STATUS_OFFLINE 0x0020
110#define JOB_STATUS_PAPEROUT 0x0040
111#define JOB_STATUS_PRINTED 0x0080
112#define JOB_STATUS_DELETED 0x0100
113#define JOB_STATUS_BLOCKED_DEVQ 0x0200
114#define JOB_STATUS_USER_INTERVENTION 0x0400
115
116#define JOB_POSITION_UNSPECIFIED 1
117
118#define DI_CHANNEL 1
119#define DI_READ_SPOOL_JOB 3
120
121#define FORM_USER 0
122#define FORM_BUILTIN 1
123#define FORM_PRINTER 2
124
125#define PORT_TYPE_WRITE 1
126#define PORT_TYPE_READ 2
127#define PORT_TYPE_REDIRECTED 4
128#define PORT_TYPE_NET_ATTACHED 8
129
130#define PORT_STATUS_TYPE_ERROR 1
131#define PORT_STATUS_TYPE_WARNING 2
132#define PORT_STATUS_TYPE_INFO 3
133
134#define PORT_STATUS_OFFLINE 1
135#define PORT_STATUS_PAPER_JAM 2
136#define PORT_STATUS_PAPER_OUT 3
137#define PORT_STATUS_OUTPUT_BIN_FULL 4
138#define PORT_STATUS_PAPER_PROBLEM 5
139#define PORT_STATUS_NO_TONER 6
140#define PORT_STATUS_DOOR_OPEN 7
141#define PORT_STATUS_USER_INTERVENTION 8
142#define PORT_STATUS_OUT_OF_MEMORY 9
143#define PORT_STATUS_TONER_LOW 10
144#define PORT_STATUS_WARMING_UP 11
145#define PORT_STATUS_POWER_SAVE 12
146
147#define PRINTER_NOTIFY_TYPE 0
148#define JOB_NOTIFY_TYPE 1
149
150#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
151#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
152#define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
153#define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
154#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
155#define PRINTER_NOTIFY_FIELD_COMMENT 0x05
156#define PRINTER_NOTIFY_FIELD_LOCATION 0x06
157#define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
158#define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
159#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
160#define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0a
161#define PRINTER_NOTIFY_FIELD_DATATYPE 0x0b
162#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
163#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0d
164#define PRINTER_NOTIFY_FIELD_PRIORITY 0x0e
165#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0f
166#define PRINTER_NOTIFY_FIELD_START_TIME 0x10
167#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
168#define PRINTER_NOTIFY_FIELD_STATUS 0x12
169#define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
170#define PRINTER_NOTIFY_FIELD_CJOBS 0x14
171#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
172#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
173#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
174#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
175#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
176
177#define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
178#define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
179#define JOB_NOTIFY_FIELD_PORT_NAME 0x02
180#define JOB_NOTIFY_FIELD_USER_NAME 0x03
181#define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
182#define JOB_NOTIFY_FIELD_DATATYPE 0x05
183#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
184#define JOB_NOTIFY_FIELD_PARAMETERS 0x07
185#define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
186#define JOB_NOTIFY_FIELD_DEVMODE 0x09
187#define JOB_NOTIFY_FIELD_STATUS 0x0a
188#define JOB_NOTIFY_FIELD_STATUS_STRING 0x0b
189#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
190#define JOB_NOTIFY_FIELD_DOCUMENT 0x0d
191#define JOB_NOTIFY_FIELD_PRIORITY 0x0e
192#define JOB_NOTIFY_FIELD_POSITION 0x0f
193#define JOB_NOTIFY_FIELD_SUBMITTED 0x10
194#define JOB_NOTIFY_FIELD_START_TIME 0x11
195#define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
196#define JOB_NOTIFY_FIELD_TIME 0x13
197#define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
198#define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
199#define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
200#define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
201
202#define PRINTER_NOTIFY_OPTIONS_REFRESH 1
203#define PRINTER_NOTIFY_INFO_DISCARDED 1
204
205#define PRINTER_CHANGE_ADD_PRINTER 0x00000001
206#define PRINTER_CHANGE_SET_PRINTER 0x00000002
207#define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
208#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008
209#define PRINTER_CHANGE_PRINTER 0x000000ff
210#define PRINTER_CHANGE_ADD_JOB 0x00000100
211#define PRINTER_CHANGE_SET_JOB 0x00000200
212#define PRINTER_CHANGE_DELETE_JOB 0x00000400
213#define PRINTER_CHANGE_WRITE_JOB 0x00000800
214#define PRINTER_CHANGE_JOB 0x0000ff00
215#define PRINTER_CHANGE_ADD_FORM 0x00010000
216#define PRINTER_CHANGE_SET_FORM 0x00020000
217#define PRINTER_CHANGE_DELETE_FORM 0x00040000
218#define PRINTER_CHANGE_FORM 0x00070000
219#define PRINTER_CHANGE_ADD_PORT 0x00100000
220#define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
221#define PRINTER_CHANGE_DELETE_PORT 0x00400000
222#define PRINTER_CHANGE_PORT 0x00700000
223#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
224#define PRINTER_CHANGE_DELETE_PRINTER_PROCESSOR 0x04000000
225#define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
226#define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
227#define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
228#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
229#define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
230#define PRINTER_CHANGE_TIMEOUT 0x80000000
231#define PRINTER_CHANGE_ALL 0x7777ffff
232
233#define PRINTER_ERROR_INFORMATION 0x80000000
234#define PRINTER_ERROR_WARNING 0x40000000
235#define PRINTER_ERROR_SEVERE 0x20000000
236
237#define PRINTER_ERROR_OUTODPAPER 0x00000001
238#define PRINTER_ERROR_JAM 0x00000002
239#define PRINTER_ERROR_OUTOFTONER 0x00000004
240
Alexandre Julliard59545601999-02-10 06:52:57 +0000241/* TYPES */
Alexandre Julliarda3960291999-02-26 11:11:13 +0000242typedef struct _PRINTER_DEFAULTSA {
Alexandre Julliard59545601999-02-10 06:52:57 +0000243 LPSTR pDatatype;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000244 LPDEVMODEA pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000245 ACCESS_MASK DesiredAccess;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000246} PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
Alexandre Julliard59545601999-02-10 06:52:57 +0000247
Alexandre Julliarda3960291999-02-26 11:11:13 +0000248typedef struct _PRINTER_DEFAULTSW {
Alexandre Julliard59545601999-02-10 06:52:57 +0000249 LPWSTR pDatatype;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000250 LPDEVMODEW pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000251 ACCESS_MASK DesiredAccess;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000252} PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
Alexandre Julliard59545601999-02-10 06:52:57 +0000253
254DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
255DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
256
Alexandre Julliarda3960291999-02-26 11:11:13 +0000257typedef struct _DRIVER_INFO_1A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000258 LPSTR pName;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000259} DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000260
Alexandre Julliarda3960291999-02-26 11:11:13 +0000261typedef struct _DRIVER_INFO_1W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000262 LPWSTR pName;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000263} DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000264
265DECL_WINELIB_TYPE_AW(DRIVER_INFO_1)
266DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1)
267DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1)
268
Alexandre Julliarda3960291999-02-26 11:11:13 +0000269typedef struct _DRIVER_INFO_2A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000270 DWORD cVersion;
271 LPSTR pName;
272 LPSTR pEnvironment;
273 LPSTR pDriverPath;
274 LPSTR pDataFile;
275 LPSTR pConfigFile;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000276} DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000277
Alexandre Julliarda3960291999-02-26 11:11:13 +0000278typedef struct _DRIVER_INFO_2W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000279 DWORD cVersion;
280 LPWSTR pName;
281 LPWSTR pEnvironment;
282 LPWSTR pDriverPath;
283 LPWSTR pDataFile;
284 LPWSTR pConfigFile;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000285} DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000286
287DECL_WINELIB_TYPE_AW(DRIVER_INFO_2)
288DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2)
289DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2)
290
Huw D M Daviesee2d9d51999-05-22 18:53:56 +0000291typedef struct _DRIVER_INFO_3A {
292 DWORD cVersion;
293 LPSTR pName;
294 LPSTR pEnvironment;
295 LPSTR pDriverPath;
296 LPSTR pDataFile;
297 LPSTR pConfigFile;
298 LPSTR pHelpFile;
299 LPSTR pDependentFiles;
300 LPSTR pMonitorName;
301 LPSTR pDefaultDataType;
302} DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
303
304typedef struct _DRIVER_INFO_3W {
305 DWORD cVersion;
306 LPWSTR pName;
307 LPWSTR pEnvironment;
308 LPWSTR pDriverPath;
309 LPWSTR pDataFile;
310 LPWSTR pConfigFile;
311 LPWSTR pHelpFile;
312 LPWSTR pDependentFiles;
313 LPWSTR pMonitorName;
314 LPWSTR pDefaultDataType;
315} DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
316
317DECL_WINELIB_TYPE_AW(DRIVER_INFO_3)
318DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3)
319DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3)
320
Alexandre Julliarda3960291999-02-26 11:11:13 +0000321typedef struct _PRINTER_INFO_1A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000322 DWORD Flags;
323 LPSTR pDescription;
324 LPSTR pName;
325 LPSTR pComment;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000326} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000327
Alexandre Julliarda3960291999-02-26 11:11:13 +0000328typedef struct _PRINTER_INFO_1W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000329 DWORD Flags;
330 LPWSTR pDescription;
331 LPWSTR pName;
332 LPWSTR pComment;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000333} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000334
335DECL_WINELIB_TYPE_AW(PRINTER_INFO_1)
336DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1)
337DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1)
338
339/* FIXME: winspool.h declares some structure members with the name Status.
340 * unfortunatly <X11/ICE/ICElib.h> #defines Status to the type 'int'
341 * therfore the following hack */
342#ifndef Status
343
Alexandre Julliarda3960291999-02-26 11:11:13 +0000344typedef struct _PRINTER_INFO_2A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000345 LPSTR pServerName;
346 LPSTR pPrinterName;
347 LPSTR pShareName;
348 LPSTR pPortName;
349 LPSTR pDriverName;
350 LPSTR pComment;
351 LPSTR pLocation;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000352 LPDEVMODEA pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000353 LPSTR pSepFile;
354 LPSTR pPrintProcessor;
355 LPSTR pDatatype;
356 LPSTR pParameters;
357 PSECURITY_DESCRIPTOR pSecurityDescriptor;
358 DWORD Attributes;
359 DWORD Priority;
360 DWORD DefaultPriority;
361 DWORD StartTime;
362 DWORD UntilTime;
363 DWORD Status;
364 DWORD cJobs;
365 DWORD AveragePPM;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000366} PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000367
Alexandre Julliarda3960291999-02-26 11:11:13 +0000368typedef struct _PRINTER_INFO_2W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000369 LPWSTR pServerName;
370 LPWSTR pPrinterName;
371 LPWSTR pShareName;
372 LPWSTR pPortName;
373 LPWSTR pDriverName;
374 LPWSTR pComment;
375 LPWSTR pLocation;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000376 LPDEVMODEW pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000377 LPWSTR pSepFile;
378 LPWSTR pPrintProcessor;
379 LPWSTR pDatatype;
380 LPWSTR pParameters;
381 PSECURITY_DESCRIPTOR pSecurityDescriptor;
382 DWORD Attributes;
383 DWORD Priority;
384 DWORD DefaultPriority;
385 DWORD StartTime;
386 DWORD UntilTime;
387 DWORD Status;
388 DWORD cJobs;
389 DWORD AveragePPM;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000390} PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000391
392DECL_WINELIB_TYPE_AW(PRINTER_INFO_2)
393DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2)
394DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2)
395
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000396typedef struct _PRINTER_INFO_3 {
397 PSECURITY_DESCRIPTOR pSecurityDescriptor;
398} PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
399
Klaas van Gendfdedc341999-03-22 12:40:24 +0000400typedef struct _PRINTER_INFO_4A {
401 LPSTR pPrinterName;
402 LPSTR pServerName;
403 DWORD Attributes;
404} PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
405
406typedef struct _PRINTER_INFO_4W {
407 LPWSTR pPrinterName;
408 LPWSTR pServerName;
409 DWORD Attributes;
410} PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
411
412DECL_WINELIB_TYPE_AW(PRINTER_INFO_4)
413DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4)
414DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4)
415
416typedef struct _PRINTER_INFO_5A {
417 LPSTR pPrinterName;
418 LPSTR pPortName;
419 DWORD Attributes;
Huw D M Davies7aaabc32000-05-25 23:02:46 +0000420 DWORD DeviceNotSelectedTimeout;
Klaas van Gendfdedc341999-03-22 12:40:24 +0000421 DWORD TransmissionRetryTimeout;
422} PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
423
424typedef struct _PRINTER_INFO_5W {
425 LPWSTR pPrinterName;
426 LPWSTR pPortName;
427 DWORD Attributes;
Huw D M Davies7aaabc32000-05-25 23:02:46 +0000428 DWORD DeviceNotSelectedTimeout;
Klaas van Gendfdedc341999-03-22 12:40:24 +0000429 DWORD TransmissionRetryTimeout;
430} PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
431
432DECL_WINELIB_TYPE_AW(PRINTER_INFO_5)
433DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5)
434DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5)
435
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000436typedef struct _PRINTER_INFO_6 {
437 DWORD dwStatus;
438} PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
439
Huw D M Daviesbb140561999-07-23 19:23:49 +0000440typedef struct _JOB_INFO_1A {
441 DWORD JobID;
442 LPSTR pPrinterName;
443 LPSTR pMachineName;
444 LPSTR pUserName;
445 LPSTR pDocument;
446 LPSTR pDatatype;
447 LPSTR pStatus;
448 DWORD Status;
449 DWORD Priority;
450 DWORD Position;
451 DWORD TotalPages;
452 DWORD PagesPrinted;
453 SYSTEMTIME Submitted;
454} JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
455
456typedef struct _JOB_INFO_1W {
457 DWORD JobID;
458 LPWSTR pPrinterName;
459 LPWSTR pMachineName;
460 LPWSTR pUserName;
461 LPWSTR pDocument;
462 LPWSTR pDatatype;
463 LPWSTR pStatus;
464 DWORD Status;
465 DWORD Priority;
466 DWORD Position;
467 DWORD TotalPages;
468 DWORD PagesPrinted;
469 SYSTEMTIME Submitted;
470} JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
471
472DECL_WINELIB_TYPE_AW(JOB_INFO_1)
473DECL_WINELIB_TYPE_AW(PJOB_INFO_1)
474DECL_WINELIB_TYPE_AW(LPJOB_INFO_1)
475
476typedef struct _JOB_INFO_2A {
477 DWORD JobID;
478 LPSTR pPrinterName;
479 LPSTR pMachineName;
480 LPSTR pUserName;
481 LPSTR pDocument;
482 LPSTR pNotifyName;
483 LPSTR pDatatype;
484 LPSTR pPrintProcessor;
485 LPSTR pParameters;
486 LPSTR pDriverName;
487 LPDEVMODEA pDevMode;
488 LPSTR pStatus;
489 PSECURITY_DESCRIPTOR pSecurityDescriptor;
490 DWORD Status;
491 DWORD Priority;
492 DWORD Position;
493 DWORD StartTime;
494 DWORD UntilTime;
495 DWORD TotalPages;
496 DWORD Size;
497 SYSTEMTIME Submitted;
498 DWORD Time;
499 DWORD PagesPrinted;
500} JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
501
502typedef struct _JOB_INFO_2W {
503 DWORD JobID;
504 LPWSTR pPrinterName;
505 LPWSTR pMachineName;
506 LPWSTR pUserName;
507 LPWSTR pDocument;
508 LPWSTR pNotifyName;
509 LPWSTR pDatatype;
510 LPWSTR pPrintProcessor;
511 LPWSTR pParameters;
512 LPWSTR pDriverName;
513 LPDEVMODEW pDevMode;
514 LPWSTR pStatus;
515 PSECURITY_DESCRIPTOR pSecurityDescriptor;
516 DWORD Status;
517 DWORD Priority;
518 DWORD Position;
519 DWORD StartTime;
520 DWORD UntilTime;
521 DWORD TotalPages;
522 DWORD Size;
523 SYSTEMTIME Submitted;
524 DWORD Time;
525 DWORD PagesPrinted;
526} JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
527
528DECL_WINELIB_TYPE_AW(JOB_INFO_2)
529DECL_WINELIB_TYPE_AW(PJOB_INFO_2)
530DECL_WINELIB_TYPE_AW(LPJOB_INFO_2)
531
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000532typedef struct _JOB_INFO_3 {
533 DWORD JobID;
534 DWORD NextJobID;
535 DWORD Reserved;
536} JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
537
538typedef struct _ADDJOB_INFO_1A {
539 LPSTR Path;
540 DWORD JobID;
541} ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
542
543typedef struct _ADDJOB_INFO_1W {
544 LPWSTR Path;
545 DWORD JobID;
546} ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
547
548DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1)
549DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1)
550DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1)
551
552typedef struct _DOC_INFO_1A {
553 LPSTR pDocName;
554 LPSTR pOutputFile;
555 LPSTR pDatatype;
556} DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
557
558typedef struct _DOC_INFO_1W {
559 LPWSTR pDocName;
560 LPWSTR pOutputFile;
561 LPWSTR pDatatype;
562} DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
563
564DECL_WINELIB_TYPE_AW(DOC_INFO_1)
565DECL_WINELIB_TYPE_AW(PDOC_INFO_1)
566DECL_WINELIB_TYPE_AW(LPDOC_INFO_1)
567
568typedef struct _DOC_INFO_2A {
569 LPSTR pDocName;
570 LPSTR pOutputFile;
571 LPSTR pDatatype;
572 DWORD dwMode;
573 DWORD JobID;
574} DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
575
576typedef struct _DOC_INFO_2W {
577 LPWSTR pDocName;
578 LPWSTR pOutputFile;
579 LPWSTR pDatatype;
580 DWORD dwMode;
581 DWORD JobID;
582} DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
583
584DECL_WINELIB_TYPE_AW(DOC_INFO_2)
585DECL_WINELIB_TYPE_AW(PDOC_INFO_2)
586DECL_WINELIB_TYPE_AW(LPDOC_INFO_2)
587
588typedef struct _FORM_INFO_1A {
589 DWORD Flags;
590 LPSTR pName;
591 SIZEL Size;
592 RECTL ImageableArea;
593} FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
594
595typedef struct _FORM_INFO_1W {
596 DWORD Flags;
597 LPWSTR pName;
598 SIZEL Size;
599 RECTL ImageableArea;
600} FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
601
602DECL_WINELIB_TYPE_AW(FORM_INFO_1)
603DECL_WINELIB_TYPE_AW(PFORM_INFO_1)
604DECL_WINELIB_TYPE_AW(LPFORM_INFO_1)
605
606typedef struct _PRINTPROCESSOR_INFO_1A {
607 LPSTR pName;
Patrik Stridvallfeb94cb1999-10-24 21:48:50 +0000608} PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000609 *LPPRINTPROCESSOR_INFO_1A;
610
611typedef struct _PRINTPROCESSOR_INFO_1W {
612 LPWSTR pName;
Patrik Stridvallfeb94cb1999-10-24 21:48:50 +0000613} PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000614 *LPPRINTPROCESSOR_INFO_1W;
615
616DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1)
617DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1)
618DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1)
619
620typedef struct _PORT_INFO_1A {
621 LPSTR pName;
622} PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
623
624typedef struct _PORT_INFO_1W {
625 LPWSTR pName;
626} PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
627
628DECL_WINELIB_TYPE_AW(PORT_INFO_1)
629DECL_WINELIB_TYPE_AW(PPORT_INFO_1)
630DECL_WINELIB_TYPE_AW(LPPORT_INFO_1)
631
632typedef struct _PORT_INFO_2A {
633 LPSTR pPortName;
634 LPSTR pMonitorName;
635 LPSTR pDescription;
636 DWORD fPortType;
637 DWORD Reserved;
638} PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
639
640typedef struct _PORT_INFO_2W {
641 LPWSTR pPortName;
642 LPWSTR pMonitorName;
643 LPWSTR pDescription;
644 DWORD fPortType;
645 DWORD Reserved;
646} PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
647
648DECL_WINELIB_TYPE_AW(PORT_INFO_2)
649DECL_WINELIB_TYPE_AW(PPORT_INFO_2)
650DECL_WINELIB_TYPE_AW(LPPORT_INFO_2)
651
652typedef struct _PORT_INFO_3A {
653 DWORD dwStatus;
654 LPSTR pszStatus;
655 DWORD dwSeverity;
656} PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
657
658typedef struct _PORT_INFO_3W {
659 DWORD dwStatus;
660 LPWSTR pszStatus;
661 DWORD dwSeverity;
662} PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
663
664DECL_WINELIB_TYPE_AW(PORT_INFO_3)
665DECL_WINELIB_TYPE_AW(PPORT_INFO_3)
666DECL_WINELIB_TYPE_AW(LPPORT_INFO_3)
667
668typedef struct _MONITOR_INFO_1A {
669 LPSTR pName;
670} MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
671
672typedef struct _MONITOR_INFO_1W {
673 LPWSTR pName;
674} MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
675
676DECL_WINELIB_TYPE_AW(MONITOR_INFO_1)
677DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1)
678DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1)
679
Ove Kaaven7200dc82000-07-23 13:38:08 +0000680#endif /* Status */
681
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000682
683typedef struct _MONITOR_INFO_2A {
684 LPSTR pName;
685 LPSTR pEnvironment;
686 LPSTR pDLLName;
687} MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
688
689typedef struct _MONITOR_INFO_2W {
690 LPWSTR pName;
691 LPWSTR pEnvironment;
692 LPWSTR pDLLName;
693} MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
694
695DECL_WINELIB_TYPE_AW(MONITOR_INFO_2)
696DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2)
697DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2)
698
699typedef struct _DATATYPES_INFO_1A {
700 LPSTR pName;
701} DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
702
703typedef struct _DATATYPES_INFO_1W {
704 LPWSTR pName;
705} DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
706
707DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1)
708DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1)
709DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1)
710
711typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
712 WORD Type;
713 WORD Reserved0;
714 DWORD Reserved1;
715 DWORD Reserved2;
716 DWORD Count;
717 PWORD pFields;
718} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE,
719*LPPRINTER_NOTIFY_OPTIONS_TYPE;
720
721typedef struct _PRINTER_NOTIFY_OPTIONS {
722 DWORD Version;
723 DWORD Flags;
724 DWORD Count;
725 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
726} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
727
728typedef struct _PRINTER_NOTIFY_INFO_DATA {
729 WORD Type;
730 WORD Field;
731 DWORD Reserved;
732 DWORD Id;
733 union {
734 DWORD adwData[2];
735 struct {
736 DWORD cbBuf;
737 LPVOID pBuf;
738 } Data;
739 } NotifyData;
740} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA,
741*LPPRINTER_NOTIFY_INFO_DATA;
742
743typedef struct _PRINTER_NOTIFY_INFO {
744 DWORD Version;
745 DWORD Flags;
746 DWORD Count;
747 PRINTER_NOTIFY_INFO_DATA aData[1];
748} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
749
750typedef struct _PROVIDOR_INFO_1A {
751 LPSTR pName;
752 LPSTR pEnvironment;
753 LPSTR pDLLName;
754} PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
755
756typedef struct _PROVIDOR_INFO_1W {
757 LPWSTR pName;
758 LPWSTR pEnvironment;
759 LPWSTR pDLLName;
760} PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
761
762DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1)
763DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1)
764DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1)
Huw D M Daviesbb140561999-07-23 19:23:49 +0000765
Ian Pilcherccfe6e92001-02-21 04:00:40 +0000766typedef struct _PRINTER_ENUM_VALUESA {
767 LPSTR pValueName;
768 DWORD cbValueName;
769 DWORD dwType;
770 LPBYTE pData;
771 DWORD cbData;
772} PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA;
773
774typedef struct _PRINTER_ENUM_VALUESW {
775 LPWSTR pValueName;
776 DWORD cbValueName;
777 DWORD dwType;
778 LPBYTE pData;
779 DWORD cbData;
780} PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW;
781
782DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES)
783DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES)
784
Alexandre Julliard59545601999-02-10 06:52:57 +0000785/* DECLARATIONS */
Huw D M Daviese39b6761999-05-17 16:20:51 +0000786INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
787 LPSTR pOutput, LPDEVMODEA pDevMode);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000788INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort,
Huw D M Daviese39b6761999-05-17 16:20:51 +0000789 WORD fwCapability, LPWSTR pOutput,
790 const DEVMODEW *pDevMode);
Alexandre Julliard59545601999-02-10 06:52:57 +0000791
792#define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities)
793
Alexandre Julliarda3960291999-02-26 11:11:13 +0000794LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,
795 LPSTR pDeviceName, LPDEVMODEA pDevModeOutput,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000796 LPDEVMODEA pDevModeInput,DWORD fMode );
Alexandre Julliarda3960291999-02-26 11:11:13 +0000797LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000798 LPWSTR pDeviceName,
799 LPDEVMODEW pDevModeOutput,
800 LPDEVMODEW pDevModeInput, DWORD fMode);
Alexandre Julliard59545601999-02-10 06:52:57 +0000801
802#define DocumentProperties WINELIB_NAME_AW(DocumentProperties)
803
Alexandre Julliarda3960291999-02-26 11:11:13 +0000804BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter,
805 LPPRINTER_DEFAULTSA pDefault);
806BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter,
807 LPPRINTER_DEFAULTSW pDefault);
Alexandre Julliard59545601999-02-10 06:52:57 +0000808
809#define OpenPrinter WINELIB_NAME_AW(OpenPrinter)
810
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000811BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault);
812BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
813#define ResetPrinter WINELIB_NAME_AW(ResetPrinter)
814
Alexandre Julliarda3960291999-02-26 11:11:13 +0000815BOOL WINAPI ClosePrinter (HANDLE phPrinter);
Alexandre Julliard59545601999-02-10 06:52:57 +0000816
Huw D M Daviesbb140561999-07-23 19:23:49 +0000817BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
818 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
819 LPDWORD pcReturned);
820BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
821 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
822 LPDWORD pcReturned);
823#define EnumJobs WINELIB_NAME_AW(EnumJobs)
824
Klaas van Gendfdedc341999-03-22 12:40:24 +0000825BOOL WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName,
826 DWORD dwLevel, LPBYTE lpbPrinters,
827 DWORD cbBuf, LPDWORD lpdwNeeded,
828 LPDWORD lpdwReturned);
829BOOL WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName,
830 DWORD dwLevel, LPBYTE lpbPrinters,
831 DWORD cbBuf, LPDWORD lpdwNeeded,
832 LPDWORD lpdwReturned);
833#define EnumPrinters WINELIB_NAME_AW(EnumPrinters)
834
Klaas van Gendf66bf561999-04-11 14:56:45 +0000835BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter);
Alexandre Julliard59545601999-02-10 06:52:57 +0000836
Huw D M Daviesee2d9d51999-05-22 18:53:56 +0000837BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD);
838BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
839#define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory)
840
Huw D M Davies450270b1999-07-10 11:58:50 +0000841BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment,
842 DWORD Level, LPBYTE pDriverInfo,
843 DWORD cbBuf, LPDWORD pcbNeeded);
844BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment,
845 DWORD Level, LPBYTE pDriverInfo,
846 DWORD cbBuf, LPDWORD pcbNeeded);
847#define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver)
848
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000849BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
850 DWORD Command);
851BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
852 DWORD Command);
853#define SetJob WINELIB_NAME_AW(SetJob)
854
855BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
856 DWORD cbBuf, LPDWORD pcbNeeded);
857BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
858 DWORD cbBuf, LPDWORD pcbNeeded);
859#define GetJob WINELIB_NAME_AW(GetJob)
860
861HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter);
862HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
863#define AddPrinter WINELIB_NAME_AW(AddPrinter)
864
865BOOL WINAPI DeletePrinter(HANDLE hPrinter);
866
867BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
868 DWORD Command);
869BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
870 DWORD Command);
871#define SetPrinter WINELIB_NAME_AW(SetPrinter)
872
873BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
874 DWORD cbBuf, LPDWORD pcbNeeded);
875BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
876 DWORD cbBuf, LPDWORD pcbNeeded);
877#define GetPrinter WINELIB_NAME_AW(GetPrinter)
878
879BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo);
880BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
881#define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver)
882
883BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level,
884 LPBYTE pDriverInfo, DWORD cbBuf,
885 LPDWORD pcbNeeded, LPDWORD pcbReturned);
886BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level,
887 LPBYTE pDriverInfo, DWORD cbBuf,
888 LPDWORD pcbNeeded, LPDWORD pcbReturned);
889#define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers)
890
891BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment,
892 LPSTR pDriverName);
893BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment,
894 LPWSTR pDriverName);
895#define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver)
896
897BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment,
898 LPSTR pPathName, LPSTR pPrintProcessorName);
899BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
900 LPWSTR pPathName, LPWSTR pPrintProcessorName);
901#define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor)
902
903BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment,
904 DWORD Level, LPBYTE pPrintProcessorInfo,
905 DWORD cbBuf, LPDWORD pcbNeeded,
906 LPDWORD pcbReturned);
907BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment,
908 DWORD Level, LPBYTE pPrintProcessorInfo,
909 DWORD cbBuf, LPDWORD pcbNeeded,
910 LPDWORD pcbReturned);
911#define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors)
912
913BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment,
914 DWORD Level,
915 LPBYTE pPrintProcessorInfo,
916 DWORD cbBuf, LPDWORD pcbNeeded);
917
918BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment,
919 DWORD Level,
920 LPBYTE pPrintProcessorInfo,
921 DWORD cbBuf, LPDWORD pcbNeeded);
922#define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory)
923
924BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,
925 LPSTR pPrintProcessorName,
926 DWORD Level, LPBYTE pDatatypes,
927 DWORD cbBuf, LPDWORD pcbNeeded,
928 LPDWORD pcbReturned);
929BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,
930 LPWSTR pPrintProcessorName,
931 DWORD Level, LPBYTE pDatatypes,
932 DWORD cbBuf, LPDWORD pcbNeeded,
933 LPDWORD pcbReturned);
934#define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes)
935
936BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment,
937 LPSTR pPrintProcessorName);
938BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
939 LPWSTR pPrintProcessorName);
940#define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor)
941
942DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
943DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
944#define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter)
945
946BOOL WINAPI StartPagePrinter(HANDLE hPrinter);
947BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
948 LPDWORD pcWritten);
949BOOL WINAPI EndPagePrinter(HANDLE hPrinter);
950BOOL WINAPI AbortPrinter(HANDLE hPrinter);
951BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
952 LPDWORD pNoBytesRead);
953BOOL WINAPI EndDocPrinter(HANDLE hPrinter);
954
955BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
956 LPDWORD pcbNeeded);
957BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
958 LPDWORD pcbNeeded);
959#define AddJob WINELIB_NAME_AW(AddJob)
960
961BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID);
962
963LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter,
964 LPSTR pDeviceName,
965 PDEVMODEA pDevModeOutput,
966 PDEVMODEA pDevModeInput);
967LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
968 LPWSTR pDeviceName,
969 PDEVMODEW pDevModeOutput,
970 PDEVMODEW pDevModeInput);
971#define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties)
972
973DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType,
974 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
975DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType,
976 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
977#define GetPrinterData WINELIB_NAME_AW(GetPrinterData)
978
Huw D M Daviesd2b850e2001-02-12 01:26:47 +0000979DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPSTR pKeyName,
980 LPSTR pValueName, LPDWORD pType,
981 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
982DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPWSTR pKeyName,
983 LPWSTR pValueName, LPDWORD pType,
984 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
985#define GetPrinterDataEx WINELIB_NAME_AW(GetPrinterDataEx)
986
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000987DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type,
988 LPBYTE pData, DWORD cbData);
989DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type,
990 LPBYTE pData, DWORD cbData);
991#define SetPrinterData WINELIB_NAME_AW(SetPrinterData)
992
Huw D M Daviesd2b850e2001-02-12 01:26:47 +0000993DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPSTR pKeyName,
994 LPSTR pValueName, DWORD Type,
995 LPBYTE pData, DWORD cbData);
996DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPWSTR pKeyName,
997 LPWSTR pValueName, DWORD Type,
998 LPBYTE pData, DWORD cbData);
999#define SetPrinterDataEx WINELIB_NAME_AW(SetPrinterDataEx)
1000
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001001DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags);
1002HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,
1003 DWORD fdwFlags,
1004 DWORD fdwOptions,
1005 LPVOID pPrinterNotifyOptions);
1006BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,
1007 PDWORD pdwChange,
1008 LPVOID pvReserved,
1009 LPVOID *ppPrinterNotifyInfo);
Francois Gouget091dc852000-06-11 20:06:12 +00001010BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001011BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
1012
1013DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd,
1014 LPSTR pText, LPSTR pCaption, DWORD dwType);
1015DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd,
1016 LPWSTR pText, LPWSTR pCaption, DWORD dwType);
1017#define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox)
1018
1019BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1020BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1021#define AddForm WINELIB_NAME_AW(AddForm)
1022
1023BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName);
1024BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName);
1025#define DeleteForm WINELIB_NAME_AW(DeleteForm)
1026
1027BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1028 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1029BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1030 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1031#define GetForm WINELIB_NAME_AW(GetForm)
1032
1033BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1034 LPBYTE pForm);
1035BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1036 LPBYTE pForm);
1037#define SetForm WINELIB_NAME_AW(SetForm)
1038
1039BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1040 LPDWORD pcbNeeded, LPDWORD pcReturned);
1041BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1042 LPDWORD pcbNeeded, LPDWORD pcReturned);
1043#define EnumForms WINELIB_NAME_AW(EnumForms)
1044
1045BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors,
1046 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1047BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
1048 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1049#define EnumMonitors WINELIB_NAME_AW(EnumMonitors)
1050
1051BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors);
1052BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
1053#define AddMonitor WINELIB_NAME_AW(AddMonitor)
1054
1055BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment,
1056 LPSTR pMonitorName);
1057BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment,
1058 LPWSTR pMonitorName);
1059#define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor)
1060
1061BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts,
1062 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1063BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts,
1064 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1065#define EnumPorts WINELIB_NAME_AW(EnumPorts)
1066
1067BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName);
1068BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
1069#define AddPort WINELIB_NAME_AW(AddPort)
1070
1071BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1072BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1073#define ConfigurePort WINELIB_NAME_AW(ConfigurePort)
1074
1075BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1076BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1077#define DeletePort WINELIB_NAME_AW(DeletePort)
1078
1079BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel,
1080 LPBYTE pPortInfo);
1081BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
1082 LPBYTE pPortInfo);
1083#define SetPort WINELIB_NAME_AW(SetPort)
1084
1085BOOL WINAPI AddPrinterConnectionA(LPSTR pName);
1086BOOL WINAPI AddPrinterConnectionW(LPWSTR pName);
1087#define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection)
1088
1089BOOL WINAPI DeletePrinterConnectionA(LPSTR pName);
1090BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName);
1091#define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection)
1092
1093HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags);
1094
1095BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1096BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1097#define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor)
1098
1099BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment,
1100 LPSTR pPrintProvidorName);
1101BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment,
1102 LPWSTR pPrintProvidorName);
1103#define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor)
1104
Ian Pilcherccfe6e92001-02-21 04:00:40 +00001105DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1106 LPBYTE pEnumValues, DWORD cbEnumValues,
1107 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1108DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1109 LPBYTE pEnumValues, DWORD cbEnumValues,
1110 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1111#define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx)
1112
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001113
1114
Alexandre Julliard59545601999-02-10 06:52:57 +00001115#ifdef __cplusplus
Patrik Stridvalla9a671d1999-04-25 19:01:52 +00001116} /* extern "C" */
Alexandre Julliard59545601999-02-10 06:52:57 +00001117#endif
1118
1119#endif /* __WINE_WINSPOOL_H */
1120
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001121
1122
1123
1124
1125
1126