blob: 9501d2d3abc3128f90f7f7f807e81e53079768f0 [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
Jonathan Ernst360a3f92006-05-18 14:49:52 +020020 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, 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
Detlef Riekenbergc30ac072006-02-01 12:31:55 +010031#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
Alexandre Julliard59545601999-02-10 06:52:57 +000038#define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080
39#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100
40#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200
Detlef Riekenbergc30ac072006-02-01 12:31:55 +010041#define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x00000400
42#define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x00000800
43#define PRINTER_ATTRIBUTE_RAW_ONLY 0x00001000
44#define PRINTER_ATTRIBUTE_PUBLISHED 0x00002000
Alexandre Julliard59545601999-02-10 06:52:57 +000045
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
Detlef Riekenbergc30ac072006-02-01 12:31:55 +010072#define PRINTER_ENUM_HIDE 0x01000000
Alexandre Julliard59545601999-02-10 06:52:57 +000073
Klaas van Gend43ac3d61999-07-30 18:10:21 +000074
75/* various printer statuses */
76#define PRINTER_STATUS_PAUSED 0x00000001
77#define PRINTER_STATUS_ERROR 0x00000002
78#define PRINTER_STATUS_PENDING_DELETION 0x00000004
79#define PRINTER_STATUS_PAPER_JAM 0x00000008
80#define PRINTER_STATUS_PAPER_OUT 0x00000010
81#define PRINTER_STATUS_MANUAL_FEED 0x00000020
82#define PRINTER_STATUS_PAPER_PROBLEM 0x00000040
83#define PRINTER_STATUS_OFFLINE 0x00000080
84#define PRINTER_STATUS_IO_ACTIVE 0x00000100
85#define PRINTER_STATUS_BUSY 0x00000200
86#define PRINTER_STATUS_PRINTING 0x00000400
87#define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800
88#define PRINTER_STATUS_NOT_AVAILABLE 0x00001000
89#define PRINTER_STATUS_WAITING 0x00002000
90#define PRINTER_STATUS_PROCESSING 0x00004000
91#define PRINTER_STATUS_INITIALIZING 0x00008000
92#define PRINTER_STATUS_WARMING_UP 0x00010000
93#define PRINTER_STATUS_TONER_LOW 0x00020000
94#define PRINTER_STATUS_NO_TONER 0x00040000
95#define PRINTER_STATUS_PAGE_PUNT 0x00080000
96#define PRINTER_STATUS_USER_INTERVENTION 0x00100000
97#define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000
98#define PRINTER_STATUS_DOOR_OPEN 0x00400000
99#define PRINTER_STATUS_SERVER_UNKNOWN 0x00800000
100#define PRINTER_STATUS_POWER_SAVE 0x01000000
101
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000102#define NO_PRIORITY 0
103#define MAX_PRIORITY 99
104#define MIN_PRIORITY 1
105#define DEF_PRIORITY 1
106
107#define JOB_CONTROL_PAUSE 1
108#define JOB_CONTROL_RESUME 2
109#define JOB_CONTROL_CANCEL 3
110#define JOB_CONTROL_RESTART 4
111#define JOB_CONTROL_DELETE 5
112#define JOB_CONTROL_SENT_TO_PRINTER 6
113#define JOB_CONTROL_LAST_PAGE_EJECTED 7
114
115#define JOB_STATUS_PAUSED 0x0001
116#define JOB_STATUS_ERROR 0x0002
117#define JOB_STATUS_DELETING 0x0004
118#define JOB_STATUS_SPOOLING 0x0008
119#define JOB_STATUS_PRINTING 0x0010
120#define JOB_STATUS_OFFLINE 0x0020
121#define JOB_STATUS_PAPEROUT 0x0040
122#define JOB_STATUS_PRINTED 0x0080
123#define JOB_STATUS_DELETED 0x0100
124#define JOB_STATUS_BLOCKED_DEVQ 0x0200
125#define JOB_STATUS_USER_INTERVENTION 0x0400
126
127#define JOB_POSITION_UNSPECIFIED 1
128
129#define DI_CHANNEL 1
130#define DI_READ_SPOOL_JOB 3
131
132#define FORM_USER 0
133#define FORM_BUILTIN 1
134#define FORM_PRINTER 2
135
136#define PORT_TYPE_WRITE 1
137#define PORT_TYPE_READ 2
138#define PORT_TYPE_REDIRECTED 4
139#define PORT_TYPE_NET_ATTACHED 8
140
141#define PORT_STATUS_TYPE_ERROR 1
142#define PORT_STATUS_TYPE_WARNING 2
143#define PORT_STATUS_TYPE_INFO 3
144
145#define PORT_STATUS_OFFLINE 1
146#define PORT_STATUS_PAPER_JAM 2
147#define PORT_STATUS_PAPER_OUT 3
148#define PORT_STATUS_OUTPUT_BIN_FULL 4
149#define PORT_STATUS_PAPER_PROBLEM 5
150#define PORT_STATUS_NO_TONER 6
151#define PORT_STATUS_DOOR_OPEN 7
152#define PORT_STATUS_USER_INTERVENTION 8
153#define PORT_STATUS_OUT_OF_MEMORY 9
154#define PORT_STATUS_TONER_LOW 10
155#define PORT_STATUS_WARMING_UP 11
156#define PORT_STATUS_POWER_SAVE 12
157
158#define PRINTER_NOTIFY_TYPE 0
159#define JOB_NOTIFY_TYPE 1
160
161#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
162#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
163#define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
164#define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
165#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
166#define PRINTER_NOTIFY_FIELD_COMMENT 0x05
167#define PRINTER_NOTIFY_FIELD_LOCATION 0x06
168#define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
169#define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
170#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
171#define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0a
172#define PRINTER_NOTIFY_FIELD_DATATYPE 0x0b
173#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
174#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0d
175#define PRINTER_NOTIFY_FIELD_PRIORITY 0x0e
176#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0f
177#define PRINTER_NOTIFY_FIELD_START_TIME 0x10
178#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
179#define PRINTER_NOTIFY_FIELD_STATUS 0x12
180#define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
181#define PRINTER_NOTIFY_FIELD_CJOBS 0x14
182#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
183#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
184#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
185#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
186#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
187
188#define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
189#define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
190#define JOB_NOTIFY_FIELD_PORT_NAME 0x02
191#define JOB_NOTIFY_FIELD_USER_NAME 0x03
192#define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
193#define JOB_NOTIFY_FIELD_DATATYPE 0x05
194#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
195#define JOB_NOTIFY_FIELD_PARAMETERS 0x07
196#define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
197#define JOB_NOTIFY_FIELD_DEVMODE 0x09
198#define JOB_NOTIFY_FIELD_STATUS 0x0a
199#define JOB_NOTIFY_FIELD_STATUS_STRING 0x0b
200#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
201#define JOB_NOTIFY_FIELD_DOCUMENT 0x0d
202#define JOB_NOTIFY_FIELD_PRIORITY 0x0e
203#define JOB_NOTIFY_FIELD_POSITION 0x0f
204#define JOB_NOTIFY_FIELD_SUBMITTED 0x10
205#define JOB_NOTIFY_FIELD_START_TIME 0x11
206#define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
207#define JOB_NOTIFY_FIELD_TIME 0x13
208#define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
209#define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
210#define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
211#define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
212
213#define PRINTER_NOTIFY_OPTIONS_REFRESH 1
214#define PRINTER_NOTIFY_INFO_DISCARDED 1
215
216#define PRINTER_CHANGE_ADD_PRINTER 0x00000001
217#define PRINTER_CHANGE_SET_PRINTER 0x00000002
218#define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
219#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008
220#define PRINTER_CHANGE_PRINTER 0x000000ff
221#define PRINTER_CHANGE_ADD_JOB 0x00000100
222#define PRINTER_CHANGE_SET_JOB 0x00000200
223#define PRINTER_CHANGE_DELETE_JOB 0x00000400
224#define PRINTER_CHANGE_WRITE_JOB 0x00000800
225#define PRINTER_CHANGE_JOB 0x0000ff00
226#define PRINTER_CHANGE_ADD_FORM 0x00010000
227#define PRINTER_CHANGE_SET_FORM 0x00020000
228#define PRINTER_CHANGE_DELETE_FORM 0x00040000
229#define PRINTER_CHANGE_FORM 0x00070000
230#define PRINTER_CHANGE_ADD_PORT 0x00100000
231#define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
232#define PRINTER_CHANGE_DELETE_PORT 0x00400000
233#define PRINTER_CHANGE_PORT 0x00700000
234#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
235#define PRINTER_CHANGE_DELETE_PRINTER_PROCESSOR 0x04000000
236#define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
237#define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
238#define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
239#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
240#define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
241#define PRINTER_CHANGE_TIMEOUT 0x80000000
242#define PRINTER_CHANGE_ALL 0x7777ffff
243
244#define PRINTER_ERROR_INFORMATION 0x80000000
245#define PRINTER_ERROR_WARNING 0x40000000
246#define PRINTER_ERROR_SEVERE 0x20000000
247
248#define PRINTER_ERROR_OUTODPAPER 0x00000001
249#define PRINTER_ERROR_JAM 0x00000002
250#define PRINTER_ERROR_OUTOFTONER 0x00000004
251
Detlef Riekenbergd271ea22005-08-08 12:13:58 +0000252/* Access Rights for Printserver, Printers and Printjobs */
253#define SERVER_ACCESS_ADMINISTER 0x00000001
254#define SERVER_ACCESS_ENUMERATE 0x00000002
255#define SERVER_READ (STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE)
256#define SERVER_WRITE (STANDARD_RIGHTS_WRITE | \
257 SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
258#define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE)
259#define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
260 SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
261
262#define PRINTER_ACCESS_ADMINISTER 0x00000004
263#define PRINTER_ACCESS_USE 0x00000008
264#define PRINTER_READ (STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE)
265#define PRINTER_WRITE (STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE)
266#define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE)
267#define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
268 PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE)
269
270#define JOB_ACCESS_ADMINISTER 0x00000010
271#define JOB_READ (STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER)
272#define JOB_WRITE (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER)
273#define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER)
274#define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER)
275
Detlef Riekenberg360dee62007-06-02 11:43:30 +0200276
277/* Flags for printer drivers */
278#define DRIVER_KERNELMODE 0x00000001
279#define DRIVER_USERMODE 0x00000002
280
281#define APD_STRICT_UPGRADE 0x00000001
282#define APD_STRICT_DOWNGRADE 0x00000002
283#define APD_COPY_ALL_FILES 0x00000004
284#define APD_COPY_NEW_FILES 0x00000008
285#define APD_COPY_FROM_DIRECTORY 0x00000010
286
287#define DPD_DELETE_UNUSED_FILES 0x00000001
288#define DPD_DELETE_SPECIFIC_VERSION 0x00000002
289#define DPD_DELETE_ALL_FILES 0x00000004
290
291
Alexandre Julliard59545601999-02-10 06:52:57 +0000292/* TYPES */
Alexandre Julliarda3960291999-02-26 11:11:13 +0000293typedef struct _PRINTER_DEFAULTSA {
Alexandre Julliard59545601999-02-10 06:52:57 +0000294 LPSTR pDatatype;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000295 LPDEVMODEA pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000296 ACCESS_MASK DesiredAccess;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000297} PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
Alexandre Julliard59545601999-02-10 06:52:57 +0000298
Alexandre Julliarda3960291999-02-26 11:11:13 +0000299typedef struct _PRINTER_DEFAULTSW {
Alexandre Julliard59545601999-02-10 06:52:57 +0000300 LPWSTR pDatatype;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000301 LPDEVMODEW pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000302 ACCESS_MASK DesiredAccess;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000303} PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
Alexandre Julliard59545601999-02-10 06:52:57 +0000304
305DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
306DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
307
Alexandre Julliarda3960291999-02-26 11:11:13 +0000308typedef struct _DRIVER_INFO_1A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000309 LPSTR pName;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000310} DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000311
Alexandre Julliarda3960291999-02-26 11:11:13 +0000312typedef struct _DRIVER_INFO_1W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000313 LPWSTR pName;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000314} DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000315
316DECL_WINELIB_TYPE_AW(DRIVER_INFO_1)
317DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1)
318DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1)
319
Alexandre Julliarda3960291999-02-26 11:11:13 +0000320typedef struct _DRIVER_INFO_2A {
Detlef Riekenbergc30ac072006-02-01 12:31:55 +0100321 DWORD cVersion;
Alexandre Julliard59545601999-02-10 06:52:57 +0000322 LPSTR pName;
323 LPSTR pEnvironment;
324 LPSTR pDriverPath;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000325 LPSTR pDataFile;
Alexandre Julliard59545601999-02-10 06:52:57 +0000326 LPSTR pConfigFile;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000327} DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000328
Alexandre Julliarda3960291999-02-26 11:11:13 +0000329typedef struct _DRIVER_INFO_2W {
Detlef Riekenbergc30ac072006-02-01 12:31:55 +0100330 DWORD cVersion;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000331 LPWSTR pName;
Alexandre Julliard59545601999-02-10 06:52:57 +0000332 LPWSTR pEnvironment;
333 LPWSTR pDriverPath;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000334 LPWSTR pDataFile;
Alexandre Julliard59545601999-02-10 06:52:57 +0000335 LPWSTR pConfigFile;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000336} DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000337
338DECL_WINELIB_TYPE_AW(DRIVER_INFO_2)
339DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2)
340DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2)
341
Huw D M Daviesee2d9d51999-05-22 18:53:56 +0000342typedef struct _DRIVER_INFO_3A {
343 DWORD cVersion;
344 LPSTR pName;
345 LPSTR pEnvironment;
346 LPSTR pDriverPath;
347 LPSTR pDataFile;
348 LPSTR pConfigFile;
349 LPSTR pHelpFile;
350 LPSTR pDependentFiles;
351 LPSTR pMonitorName;
352 LPSTR pDefaultDataType;
353} DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
354
355typedef struct _DRIVER_INFO_3W {
356 DWORD cVersion;
357 LPWSTR pName;
358 LPWSTR pEnvironment;
359 LPWSTR pDriverPath;
360 LPWSTR pDataFile;
361 LPWSTR pConfigFile;
362 LPWSTR pHelpFile;
363 LPWSTR pDependentFiles;
364 LPWSTR pMonitorName;
365 LPWSTR pDefaultDataType;
366} DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
367
368DECL_WINELIB_TYPE_AW(DRIVER_INFO_3)
369DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3)
370DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3)
371
Detlef Riekenbergc30ac072006-02-01 12:31:55 +0100372typedef struct _DRIVER_INFO_4A {
373 DWORD cVersion;
374 LPSTR pName;
375 LPSTR pEnvironment;
376 LPSTR pDriverPath;
377 LPSTR pDataFile;
378 LPSTR pConfigFile;
379 LPSTR pHelpFile;
380 LPSTR pDependentFiles;
381 LPSTR pMonitorName;
382 LPSTR pDefaultDataType;
383 LPSTR pszzPreviousNames;
384} DRIVER_INFO_4A, *PDRIVER_INFO_4A, *LPDRIVER_INFO_4A;
385
386typedef struct _DRIVER_INFO_4W {
387 DWORD cVersion;
388 LPWSTR pName;
389 LPWSTR pEnvironment;
390 LPWSTR pDriverPath;
391 LPWSTR pDataFile;
392 LPWSTR pConfigFile;
393 LPWSTR pHelpFile;
394 LPWSTR pDependentFiles;
395 LPWSTR pMonitorName;
396 LPWSTR pDefaultDataType;
397 LPWSTR pszzPreviousNames;
398} DRIVER_INFO_4W, *PDRIVER_INFO_4W, *LPDRIVER_INFO_4W;
399
400DECL_WINELIB_TYPE_AW(DRIVER_INFO_4)
401DECL_WINELIB_TYPE_AW(PDRIVER_INFO_4)
402DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_4)
403
404
405typedef struct _DRIVER_INFO_5A {
406 DWORD cVersion;
407 LPSTR pName;
408 LPSTR pEnvironment;
409 LPSTR pDriverPath;
410 LPSTR pDataFile;
411 LPSTR pConfigFile;
412 DWORD dwDriverAttributes;
413 DWORD dwConfigVersion;
414 DWORD dwDriverVersion;
415} DRIVER_INFO_5A, *PDRIVER_INFO_5A, *LPDRIVER_INFO_5A;
416
417typedef struct _DRIVER_INFO_5W {
418 DWORD cVersion;
419 LPWSTR pName;
420 LPWSTR pEnvironment;
421 LPWSTR pDriverPath;
422 LPWSTR pDataFile;
423 LPWSTR pConfigFile;
424 DWORD dwDriverAttributes;
425 DWORD dwConfigVersion;
426 DWORD dwDriverVersion;
427} DRIVER_INFO_5W, *PDRIVER_INFO_5W, *LPDRIVER_INFO_5W;
428
429DECL_WINELIB_TYPE_AW(DRIVER_INFO_5)
430DECL_WINELIB_TYPE_AW(PDRIVER_INFO_5)
431DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_5)
432
433typedef struct _DRIVER_INFO_6A {
434 DWORD cVersion;
435 LPSTR pName;
436 LPSTR pEnvironment;
437 LPSTR pDriverPath;
438 LPSTR pDataFile;
439 LPSTR pConfigFile;
440 LPSTR pHelpFile;
441 LPSTR pDependentFiles;
442 LPSTR pMonitorName;
443 LPSTR pDefaultDataType;
444 LPSTR pszzPreviousNames;
445 FILETIME ftDriverDate;
446 DWORDLONG dwlDriverVersion;
447 LPSTR pszMfgName;
448 LPSTR pszOEMUrl;
449 LPSTR pszHardwareID;
450 LPSTR pszProvider;
451} DRIVER_INFO_6A, *PDRIVER_INFO_6A, *LPDRIVER_INFO_6A;
452
453typedef struct _DRIVER_INFO_6W {
454 DWORD cVersion;
455 LPWSTR pName;
456 LPWSTR pEnvironment;
457 LPWSTR pDriverPath;
458 LPWSTR pDataFile;
459 LPWSTR pConfigFile;
460 LPWSTR pHelpFile;
461 LPWSTR pDependentFiles;
462 LPWSTR pMonitorName;
463 LPWSTR pDefaultDataType;
464 LPWSTR pszzPreviousNames;
465 FILETIME ftDriverDate;
466 DWORDLONG dwlDriverVersion;
467 LPWSTR pszMfgName;
468 LPWSTR pszOEMUrl;
469 LPWSTR pszHardwareID;
470 LPWSTR pszProvider;
471} DRIVER_INFO_6W, *PDRIVER_INFO_6W, *LPDRIVER_INFO_6W;
472
473DECL_WINELIB_TYPE_AW(DRIVER_INFO_6)
474DECL_WINELIB_TYPE_AW(PDRIVER_INFO_6)
475DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_6)
476
Detlef Riekenberg76fe4582007-07-18 05:09:22 +0200477/* DRIVER_INFO_7 is not defined in native winspool.h and not found in the www */
478
479typedef struct _DRIVER_INFO_8A {
480 DWORD cVersion;
481 LPSTR pName;
482 LPSTR pEnvironment;
483 LPSTR pDriverPath;
484 LPSTR pDataFile;
485 LPSTR pConfigFile;
486 LPSTR pHelpFile;
487 LPSTR pDependentFiles;
488 LPSTR pMonitorName;
489 LPSTR pDefaultDataType;
490 LPSTR pszzPreviousNames;
491 FILETIME ftDriverDate;
492 DWORDLONG dwlDriverVersion;
493 LPSTR pszMfgName;
494 LPSTR pszOEMUrl;
495 LPSTR pszHardwareID;
496 LPSTR pszProvider;
497 LPSTR pszPrintProcessor;
498 LPSTR pszVendorSetup;
499 LPSTR pszzColorProfiles;
500 LPSTR pszInfPath;
501 DWORD dwPrinterDriverAttributes;
502 LPSTR pszzCoreDriverDependencies;
503 FILETIME ftMinInboxDriverVerDate;
504 DWORDLONG dwlMinInboxDriverVerVersion;
505} DRIVER_INFO_8A, *PDRIVER_INFO_8A, *LPDRIVER_INFO_8A;
506
507typedef struct _DRIVER_INFO_8W {
508 DWORD cVersion;
509 LPWSTR pName;
510 LPWSTR pEnvironment;
511 LPWSTR pDriverPath;
512 LPWSTR pDataFile;
513 LPWSTR pConfigFile;
514 LPWSTR pHelpFile;
515 LPWSTR pDependentFiles;
516 LPWSTR pMonitorName;
517 LPWSTR pDefaultDataType;
518 LPWSTR pszzPreviousNames;
519 FILETIME ftDriverDate;
520 DWORDLONG dwlDriverVersion;
521 LPWSTR pszMfgName;
522 LPWSTR pszOEMUrl;
523 LPWSTR pszHardwareID;
524 LPWSTR pszProvider;
525 LPWSTR pszPrintProcessor;
526 LPWSTR pszVendorSetup;
527 LPWSTR pszzColorProfiles;
528 LPWSTR pszInfPath;
529 DWORD dwPrinterDriverAttributes;
530 LPWSTR pszzCoreDriverDependencies;
531 FILETIME ftMinInboxDriverVerDate;
532 DWORDLONG dwlMinInboxDriverVerVersion;
533} DRIVER_INFO_8W, *PDRIVER_INFO_8W, *LPDRIVER_INFO_8W;
534
535DECL_WINELIB_TYPE_AW(DRIVER_INFO_8)
536DECL_WINELIB_TYPE_AW(PDRIVER_INFO_8)
537DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_8)
538
Detlef Riekenbergc30ac072006-02-01 12:31:55 +0100539
Alexandre Julliarda3960291999-02-26 11:11:13 +0000540typedef struct _PRINTER_INFO_1A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000541 DWORD Flags;
542 LPSTR pDescription;
543 LPSTR pName;
544 LPSTR pComment;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000545} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000546
Alexandre Julliarda3960291999-02-26 11:11:13 +0000547typedef struct _PRINTER_INFO_1W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000548 DWORD Flags;
549 LPWSTR pDescription;
550 LPWSTR pName;
551 LPWSTR pComment;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000552} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000553
554DECL_WINELIB_TYPE_AW(PRINTER_INFO_1)
555DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1)
556DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1)
557
558/* FIXME: winspool.h declares some structure members with the name Status.
Francois Gouget66834322004-04-20 04:03:42 +0000559 * unfortunately <X11/ICE/ICElib.h> #defines Status to the type 'int'
560 * therefore the following hack */
Alexandre Julliard59545601999-02-10 06:52:57 +0000561#ifndef Status
562
Alexandre Julliarda3960291999-02-26 11:11:13 +0000563typedef struct _PRINTER_INFO_2A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000564 LPSTR pServerName;
565 LPSTR pPrinterName;
566 LPSTR pShareName;
567 LPSTR pPortName;
568 LPSTR pDriverName;
569 LPSTR pComment;
570 LPSTR pLocation;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000571 LPDEVMODEA pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000572 LPSTR pSepFile;
573 LPSTR pPrintProcessor;
574 LPSTR pDatatype;
575 LPSTR pParameters;
576 PSECURITY_DESCRIPTOR pSecurityDescriptor;
577 DWORD Attributes;
578 DWORD Priority;
579 DWORD DefaultPriority;
580 DWORD StartTime;
581 DWORD UntilTime;
582 DWORD Status;
583 DWORD cJobs;
584 DWORD AveragePPM;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000585} PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000586
Alexandre Julliarda3960291999-02-26 11:11:13 +0000587typedef struct _PRINTER_INFO_2W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000588 LPWSTR pServerName;
589 LPWSTR pPrinterName;
590 LPWSTR pShareName;
591 LPWSTR pPortName;
592 LPWSTR pDriverName;
593 LPWSTR pComment;
594 LPWSTR pLocation;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000595 LPDEVMODEW pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000596 LPWSTR pSepFile;
597 LPWSTR pPrintProcessor;
598 LPWSTR pDatatype;
599 LPWSTR pParameters;
600 PSECURITY_DESCRIPTOR pSecurityDescriptor;
601 DWORD Attributes;
602 DWORD Priority;
603 DWORD DefaultPriority;
604 DWORD StartTime;
605 DWORD UntilTime;
606 DWORD Status;
607 DWORD cJobs;
608 DWORD AveragePPM;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000609} PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000610
611DECL_WINELIB_TYPE_AW(PRINTER_INFO_2)
612DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2)
613DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2)
614
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000615typedef struct _PRINTER_INFO_3 {
616 PSECURITY_DESCRIPTOR pSecurityDescriptor;
617} PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000618
Klaas van Gendfdedc341999-03-22 12:40:24 +0000619typedef struct _PRINTER_INFO_4A {
620 LPSTR pPrinterName;
621 LPSTR pServerName;
622 DWORD Attributes;
623} PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
624
625typedef struct _PRINTER_INFO_4W {
626 LPWSTR pPrinterName;
627 LPWSTR pServerName;
628 DWORD Attributes;
629} PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
630
631DECL_WINELIB_TYPE_AW(PRINTER_INFO_4)
632DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4)
633DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4)
634
635typedef struct _PRINTER_INFO_5A {
636 LPSTR pPrinterName;
637 LPSTR pPortName;
638 DWORD Attributes;
Huw D M Davies7aaabc32000-05-25 23:02:46 +0000639 DWORD DeviceNotSelectedTimeout;
Klaas van Gendfdedc341999-03-22 12:40:24 +0000640 DWORD TransmissionRetryTimeout;
641} PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
642
643typedef struct _PRINTER_INFO_5W {
644 LPWSTR pPrinterName;
645 LPWSTR pPortName;
646 DWORD Attributes;
Huw D M Davies7aaabc32000-05-25 23:02:46 +0000647 DWORD DeviceNotSelectedTimeout;
Klaas van Gendfdedc341999-03-22 12:40:24 +0000648 DWORD TransmissionRetryTimeout;
649} PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
650
651DECL_WINELIB_TYPE_AW(PRINTER_INFO_5)
652DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5)
653DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5)
654
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000655typedef struct _PRINTER_INFO_6 {
656 DWORD dwStatus;
657} PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
658
Detlef Riekenbergc30ac072006-02-01 12:31:55 +0100659typedef struct _PRINTER_INFO_7A {
660 LPSTR pszObjectGUID;
661 DWORD dwAction;
662} PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A;
663
664typedef struct _PRINTER_INFO_7W {
665 LPWSTR pszObjectGUID;
666 DWORD dwAction;
667} PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W;
668
669DECL_WINELIB_TYPE_AW(PRINTER_INFO_7)
670DECL_WINELIB_TYPE_AW(PPRINTER_INFO_7)
671DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_7)
672
673typedef struct _PRINTER_INFO_8A {
674 LPDEVMODEA pDevMode;
675} PRINTER_INFO_8A, *PPRINTER_INFO_8A, *LPPRINTER_INFO_8A;
676
677typedef struct _PRINTER_INFO_8W {
678 LPDEVMODEW pDevMode;
679} PRINTER_INFO_8W, *PPRINTER_INFO_8W, *LPPRINTER_INFO_8W;
680
681DECL_WINELIB_TYPE_AW(PRINTER_INFO_8)
682DECL_WINELIB_TYPE_AW(PPRINTER_INFO_8)
683DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_8)
684
685typedef struct _PRINTER_INFO_9A {
686 LPDEVMODEA pDevMode;
687} PRINTER_INFO_9A, *PPRINTER_INFO_9A, *LPPRINTER_INFO_9A;
688
689typedef struct _PRINTER_INFO_9W {
690 LPDEVMODEW pDevMode;
691} PRINTER_INFO_9W, *PPRINTER_INFO_9W, *LPPRINTER_INFO_9W;
692
693DECL_WINELIB_TYPE_AW(PRINTER_INFO_9)
694DECL_WINELIB_TYPE_AW(PPRINTER_INFO_9)
695DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_9)
696
697
Huw D M Daviesbb140561999-07-23 19:23:49 +0000698typedef struct _JOB_INFO_1A {
Francois Gouget017887e2004-10-04 19:25:21 +0000699 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000700 LPSTR pPrinterName;
701 LPSTR pMachineName;
702 LPSTR pUserName;
703 LPSTR pDocument;
704 LPSTR pDatatype;
705 LPSTR pStatus;
706 DWORD Status;
707 DWORD Priority;
708 DWORD Position;
709 DWORD TotalPages;
710 DWORD PagesPrinted;
711 SYSTEMTIME Submitted;
712} JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
713
714typedef struct _JOB_INFO_1W {
Francois Gouget017887e2004-10-04 19:25:21 +0000715 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000716 LPWSTR pPrinterName;
717 LPWSTR pMachineName;
718 LPWSTR pUserName;
719 LPWSTR pDocument;
720 LPWSTR pDatatype;
721 LPWSTR pStatus;
722 DWORD Status;
723 DWORD Priority;
724 DWORD Position;
725 DWORD TotalPages;
726 DWORD PagesPrinted;
727 SYSTEMTIME Submitted;
728} JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
729
730DECL_WINELIB_TYPE_AW(JOB_INFO_1)
731DECL_WINELIB_TYPE_AW(PJOB_INFO_1)
732DECL_WINELIB_TYPE_AW(LPJOB_INFO_1)
733
734typedef struct _JOB_INFO_2A {
Francois Gouget017887e2004-10-04 19:25:21 +0000735 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000736 LPSTR pPrinterName;
737 LPSTR pMachineName;
738 LPSTR pUserName;
739 LPSTR pDocument;
740 LPSTR pNotifyName;
741 LPSTR pDatatype;
742 LPSTR pPrintProcessor;
743 LPSTR pParameters;
744 LPSTR pDriverName;
745 LPDEVMODEA pDevMode;
746 LPSTR pStatus;
747 PSECURITY_DESCRIPTOR pSecurityDescriptor;
748 DWORD Status;
749 DWORD Priority;
750 DWORD Position;
751 DWORD StartTime;
752 DWORD UntilTime;
753 DWORD TotalPages;
754 DWORD Size;
755 SYSTEMTIME Submitted;
756 DWORD Time;
757 DWORD PagesPrinted;
758} JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000759
Huw D M Daviesbb140561999-07-23 19:23:49 +0000760typedef struct _JOB_INFO_2W {
Francois Gouget017887e2004-10-04 19:25:21 +0000761 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000762 LPWSTR pPrinterName;
763 LPWSTR pMachineName;
764 LPWSTR pUserName;
765 LPWSTR pDocument;
766 LPWSTR pNotifyName;
767 LPWSTR pDatatype;
768 LPWSTR pPrintProcessor;
769 LPWSTR pParameters;
770 LPWSTR pDriverName;
771 LPDEVMODEW pDevMode;
772 LPWSTR pStatus;
773 PSECURITY_DESCRIPTOR pSecurityDescriptor;
774 DWORD Status;
775 DWORD Priority;
776 DWORD Position;
777 DWORD StartTime;
778 DWORD UntilTime;
779 DWORD TotalPages;
780 DWORD Size;
781 SYSTEMTIME Submitted;
782 DWORD Time;
783 DWORD PagesPrinted;
784} JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +0000785
Huw D M Daviesbb140561999-07-23 19:23:49 +0000786DECL_WINELIB_TYPE_AW(JOB_INFO_2)
787DECL_WINELIB_TYPE_AW(PJOB_INFO_2)
788DECL_WINELIB_TYPE_AW(LPJOB_INFO_2)
789
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000790typedef struct _JOB_INFO_3 {
Francois Gouget017887e2004-10-04 19:25:21 +0000791 DWORD JobId;
792 DWORD NextJobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000793 DWORD Reserved;
794} JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
795
796typedef struct _ADDJOB_INFO_1A {
797 LPSTR Path;
Francois Gouget017887e2004-10-04 19:25:21 +0000798 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000799} ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
800
801typedef struct _ADDJOB_INFO_1W {
802 LPWSTR Path;
Francois Gouget017887e2004-10-04 19:25:21 +0000803 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000804} ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
805
806DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1)
807DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1)
808DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1)
809
810typedef struct _DOC_INFO_1A {
811 LPSTR pDocName;
812 LPSTR pOutputFile;
813 LPSTR pDatatype;
814} DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
815
816typedef struct _DOC_INFO_1W {
817 LPWSTR pDocName;
818 LPWSTR pOutputFile;
819 LPWSTR pDatatype;
820} DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
821
822DECL_WINELIB_TYPE_AW(DOC_INFO_1)
823DECL_WINELIB_TYPE_AW(PDOC_INFO_1)
824DECL_WINELIB_TYPE_AW(LPDOC_INFO_1)
825
826typedef struct _DOC_INFO_2A {
827 LPSTR pDocName;
828 LPSTR pOutputFile;
829 LPSTR pDatatype;
830 DWORD dwMode;
Francois Gouget017887e2004-10-04 19:25:21 +0000831 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000832} DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
833
834typedef struct _DOC_INFO_2W {
835 LPWSTR pDocName;
836 LPWSTR pOutputFile;
837 LPWSTR pDatatype;
838 DWORD dwMode;
Francois Gouget017887e2004-10-04 19:25:21 +0000839 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000840} DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
841
842DECL_WINELIB_TYPE_AW(DOC_INFO_2)
843DECL_WINELIB_TYPE_AW(PDOC_INFO_2)
844DECL_WINELIB_TYPE_AW(LPDOC_INFO_2)
845
846typedef struct _FORM_INFO_1A {
847 DWORD Flags;
848 LPSTR pName;
849 SIZEL Size;
850 RECTL ImageableArea;
851} FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
852
853typedef struct _FORM_INFO_1W {
854 DWORD Flags;
855 LPWSTR pName;
856 SIZEL Size;
857 RECTL ImageableArea;
858} FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
859
860DECL_WINELIB_TYPE_AW(FORM_INFO_1)
861DECL_WINELIB_TYPE_AW(PFORM_INFO_1)
862DECL_WINELIB_TYPE_AW(LPFORM_INFO_1)
863
864typedef struct _PRINTPROCESSOR_INFO_1A {
865 LPSTR pName;
Patrik Stridvallfeb94cb1999-10-24 21:48:50 +0000866} PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000867 *LPPRINTPROCESSOR_INFO_1A;
868
869typedef struct _PRINTPROCESSOR_INFO_1W {
870 LPWSTR pName;
Patrik Stridvallfeb94cb1999-10-24 21:48:50 +0000871} PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000872 *LPPRINTPROCESSOR_INFO_1W;
873
874DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1)
875DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1)
876DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1)
877
878typedef struct _PORT_INFO_1A {
879 LPSTR pName;
880} PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
881
882typedef struct _PORT_INFO_1W {
883 LPWSTR pName;
884} PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
885
886DECL_WINELIB_TYPE_AW(PORT_INFO_1)
887DECL_WINELIB_TYPE_AW(PPORT_INFO_1)
888DECL_WINELIB_TYPE_AW(LPPORT_INFO_1)
889
890typedef struct _PORT_INFO_2A {
891 LPSTR pPortName;
892 LPSTR pMonitorName;
893 LPSTR pDescription;
894 DWORD fPortType;
895 DWORD Reserved;
896} PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
897
898typedef struct _PORT_INFO_2W {
899 LPWSTR pPortName;
900 LPWSTR pMonitorName;
901 LPWSTR pDescription;
902 DWORD fPortType;
903 DWORD Reserved;
904} PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
905
906DECL_WINELIB_TYPE_AW(PORT_INFO_2)
907DECL_WINELIB_TYPE_AW(PPORT_INFO_2)
908DECL_WINELIB_TYPE_AW(LPPORT_INFO_2)
909
910typedef struct _PORT_INFO_3A {
911 DWORD dwStatus;
912 LPSTR pszStatus;
913 DWORD dwSeverity;
914} PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
915
916typedef struct _PORT_INFO_3W {
917 DWORD dwStatus;
918 LPWSTR pszStatus;
919 DWORD dwSeverity;
920} PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
921
922DECL_WINELIB_TYPE_AW(PORT_INFO_3)
923DECL_WINELIB_TYPE_AW(PPORT_INFO_3)
924DECL_WINELIB_TYPE_AW(LPPORT_INFO_3)
925
926typedef struct _MONITOR_INFO_1A {
927 LPSTR pName;
928} MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
929
930typedef struct _MONITOR_INFO_1W {
931 LPWSTR pName;
932} MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
933
934DECL_WINELIB_TYPE_AW(MONITOR_INFO_1)
935DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1)
936DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1)
937
Ove Kaaven7200dc82000-07-23 13:38:08 +0000938#endif /* Status */
939
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000940
941typedef struct _MONITOR_INFO_2A {
942 LPSTR pName;
943 LPSTR pEnvironment;
944 LPSTR pDLLName;
945} MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
946
947typedef struct _MONITOR_INFO_2W {
948 LPWSTR pName;
949 LPWSTR pEnvironment;
950 LPWSTR pDLLName;
951} MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
952
953DECL_WINELIB_TYPE_AW(MONITOR_INFO_2)
954DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2)
955DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2)
956
957typedef struct _DATATYPES_INFO_1A {
958 LPSTR pName;
959} DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
960
961typedef struct _DATATYPES_INFO_1W {
962 LPWSTR pName;
963} DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
964
965DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1)
966DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1)
967DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1)
968
969typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
970 WORD Type;
971 WORD Reserved0;
972 DWORD Reserved1;
973 DWORD Reserved2;
974 DWORD Count;
975 PWORD pFields;
976} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE,
977*LPPRINTER_NOTIFY_OPTIONS_TYPE;
978
979typedef struct _PRINTER_NOTIFY_OPTIONS {
980 DWORD Version;
981 DWORD Flags;
982 DWORD Count;
983 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
984} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
985
986typedef struct _PRINTER_NOTIFY_INFO_DATA {
987 WORD Type;
988 WORD Field;
989 DWORD Reserved;
990 DWORD Id;
991 union {
992 DWORD adwData[2];
993 struct {
994 DWORD cbBuf;
995 LPVOID pBuf;
996 } Data;
997 } NotifyData;
998} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA,
999*LPPRINTER_NOTIFY_INFO_DATA;
1000
1001typedef struct _PRINTER_NOTIFY_INFO {
1002 DWORD Version;
1003 DWORD Flags;
1004 DWORD Count;
1005 PRINTER_NOTIFY_INFO_DATA aData[1];
1006} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
1007
1008typedef struct _PROVIDOR_INFO_1A {
1009 LPSTR pName;
1010 LPSTR pEnvironment;
1011 LPSTR pDLLName;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +00001012} PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001013
1014typedef struct _PROVIDOR_INFO_1W {
1015 LPWSTR pName;
1016 LPWSTR pEnvironment;
1017 LPWSTR pDLLName;
Vincent BĂ©ron9a624912002-05-31 23:06:46 +00001018} PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001019
1020DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1)
1021DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1)
1022DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1)
Huw D M Daviesbb140561999-07-23 19:23:49 +00001023
Ian Pilcherccfe6e92001-02-21 04:00:40 +00001024typedef struct _PRINTER_ENUM_VALUESA {
1025 LPSTR pValueName;
1026 DWORD cbValueName;
1027 DWORD dwType;
1028 LPBYTE pData;
1029 DWORD cbData;
1030} PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA;
1031
1032typedef struct _PRINTER_ENUM_VALUESW {
1033 LPWSTR pValueName;
1034 DWORD cbValueName;
1035 DWORD dwType;
1036 LPBYTE pData;
1037 DWORD cbData;
1038} PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW;
1039
1040DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES)
1041DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES)
1042
Detlef Riekenbergd271ea22005-08-08 12:13:58 +00001043typedef enum {
1044 BIDI_NULL = 0,
1045 BIDI_INT,
1046 BIDI_FLOAT,
1047 BIDI_BOOL,
1048 BIDI_STRING,
1049 BIDI_TEXT,
1050 BIDI_ENUM,
1051 BIDI_BLOB
1052} BIDI_TYPE;
1053
1054typedef struct _BINARY_CONTAINER {
1055 DWORD cbBuf;
1056 LPBYTE pData;
1057} BINARY_CONTAINER, *PBINARY_CONTAINER;
1058
1059typedef struct _BIDI_DATA {
1060 DWORD dwBidiType;
1061 union
1062 {
1063 BOOL bData;
1064 INT iData;
1065 LPWSTR sData;
1066 FLOAT fData;
1067 BINARY_CONTAINER biData;
1068 } u;
1069} BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA;
1070
1071typedef struct _BIDI_REQUEST_DATA {
1072 DWORD dwReqNumber;
1073 LPWSTR pSchema;
1074 BIDI_DATA data;
1075} BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA;
1076
1077typedef struct _BIDI_REQUEST_CONTAINER {
1078 DWORD Version;
1079 DWORD Flags;
1080 DWORD Count;
1081 BIDI_REQUEST_DATA aData[1];
1082} BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER;
1083
1084typedef struct _BIDI_RESPONSE_DATA {
1085 DWORD dwResult;
1086 DWORD dwReqNumber;
1087 LPWSTR pSchema;
1088 BIDI_DATA data;
1089} BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA;
1090
1091typedef struct _BIDI_RESPONSE_CONTAINER {
1092 DWORD Version;
1093 DWORD Flags;
1094 DWORD Count;
1095 BIDI_RESPONSE_DATA aData[1];
1096} BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER;
1097
Alexandre Julliard59545601999-02-10 06:52:57 +00001098/* DECLARATIONS */
Huw D M Daviese39b6761999-05-17 16:20:51 +00001099INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
1100 LPSTR pOutput, LPDEVMODEA pDevMode);
Alexandre Julliarda3960291999-02-26 11:11:13 +00001101INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort,
Huw D M Daviese39b6761999-05-17 16:20:51 +00001102 WORD fwCapability, LPWSTR pOutput,
1103 const DEVMODEW *pDevMode);
Alexandre Julliard59545601999-02-10 06:52:57 +00001104
1105#define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities)
1106
Alexandre Julliarda3960291999-02-26 11:11:13 +00001107LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,
1108 LPSTR pDeviceName, LPDEVMODEA pDevModeOutput,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001109 LPDEVMODEA pDevModeInput,DWORD fMode );
Alexandre Julliarda3960291999-02-26 11:11:13 +00001110LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001111 LPWSTR pDeviceName,
1112 LPDEVMODEW pDevModeOutput,
1113 LPDEVMODEW pDevModeInput, DWORD fMode);
Alexandre Julliard59545601999-02-10 06:52:57 +00001114
1115#define DocumentProperties WINELIB_NAME_AW(DocumentProperties)
1116
Alexandre Julliarda3960291999-02-26 11:11:13 +00001117BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter,
1118 LPPRINTER_DEFAULTSA pDefault);
1119BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter,
1120 LPPRINTER_DEFAULTSW pDefault);
Alexandre Julliard59545601999-02-10 06:52:57 +00001121
1122#define OpenPrinter WINELIB_NAME_AW(OpenPrinter)
1123
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001124BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault);
1125BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
1126#define ResetPrinter WINELIB_NAME_AW(ResetPrinter)
1127
Alexandre Julliarda3960291999-02-26 11:11:13 +00001128BOOL WINAPI ClosePrinter (HANDLE phPrinter);
Alexandre Julliard59545601999-02-10 06:52:57 +00001129
Huw D M Daviesbb140561999-07-23 19:23:49 +00001130BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1131 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1132 LPDWORD pcReturned);
1133BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1134 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1135 LPDWORD pcReturned);
1136#define EnumJobs WINELIB_NAME_AW(EnumJobs)
1137
Klaas van Gendfdedc341999-03-22 12:40:24 +00001138BOOL WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName,
1139 DWORD dwLevel, LPBYTE lpbPrinters,
1140 DWORD cbBuf, LPDWORD lpdwNeeded,
1141 LPDWORD lpdwReturned);
1142BOOL WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName,
1143 DWORD dwLevel, LPBYTE lpbPrinters,
1144 DWORD cbBuf, LPDWORD lpdwNeeded,
1145 LPDWORD lpdwReturned);
1146#define EnumPrinters WINELIB_NAME_AW(EnumPrinters)
1147
Klaas van Gendf66bf561999-04-11 14:56:45 +00001148BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter);
Alexandre Julliard59545601999-02-10 06:52:57 +00001149
Huw D M Daviesee2d9d51999-05-22 18:53:56 +00001150BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1151BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1152#define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory)
1153
Huw D M Davies450270b1999-07-10 11:58:50 +00001154BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment,
1155 DWORD Level, LPBYTE pDriverInfo,
1156 DWORD cbBuf, LPDWORD pcbNeeded);
1157BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment,
1158 DWORD Level, LPBYTE pDriverInfo,
1159 DWORD cbBuf, LPDWORD pcbNeeded);
1160#define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver)
1161
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001162BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1163 DWORD Command);
1164BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1165 DWORD Command);
1166#define SetJob WINELIB_NAME_AW(SetJob)
1167
1168BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1169 DWORD cbBuf, LPDWORD pcbNeeded);
1170BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1171 DWORD cbBuf, LPDWORD pcbNeeded);
1172#define GetJob WINELIB_NAME_AW(GetJob)
1173
1174HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter);
1175HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
1176#define AddPrinter WINELIB_NAME_AW(AddPrinter)
1177
1178BOOL WINAPI DeletePrinter(HANDLE hPrinter);
1179
1180BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +00001181 DWORD Command);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001182BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +00001183 DWORD Command);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001184#define SetPrinter WINELIB_NAME_AW(SetPrinter)
1185
1186BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +00001187 DWORD cbBuf, LPDWORD pcbNeeded);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001188BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +00001189 DWORD cbBuf, LPDWORD pcbNeeded);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001190#define GetPrinter WINELIB_NAME_AW(GetPrinter)
1191
1192BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo);
1193BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
1194#define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver)
1195
Hans Leidekker3650ff52005-07-18 09:09:41 +00001196BOOL WINAPI AddPrinterDriverExA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo,
1197 DWORD dwFileCopyFlags);
1198BOOL WINAPI AddPrinterDriverExW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo,
1199 DWORD dwFileCopyFlags);
1200#define AddPrinterDriverEx WINELIB_NAME_AW(AddPrinterDriverEx)
1201
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001202BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level,
1203 LPBYTE pDriverInfo, DWORD cbBuf,
1204 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1205BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level,
1206 LPBYTE pDriverInfo, DWORD cbBuf,
1207 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1208#define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers)
1209
Mark G. Adamsa0324f72002-01-22 00:49:24 +00001210BOOL WINAPI GetDefaultPrinterA(LPSTR pName, LPDWORD pcbNameSize);
1211BOOL WINAPI GetDefaultPrinterW(LPWSTR pName, LPDWORD pcbNameSize);
1212#define GetDefaultPrinter WINELIB_NAME_AW(GetDefaultPrinter)
1213
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001214BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment,
1215 LPSTR pDriverName);
1216BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment,
1217 LPWSTR pDriverName);
1218#define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver)
1219
Hans Leidekker3650ff52005-07-18 09:09:41 +00001220BOOL WINAPI DeletePrinterDriverExA(LPSTR pName, LPSTR pEnvironment,
1221 LPSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1222BOOL WINAPI DeletePrinterDriverExW(LPWSTR pName, LPWSTR pEnvironment,
1223 LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1224#define DeletePrinterDriverEx WINELIB_NAME_AW(DeletePrinterDriverEx)
1225
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001226BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1227 LPSTR pPathName, LPSTR pPrintProcessorName);
1228BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1229 LPWSTR pPathName, LPWSTR pPrintProcessorName);
1230#define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor)
1231
1232BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment,
1233 DWORD Level, LPBYTE pPrintProcessorInfo,
1234 DWORD cbBuf, LPDWORD pcbNeeded,
1235 LPDWORD pcbReturned);
1236BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment,
1237 DWORD Level, LPBYTE pPrintProcessorInfo,
1238 DWORD cbBuf, LPDWORD pcbNeeded,
1239 LPDWORD pcbReturned);
1240#define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors)
1241
1242BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +00001243 DWORD Level,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001244 LPBYTE pPrintProcessorInfo,
1245 DWORD cbBuf, LPDWORD pcbNeeded);
1246
1247BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment,
1248 DWORD Level,
1249 LPBYTE pPrintProcessorInfo,
1250 DWORD cbBuf, LPDWORD pcbNeeded);
1251#define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory)
1252
1253BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,
1254 LPSTR pPrintProcessorName,
1255 DWORD Level, LPBYTE pDatatypes,
1256 DWORD cbBuf, LPDWORD pcbNeeded,
1257 LPDWORD pcbReturned);
1258BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,
1259 LPWSTR pPrintProcessorName,
1260 DWORD Level, LPBYTE pDatatypes,
1261 DWORD cbBuf, LPDWORD pcbNeeded,
1262 LPDWORD pcbReturned);
1263#define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes)
1264
1265BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1266 LPSTR pPrintProcessorName);
1267BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1268 LPWSTR pPrintProcessorName);
1269#define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor)
1270
1271DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1272DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1273#define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter)
1274
1275BOOL WINAPI StartPagePrinter(HANDLE hPrinter);
1276BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1277 LPDWORD pcWritten);
1278BOOL WINAPI EndPagePrinter(HANDLE hPrinter);
1279BOOL WINAPI AbortPrinter(HANDLE hPrinter);
1280BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1281 LPDWORD pNoBytesRead);
1282BOOL WINAPI EndDocPrinter(HANDLE hPrinter);
1283
1284BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1285 LPDWORD pcbNeeded);
1286BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1287 LPDWORD pcbNeeded);
1288#define AddJob WINELIB_NAME_AW(AddJob)
1289
1290BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID);
1291
1292LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +00001293 LPSTR pDeviceName,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001294 PDEVMODEA pDevModeOutput,
1295 PDEVMODEA pDevModeInput);
1296LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
Vincent BĂ©ron9a624912002-05-31 23:06:46 +00001297 LPWSTR pDeviceName,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001298 PDEVMODEW pDevModeOutput,
1299 PDEVMODEW pDevModeInput);
1300#define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties)
1301
1302DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType,
1303 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1304DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType,
1305 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1306#define GetPrinterData WINELIB_NAME_AW(GetPrinterData)
1307
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001308DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1309 LPCSTR pValueName, LPDWORD pType,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001310 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001311DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1312 LPCWSTR pValueName, LPDWORD pType,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001313 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1314#define GetPrinterDataEx WINELIB_NAME_AW(GetPrinterDataEx)
1315
Hans Leidekker3650ff52005-07-18 09:09:41 +00001316DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1317 LPCSTR pValueName);
1318DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1319 LPCWSTR pValueName);
1320#define DeletePrinterDataEx WINELIB_NAME_AW(DeletePrinterDataEx)
1321
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001322DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type,
1323 LPBYTE pData, DWORD cbData);
1324DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type,
1325 LPBYTE pData, DWORD cbData);
1326#define SetPrinterData WINELIB_NAME_AW(SetPrinterData)
1327
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001328DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1329 LPCSTR pValueName, DWORD Type,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001330 LPBYTE pData, DWORD cbData);
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001331DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1332 LPCWSTR pValueName, DWORD Type,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001333 LPBYTE pData, DWORD cbData);
1334#define SetPrinterDataEx WINELIB_NAME_AW(SetPrinterDataEx)
1335
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001336DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags);
1337HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,
1338 DWORD fdwFlags,
1339 DWORD fdwOptions,
1340 LPVOID pPrinterNotifyOptions);
1341BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,
1342 PDWORD pdwChange,
1343 LPVOID pvReserved,
1344 LPVOID *ppPrinterNotifyInfo);
Francois Gouget091dc852000-06-11 20:06:12 +00001345BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001346BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
1347
1348DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd,
1349 LPSTR pText, LPSTR pCaption, DWORD dwType);
1350DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd,
1351 LPWSTR pText, LPWSTR pCaption, DWORD dwType);
1352#define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox)
1353
1354BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1355BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1356#define AddForm WINELIB_NAME_AW(AddForm)
1357
1358BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName);
1359BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName);
1360#define DeleteForm WINELIB_NAME_AW(DeleteForm)
1361
1362BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1363 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1364BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1365 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1366#define GetForm WINELIB_NAME_AW(GetForm)
1367
1368BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1369 LPBYTE pForm);
1370BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1371 LPBYTE pForm);
1372#define SetForm WINELIB_NAME_AW(SetForm)
1373
1374BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1375 LPDWORD pcbNeeded, LPDWORD pcReturned);
1376BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1377 LPDWORD pcbNeeded, LPDWORD pcReturned);
1378#define EnumForms WINELIB_NAME_AW(EnumForms)
1379
1380BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors,
1381 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1382BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
1383 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1384#define EnumMonitors WINELIB_NAME_AW(EnumMonitors)
1385
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001386DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName,
1387 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1388 DWORD cbData, LPDWORD pcbData );
1389DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName,
1390 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1391 DWORD cbData, LPDWORD pcbData );
1392#define EnumPrinterData WINELIB_NAME_AW(EnumPrinterData)
1393
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001394BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors);
1395BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
1396#define AddMonitor WINELIB_NAME_AW(AddMonitor)
1397
1398BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment,
1399 LPSTR pMonitorName);
1400BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment,
1401 LPWSTR pMonitorName);
1402#define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor)
1403
1404BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts,
1405 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1406BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts,
1407 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1408#define EnumPorts WINELIB_NAME_AW(EnumPorts)
1409
1410BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName);
1411BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
1412#define AddPort WINELIB_NAME_AW(AddPort)
1413
Detlef Riekenberg0c717992007-06-04 00:23:55 +02001414BOOL WINAPI AddPortExA(LPSTR, DWORD, LPBYTE, LPSTR);
1415BOOL WINAPI AddPortExW(LPWSTR, DWORD, LPBYTE, LPWSTR);
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001416#define AddPortEx WINELIB_NAME_AW(AddPortEx)
1417
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001418BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1419BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1420#define ConfigurePort WINELIB_NAME_AW(ConfigurePort)
1421
1422BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1423BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1424#define DeletePort WINELIB_NAME_AW(DeletePort)
1425
1426BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel,
1427 LPBYTE pPortInfo);
1428BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
1429 LPBYTE pPortInfo);
1430#define SetPort WINELIB_NAME_AW(SetPort)
1431
1432BOOL WINAPI AddPrinterConnectionA(LPSTR pName);
1433BOOL WINAPI AddPrinterConnectionW(LPWSTR pName);
1434#define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection)
1435
1436BOOL WINAPI DeletePrinterConnectionA(LPSTR pName);
1437BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName);
1438#define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection)
1439
1440HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags);
1441
1442BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1443BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1444#define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor)
1445
1446BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment,
1447 LPSTR pPrintProvidorName);
1448BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment,
1449 LPWSTR pPrintProvidorName);
1450#define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor)
1451
Ian Pilcherccfe6e92001-02-21 04:00:40 +00001452DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1453 LPBYTE pEnumValues, DWORD cbEnumValues,
1454 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1455DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1456 LPBYTE pEnumValues, DWORD cbEnumValues,
1457 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1458#define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx)
1459
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001460LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput,
1461 LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile,
1462 DWORD fMode);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001463
Huw Davies3b77de92005-07-22 18:28:12 +00001464LPSTR WINAPI StartDocDlgA(HANDLE hPrinter, DOCINFOA *doc);
1465LPWSTR WINAPI StartDocDlgW(HANDLE hPrinter, DOCINFOW *doc);
1466#define StartDocDlg WINELIB_NAME_AW(StartDocDlg)
1467
Detlef Riekenberg7364aa42007-04-16 00:47:22 +02001468BOOL WINAPI XcvDataW(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData,
1469 DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData,
1470 PDWORD pcbOutputNeeded, PDWORD pdwStatus);
1471
Alexandre Julliard59545601999-02-10 06:52:57 +00001472#ifdef __cplusplus
Patrik Stridvalla9a671d1999-04-25 19:01:52 +00001473} /* extern "C" */
Alexandre Julliard59545601999-02-10 06:52:57 +00001474#endif
1475
1476#endif /* __WINE_WINSPOOL_H */