blob: a642eef93b0e5c0a20b428792e3847683ea5de0b [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
Alexandre Julliard59545601999-02-10 06:52:57 +0000276/* TYPES */
Alexandre Julliarda3960291999-02-26 11:11:13 +0000277typedef struct _PRINTER_DEFAULTSA {
Alexandre Julliard59545601999-02-10 06:52:57 +0000278 LPSTR pDatatype;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000279 LPDEVMODEA pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000280 ACCESS_MASK DesiredAccess;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000281} PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
Alexandre Julliard59545601999-02-10 06:52:57 +0000282
Alexandre Julliarda3960291999-02-26 11:11:13 +0000283typedef struct _PRINTER_DEFAULTSW {
Alexandre Julliard59545601999-02-10 06:52:57 +0000284 LPWSTR pDatatype;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000285 LPDEVMODEW pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000286 ACCESS_MASK DesiredAccess;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000287} PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
Alexandre Julliard59545601999-02-10 06:52:57 +0000288
289DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
290DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
291
Alexandre Julliarda3960291999-02-26 11:11:13 +0000292typedef struct _DRIVER_INFO_1A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000293 LPSTR pName;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000294} DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000295
Alexandre Julliarda3960291999-02-26 11:11:13 +0000296typedef struct _DRIVER_INFO_1W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000297 LPWSTR pName;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000298} DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000299
300DECL_WINELIB_TYPE_AW(DRIVER_INFO_1)
301DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1)
302DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1)
303
Alexandre Julliarda3960291999-02-26 11:11:13 +0000304typedef struct _DRIVER_INFO_2A {
Detlef Riekenbergc30ac072006-02-01 12:31:55 +0100305 DWORD cVersion;
Alexandre Julliard59545601999-02-10 06:52:57 +0000306 LPSTR pName;
307 LPSTR pEnvironment;
308 LPSTR pDriverPath;
Vincent Béron9a624912002-05-31 23:06:46 +0000309 LPSTR pDataFile;
Alexandre Julliard59545601999-02-10 06:52:57 +0000310 LPSTR pConfigFile;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000311} DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000312
Alexandre Julliarda3960291999-02-26 11:11:13 +0000313typedef struct _DRIVER_INFO_2W {
Detlef Riekenbergc30ac072006-02-01 12:31:55 +0100314 DWORD cVersion;
Vincent Béron9a624912002-05-31 23:06:46 +0000315 LPWSTR pName;
Alexandre Julliard59545601999-02-10 06:52:57 +0000316 LPWSTR pEnvironment;
317 LPWSTR pDriverPath;
Vincent Béron9a624912002-05-31 23:06:46 +0000318 LPWSTR pDataFile;
Alexandre Julliard59545601999-02-10 06:52:57 +0000319 LPWSTR pConfigFile;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000320} DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000321
322DECL_WINELIB_TYPE_AW(DRIVER_INFO_2)
323DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2)
324DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2)
325
Huw D M Daviesee2d9d51999-05-22 18:53:56 +0000326typedef struct _DRIVER_INFO_3A {
327 DWORD cVersion;
328 LPSTR pName;
329 LPSTR pEnvironment;
330 LPSTR pDriverPath;
331 LPSTR pDataFile;
332 LPSTR pConfigFile;
333 LPSTR pHelpFile;
334 LPSTR pDependentFiles;
335 LPSTR pMonitorName;
336 LPSTR pDefaultDataType;
337} DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
338
339typedef struct _DRIVER_INFO_3W {
340 DWORD cVersion;
341 LPWSTR pName;
342 LPWSTR pEnvironment;
343 LPWSTR pDriverPath;
344 LPWSTR pDataFile;
345 LPWSTR pConfigFile;
346 LPWSTR pHelpFile;
347 LPWSTR pDependentFiles;
348 LPWSTR pMonitorName;
349 LPWSTR pDefaultDataType;
350} DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
351
352DECL_WINELIB_TYPE_AW(DRIVER_INFO_3)
353DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3)
354DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3)
355
Detlef Riekenbergc30ac072006-02-01 12:31:55 +0100356typedef struct _DRIVER_INFO_4A {
357 DWORD cVersion;
358 LPSTR pName;
359 LPSTR pEnvironment;
360 LPSTR pDriverPath;
361 LPSTR pDataFile;
362 LPSTR pConfigFile;
363 LPSTR pHelpFile;
364 LPSTR pDependentFiles;
365 LPSTR pMonitorName;
366 LPSTR pDefaultDataType;
367 LPSTR pszzPreviousNames;
368} DRIVER_INFO_4A, *PDRIVER_INFO_4A, *LPDRIVER_INFO_4A;
369
370typedef struct _DRIVER_INFO_4W {
371 DWORD cVersion;
372 LPWSTR pName;
373 LPWSTR pEnvironment;
374 LPWSTR pDriverPath;
375 LPWSTR pDataFile;
376 LPWSTR pConfigFile;
377 LPWSTR pHelpFile;
378 LPWSTR pDependentFiles;
379 LPWSTR pMonitorName;
380 LPWSTR pDefaultDataType;
381 LPWSTR pszzPreviousNames;
382} DRIVER_INFO_4W, *PDRIVER_INFO_4W, *LPDRIVER_INFO_4W;
383
384DECL_WINELIB_TYPE_AW(DRIVER_INFO_4)
385DECL_WINELIB_TYPE_AW(PDRIVER_INFO_4)
386DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_4)
387
388
389typedef struct _DRIVER_INFO_5A {
390 DWORD cVersion;
391 LPSTR pName;
392 LPSTR pEnvironment;
393 LPSTR pDriverPath;
394 LPSTR pDataFile;
395 LPSTR pConfigFile;
396 DWORD dwDriverAttributes;
397 DWORD dwConfigVersion;
398 DWORD dwDriverVersion;
399} DRIVER_INFO_5A, *PDRIVER_INFO_5A, *LPDRIVER_INFO_5A;
400
401typedef struct _DRIVER_INFO_5W {
402 DWORD cVersion;
403 LPWSTR pName;
404 LPWSTR pEnvironment;
405 LPWSTR pDriverPath;
406 LPWSTR pDataFile;
407 LPWSTR pConfigFile;
408 DWORD dwDriverAttributes;
409 DWORD dwConfigVersion;
410 DWORD dwDriverVersion;
411} DRIVER_INFO_5W, *PDRIVER_INFO_5W, *LPDRIVER_INFO_5W;
412
413DECL_WINELIB_TYPE_AW(DRIVER_INFO_5)
414DECL_WINELIB_TYPE_AW(PDRIVER_INFO_5)
415DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_5)
416
417typedef struct _DRIVER_INFO_6A {
418 DWORD cVersion;
419 LPSTR pName;
420 LPSTR pEnvironment;
421 LPSTR pDriverPath;
422 LPSTR pDataFile;
423 LPSTR pConfigFile;
424 LPSTR pHelpFile;
425 LPSTR pDependentFiles;
426 LPSTR pMonitorName;
427 LPSTR pDefaultDataType;
428 LPSTR pszzPreviousNames;
429 FILETIME ftDriverDate;
430 DWORDLONG dwlDriverVersion;
431 LPSTR pszMfgName;
432 LPSTR pszOEMUrl;
433 LPSTR pszHardwareID;
434 LPSTR pszProvider;
435} DRIVER_INFO_6A, *PDRIVER_INFO_6A, *LPDRIVER_INFO_6A;
436
437typedef struct _DRIVER_INFO_6W {
438 DWORD cVersion;
439 LPWSTR pName;
440 LPWSTR pEnvironment;
441 LPWSTR pDriverPath;
442 LPWSTR pDataFile;
443 LPWSTR pConfigFile;
444 LPWSTR pHelpFile;
445 LPWSTR pDependentFiles;
446 LPWSTR pMonitorName;
447 LPWSTR pDefaultDataType;
448 LPWSTR pszzPreviousNames;
449 FILETIME ftDriverDate;
450 DWORDLONG dwlDriverVersion;
451 LPWSTR pszMfgName;
452 LPWSTR pszOEMUrl;
453 LPWSTR pszHardwareID;
454 LPWSTR pszProvider;
455} DRIVER_INFO_6W, *PDRIVER_INFO_6W, *LPDRIVER_INFO_6W;
456
457DECL_WINELIB_TYPE_AW(DRIVER_INFO_6)
458DECL_WINELIB_TYPE_AW(PDRIVER_INFO_6)
459DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_6)
460
461
Alexandre Julliarda3960291999-02-26 11:11:13 +0000462typedef struct _PRINTER_INFO_1A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000463 DWORD Flags;
464 LPSTR pDescription;
465 LPSTR pName;
466 LPSTR pComment;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000467} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000468
Alexandre Julliarda3960291999-02-26 11:11:13 +0000469typedef struct _PRINTER_INFO_1W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000470 DWORD Flags;
471 LPWSTR pDescription;
472 LPWSTR pName;
473 LPWSTR pComment;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000474} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000475
476DECL_WINELIB_TYPE_AW(PRINTER_INFO_1)
477DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1)
478DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1)
479
480/* FIXME: winspool.h declares some structure members with the name Status.
Francois Gouget66834322004-04-20 04:03:42 +0000481 * unfortunately <X11/ICE/ICElib.h> #defines Status to the type 'int'
482 * therefore the following hack */
Alexandre Julliard59545601999-02-10 06:52:57 +0000483#ifndef Status
484
Alexandre Julliarda3960291999-02-26 11:11:13 +0000485typedef struct _PRINTER_INFO_2A {
Alexandre Julliard59545601999-02-10 06:52:57 +0000486 LPSTR pServerName;
487 LPSTR pPrinterName;
488 LPSTR pShareName;
489 LPSTR pPortName;
490 LPSTR pDriverName;
491 LPSTR pComment;
492 LPSTR pLocation;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000493 LPDEVMODEA pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000494 LPSTR pSepFile;
495 LPSTR pPrintProcessor;
496 LPSTR pDatatype;
497 LPSTR pParameters;
498 PSECURITY_DESCRIPTOR pSecurityDescriptor;
499 DWORD Attributes;
500 DWORD Priority;
501 DWORD DefaultPriority;
502 DWORD StartTime;
503 DWORD UntilTime;
504 DWORD Status;
505 DWORD cJobs;
506 DWORD AveragePPM;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000507} PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
Alexandre Julliard59545601999-02-10 06:52:57 +0000508
Alexandre Julliarda3960291999-02-26 11:11:13 +0000509typedef struct _PRINTER_INFO_2W {
Alexandre Julliard59545601999-02-10 06:52:57 +0000510 LPWSTR pServerName;
511 LPWSTR pPrinterName;
512 LPWSTR pShareName;
513 LPWSTR pPortName;
514 LPWSTR pDriverName;
515 LPWSTR pComment;
516 LPWSTR pLocation;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000517 LPDEVMODEW pDevMode;
Alexandre Julliard59545601999-02-10 06:52:57 +0000518 LPWSTR pSepFile;
519 LPWSTR pPrintProcessor;
520 LPWSTR pDatatype;
521 LPWSTR pParameters;
522 PSECURITY_DESCRIPTOR pSecurityDescriptor;
523 DWORD Attributes;
524 DWORD Priority;
525 DWORD DefaultPriority;
526 DWORD StartTime;
527 DWORD UntilTime;
528 DWORD Status;
529 DWORD cJobs;
530 DWORD AveragePPM;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000531} PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
Alexandre Julliard59545601999-02-10 06:52:57 +0000532
533DECL_WINELIB_TYPE_AW(PRINTER_INFO_2)
534DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2)
535DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2)
536
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000537typedef struct _PRINTER_INFO_3 {
538 PSECURITY_DESCRIPTOR pSecurityDescriptor;
539} PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
Vincent Béron9a624912002-05-31 23:06:46 +0000540
Klaas van Gendfdedc341999-03-22 12:40:24 +0000541typedef struct _PRINTER_INFO_4A {
542 LPSTR pPrinterName;
543 LPSTR pServerName;
544 DWORD Attributes;
545} PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
546
547typedef struct _PRINTER_INFO_4W {
548 LPWSTR pPrinterName;
549 LPWSTR pServerName;
550 DWORD Attributes;
551} PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
552
553DECL_WINELIB_TYPE_AW(PRINTER_INFO_4)
554DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4)
555DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4)
556
557typedef struct _PRINTER_INFO_5A {
558 LPSTR pPrinterName;
559 LPSTR pPortName;
560 DWORD Attributes;
Huw D M Davies7aaabc32000-05-25 23:02:46 +0000561 DWORD DeviceNotSelectedTimeout;
Klaas van Gendfdedc341999-03-22 12:40:24 +0000562 DWORD TransmissionRetryTimeout;
563} PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
564
565typedef struct _PRINTER_INFO_5W {
566 LPWSTR pPrinterName;
567 LPWSTR pPortName;
568 DWORD Attributes;
Huw D M Davies7aaabc32000-05-25 23:02:46 +0000569 DWORD DeviceNotSelectedTimeout;
Klaas van Gendfdedc341999-03-22 12:40:24 +0000570 DWORD TransmissionRetryTimeout;
571} PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
572
573DECL_WINELIB_TYPE_AW(PRINTER_INFO_5)
574DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5)
575DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5)
576
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000577typedef struct _PRINTER_INFO_6 {
578 DWORD dwStatus;
579} PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
580
Detlef Riekenbergc30ac072006-02-01 12:31:55 +0100581typedef struct _PRINTER_INFO_7A {
582 LPSTR pszObjectGUID;
583 DWORD dwAction;
584} PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A;
585
586typedef struct _PRINTER_INFO_7W {
587 LPWSTR pszObjectGUID;
588 DWORD dwAction;
589} PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W;
590
591DECL_WINELIB_TYPE_AW(PRINTER_INFO_7)
592DECL_WINELIB_TYPE_AW(PPRINTER_INFO_7)
593DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_7)
594
595typedef struct _PRINTER_INFO_8A {
596 LPDEVMODEA pDevMode;
597} PRINTER_INFO_8A, *PPRINTER_INFO_8A, *LPPRINTER_INFO_8A;
598
599typedef struct _PRINTER_INFO_8W {
600 LPDEVMODEW pDevMode;
601} PRINTER_INFO_8W, *PPRINTER_INFO_8W, *LPPRINTER_INFO_8W;
602
603DECL_WINELIB_TYPE_AW(PRINTER_INFO_8)
604DECL_WINELIB_TYPE_AW(PPRINTER_INFO_8)
605DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_8)
606
607typedef struct _PRINTER_INFO_9A {
608 LPDEVMODEA pDevMode;
609} PRINTER_INFO_9A, *PPRINTER_INFO_9A, *LPPRINTER_INFO_9A;
610
611typedef struct _PRINTER_INFO_9W {
612 LPDEVMODEW pDevMode;
613} PRINTER_INFO_9W, *PPRINTER_INFO_9W, *LPPRINTER_INFO_9W;
614
615DECL_WINELIB_TYPE_AW(PRINTER_INFO_9)
616DECL_WINELIB_TYPE_AW(PPRINTER_INFO_9)
617DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_9)
618
619
Huw D M Daviesbb140561999-07-23 19:23:49 +0000620typedef struct _JOB_INFO_1A {
Francois Gouget017887e2004-10-04 19:25:21 +0000621 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000622 LPSTR pPrinterName;
623 LPSTR pMachineName;
624 LPSTR pUserName;
625 LPSTR pDocument;
626 LPSTR pDatatype;
627 LPSTR pStatus;
628 DWORD Status;
629 DWORD Priority;
630 DWORD Position;
631 DWORD TotalPages;
632 DWORD PagesPrinted;
633 SYSTEMTIME Submitted;
634} JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
635
636typedef struct _JOB_INFO_1W {
Francois Gouget017887e2004-10-04 19:25:21 +0000637 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000638 LPWSTR pPrinterName;
639 LPWSTR pMachineName;
640 LPWSTR pUserName;
641 LPWSTR pDocument;
642 LPWSTR pDatatype;
643 LPWSTR pStatus;
644 DWORD Status;
645 DWORD Priority;
646 DWORD Position;
647 DWORD TotalPages;
648 DWORD PagesPrinted;
649 SYSTEMTIME Submitted;
650} JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
651
652DECL_WINELIB_TYPE_AW(JOB_INFO_1)
653DECL_WINELIB_TYPE_AW(PJOB_INFO_1)
654DECL_WINELIB_TYPE_AW(LPJOB_INFO_1)
655
656typedef struct _JOB_INFO_2A {
Francois Gouget017887e2004-10-04 19:25:21 +0000657 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000658 LPSTR pPrinterName;
659 LPSTR pMachineName;
660 LPSTR pUserName;
661 LPSTR pDocument;
662 LPSTR pNotifyName;
663 LPSTR pDatatype;
664 LPSTR pPrintProcessor;
665 LPSTR pParameters;
666 LPSTR pDriverName;
667 LPDEVMODEA pDevMode;
668 LPSTR pStatus;
669 PSECURITY_DESCRIPTOR pSecurityDescriptor;
670 DWORD Status;
671 DWORD Priority;
672 DWORD Position;
673 DWORD StartTime;
674 DWORD UntilTime;
675 DWORD TotalPages;
676 DWORD Size;
677 SYSTEMTIME Submitted;
678 DWORD Time;
679 DWORD PagesPrinted;
680} JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
Vincent Béron9a624912002-05-31 23:06:46 +0000681
Huw D M Daviesbb140561999-07-23 19:23:49 +0000682typedef struct _JOB_INFO_2W {
Francois Gouget017887e2004-10-04 19:25:21 +0000683 DWORD JobId;
Huw D M Daviesbb140561999-07-23 19:23:49 +0000684 LPWSTR pPrinterName;
685 LPWSTR pMachineName;
686 LPWSTR pUserName;
687 LPWSTR pDocument;
688 LPWSTR pNotifyName;
689 LPWSTR pDatatype;
690 LPWSTR pPrintProcessor;
691 LPWSTR pParameters;
692 LPWSTR pDriverName;
693 LPDEVMODEW pDevMode;
694 LPWSTR pStatus;
695 PSECURITY_DESCRIPTOR pSecurityDescriptor;
696 DWORD Status;
697 DWORD Priority;
698 DWORD Position;
699 DWORD StartTime;
700 DWORD UntilTime;
701 DWORD TotalPages;
702 DWORD Size;
703 SYSTEMTIME Submitted;
704 DWORD Time;
705 DWORD PagesPrinted;
706} JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
Vincent Béron9a624912002-05-31 23:06:46 +0000707
Huw D M Daviesbb140561999-07-23 19:23:49 +0000708DECL_WINELIB_TYPE_AW(JOB_INFO_2)
709DECL_WINELIB_TYPE_AW(PJOB_INFO_2)
710DECL_WINELIB_TYPE_AW(LPJOB_INFO_2)
711
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000712typedef struct _JOB_INFO_3 {
Francois Gouget017887e2004-10-04 19:25:21 +0000713 DWORD JobId;
714 DWORD NextJobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000715 DWORD Reserved;
716} JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
717
718typedef struct _ADDJOB_INFO_1A {
719 LPSTR Path;
Francois Gouget017887e2004-10-04 19:25:21 +0000720 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000721} ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
722
723typedef struct _ADDJOB_INFO_1W {
724 LPWSTR Path;
Francois Gouget017887e2004-10-04 19:25:21 +0000725 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000726} ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
727
728DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1)
729DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1)
730DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1)
731
732typedef struct _DOC_INFO_1A {
733 LPSTR pDocName;
734 LPSTR pOutputFile;
735 LPSTR pDatatype;
736} DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
737
738typedef struct _DOC_INFO_1W {
739 LPWSTR pDocName;
740 LPWSTR pOutputFile;
741 LPWSTR pDatatype;
742} DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
743
744DECL_WINELIB_TYPE_AW(DOC_INFO_1)
745DECL_WINELIB_TYPE_AW(PDOC_INFO_1)
746DECL_WINELIB_TYPE_AW(LPDOC_INFO_1)
747
748typedef struct _DOC_INFO_2A {
749 LPSTR pDocName;
750 LPSTR pOutputFile;
751 LPSTR pDatatype;
752 DWORD dwMode;
Francois Gouget017887e2004-10-04 19:25:21 +0000753 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000754} DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
755
756typedef struct _DOC_INFO_2W {
757 LPWSTR pDocName;
758 LPWSTR pOutputFile;
759 LPWSTR pDatatype;
760 DWORD dwMode;
Francois Gouget017887e2004-10-04 19:25:21 +0000761 DWORD JobId;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000762} DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
763
764DECL_WINELIB_TYPE_AW(DOC_INFO_2)
765DECL_WINELIB_TYPE_AW(PDOC_INFO_2)
766DECL_WINELIB_TYPE_AW(LPDOC_INFO_2)
767
768typedef struct _FORM_INFO_1A {
769 DWORD Flags;
770 LPSTR pName;
771 SIZEL Size;
772 RECTL ImageableArea;
773} FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
774
775typedef struct _FORM_INFO_1W {
776 DWORD Flags;
777 LPWSTR pName;
778 SIZEL Size;
779 RECTL ImageableArea;
780} FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
781
782DECL_WINELIB_TYPE_AW(FORM_INFO_1)
783DECL_WINELIB_TYPE_AW(PFORM_INFO_1)
784DECL_WINELIB_TYPE_AW(LPFORM_INFO_1)
785
786typedef struct _PRINTPROCESSOR_INFO_1A {
787 LPSTR pName;
Patrik Stridvallfeb94cb1999-10-24 21:48:50 +0000788} PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000789 *LPPRINTPROCESSOR_INFO_1A;
790
791typedef struct _PRINTPROCESSOR_INFO_1W {
792 LPWSTR pName;
Patrik Stridvallfeb94cb1999-10-24 21:48:50 +0000793} PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W,
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000794 *LPPRINTPROCESSOR_INFO_1W;
795
796DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1)
797DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1)
798DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1)
799
800typedef struct _PORT_INFO_1A {
801 LPSTR pName;
802} PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
803
804typedef struct _PORT_INFO_1W {
805 LPWSTR pName;
806} PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
807
808DECL_WINELIB_TYPE_AW(PORT_INFO_1)
809DECL_WINELIB_TYPE_AW(PPORT_INFO_1)
810DECL_WINELIB_TYPE_AW(LPPORT_INFO_1)
811
812typedef struct _PORT_INFO_2A {
813 LPSTR pPortName;
814 LPSTR pMonitorName;
815 LPSTR pDescription;
816 DWORD fPortType;
817 DWORD Reserved;
818} PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
819
820typedef struct _PORT_INFO_2W {
821 LPWSTR pPortName;
822 LPWSTR pMonitorName;
823 LPWSTR pDescription;
824 DWORD fPortType;
825 DWORD Reserved;
826} PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
827
828DECL_WINELIB_TYPE_AW(PORT_INFO_2)
829DECL_WINELIB_TYPE_AW(PPORT_INFO_2)
830DECL_WINELIB_TYPE_AW(LPPORT_INFO_2)
831
832typedef struct _PORT_INFO_3A {
833 DWORD dwStatus;
834 LPSTR pszStatus;
835 DWORD dwSeverity;
836} PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
837
838typedef struct _PORT_INFO_3W {
839 DWORD dwStatus;
840 LPWSTR pszStatus;
841 DWORD dwSeverity;
842} PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
843
844DECL_WINELIB_TYPE_AW(PORT_INFO_3)
845DECL_WINELIB_TYPE_AW(PPORT_INFO_3)
846DECL_WINELIB_TYPE_AW(LPPORT_INFO_3)
847
848typedef struct _MONITOR_INFO_1A {
849 LPSTR pName;
850} MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
851
852typedef struct _MONITOR_INFO_1W {
853 LPWSTR pName;
854} MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
855
856DECL_WINELIB_TYPE_AW(MONITOR_INFO_1)
857DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1)
858DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1)
859
Ove Kaaven7200dc82000-07-23 13:38:08 +0000860#endif /* Status */
861
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000862
863typedef struct _MONITOR_INFO_2A {
864 LPSTR pName;
865 LPSTR pEnvironment;
866 LPSTR pDLLName;
867} MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
868
869typedef struct _MONITOR_INFO_2W {
870 LPWSTR pName;
871 LPWSTR pEnvironment;
872 LPWSTR pDLLName;
873} MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
874
875DECL_WINELIB_TYPE_AW(MONITOR_INFO_2)
876DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2)
877DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2)
878
879typedef struct _DATATYPES_INFO_1A {
880 LPSTR pName;
881} DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
882
883typedef struct _DATATYPES_INFO_1W {
884 LPWSTR pName;
885} DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
886
887DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1)
888DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1)
889DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1)
890
891typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
892 WORD Type;
893 WORD Reserved0;
894 DWORD Reserved1;
895 DWORD Reserved2;
896 DWORD Count;
897 PWORD pFields;
898} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE,
899*LPPRINTER_NOTIFY_OPTIONS_TYPE;
900
901typedef struct _PRINTER_NOTIFY_OPTIONS {
902 DWORD Version;
903 DWORD Flags;
904 DWORD Count;
905 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
906} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
907
908typedef struct _PRINTER_NOTIFY_INFO_DATA {
909 WORD Type;
910 WORD Field;
911 DWORD Reserved;
912 DWORD Id;
913 union {
914 DWORD adwData[2];
915 struct {
916 DWORD cbBuf;
917 LPVOID pBuf;
918 } Data;
919 } NotifyData;
920} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA,
921*LPPRINTER_NOTIFY_INFO_DATA;
922
923typedef struct _PRINTER_NOTIFY_INFO {
924 DWORD Version;
925 DWORD Flags;
926 DWORD Count;
927 PRINTER_NOTIFY_INFO_DATA aData[1];
928} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
929
930typedef struct _PROVIDOR_INFO_1A {
931 LPSTR pName;
932 LPSTR pEnvironment;
933 LPSTR pDLLName;
Vincent Béron9a624912002-05-31 23:06:46 +0000934} PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000935
936typedef struct _PROVIDOR_INFO_1W {
937 LPWSTR pName;
938 LPWSTR pEnvironment;
939 LPWSTR pDLLName;
Vincent Béron9a624912002-05-31 23:06:46 +0000940} PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
Huw D M Davies685fa2d1999-09-04 14:30:33 +0000941
942DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1)
943DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1)
944DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1)
Huw D M Daviesbb140561999-07-23 19:23:49 +0000945
Ian Pilcherccfe6e92001-02-21 04:00:40 +0000946typedef struct _PRINTER_ENUM_VALUESA {
947 LPSTR pValueName;
948 DWORD cbValueName;
949 DWORD dwType;
950 LPBYTE pData;
951 DWORD cbData;
952} PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA;
953
954typedef struct _PRINTER_ENUM_VALUESW {
955 LPWSTR pValueName;
956 DWORD cbValueName;
957 DWORD dwType;
958 LPBYTE pData;
959 DWORD cbData;
960} PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW;
961
962DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES)
963DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES)
964
Detlef Riekenbergd271ea22005-08-08 12:13:58 +0000965typedef enum {
966 BIDI_NULL = 0,
967 BIDI_INT,
968 BIDI_FLOAT,
969 BIDI_BOOL,
970 BIDI_STRING,
971 BIDI_TEXT,
972 BIDI_ENUM,
973 BIDI_BLOB
974} BIDI_TYPE;
975
976typedef struct _BINARY_CONTAINER {
977 DWORD cbBuf;
978 LPBYTE pData;
979} BINARY_CONTAINER, *PBINARY_CONTAINER;
980
981typedef struct _BIDI_DATA {
982 DWORD dwBidiType;
983 union
984 {
985 BOOL bData;
986 INT iData;
987 LPWSTR sData;
988 FLOAT fData;
989 BINARY_CONTAINER biData;
990 } u;
991} BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA;
992
993typedef struct _BIDI_REQUEST_DATA {
994 DWORD dwReqNumber;
995 LPWSTR pSchema;
996 BIDI_DATA data;
997} BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA;
998
999typedef struct _BIDI_REQUEST_CONTAINER {
1000 DWORD Version;
1001 DWORD Flags;
1002 DWORD Count;
1003 BIDI_REQUEST_DATA aData[1];
1004} BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER;
1005
1006typedef struct _BIDI_RESPONSE_DATA {
1007 DWORD dwResult;
1008 DWORD dwReqNumber;
1009 LPWSTR pSchema;
1010 BIDI_DATA data;
1011} BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA;
1012
1013typedef struct _BIDI_RESPONSE_CONTAINER {
1014 DWORD Version;
1015 DWORD Flags;
1016 DWORD Count;
1017 BIDI_RESPONSE_DATA aData[1];
1018} BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER;
1019
Alexandre Julliard59545601999-02-10 06:52:57 +00001020/* DECLARATIONS */
Huw D M Daviese39b6761999-05-17 16:20:51 +00001021INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
1022 LPSTR pOutput, LPDEVMODEA pDevMode);
Alexandre Julliarda3960291999-02-26 11:11:13 +00001023INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort,
Huw D M Daviese39b6761999-05-17 16:20:51 +00001024 WORD fwCapability, LPWSTR pOutput,
1025 const DEVMODEW *pDevMode);
Alexandre Julliard59545601999-02-10 06:52:57 +00001026
1027#define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities)
1028
Alexandre Julliarda3960291999-02-26 11:11:13 +00001029LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,
1030 LPSTR pDeviceName, LPDEVMODEA pDevModeOutput,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001031 LPDEVMODEA pDevModeInput,DWORD fMode );
Alexandre Julliarda3960291999-02-26 11:11:13 +00001032LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001033 LPWSTR pDeviceName,
1034 LPDEVMODEW pDevModeOutput,
1035 LPDEVMODEW pDevModeInput, DWORD fMode);
Alexandre Julliard59545601999-02-10 06:52:57 +00001036
1037#define DocumentProperties WINELIB_NAME_AW(DocumentProperties)
1038
Alexandre Julliarda3960291999-02-26 11:11:13 +00001039BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter,
1040 LPPRINTER_DEFAULTSA pDefault);
1041BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter,
1042 LPPRINTER_DEFAULTSW pDefault);
Alexandre Julliard59545601999-02-10 06:52:57 +00001043
1044#define OpenPrinter WINELIB_NAME_AW(OpenPrinter)
1045
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001046BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault);
1047BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
1048#define ResetPrinter WINELIB_NAME_AW(ResetPrinter)
1049
Alexandre Julliarda3960291999-02-26 11:11:13 +00001050BOOL WINAPI ClosePrinter (HANDLE phPrinter);
Alexandre Julliard59545601999-02-10 06:52:57 +00001051
Huw D M Daviesbb140561999-07-23 19:23:49 +00001052BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1053 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1054 LPDWORD pcReturned);
1055BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1056 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1057 LPDWORD pcReturned);
1058#define EnumJobs WINELIB_NAME_AW(EnumJobs)
1059
Klaas van Gendfdedc341999-03-22 12:40:24 +00001060BOOL WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName,
1061 DWORD dwLevel, LPBYTE lpbPrinters,
1062 DWORD cbBuf, LPDWORD lpdwNeeded,
1063 LPDWORD lpdwReturned);
1064BOOL WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName,
1065 DWORD dwLevel, LPBYTE lpbPrinters,
1066 DWORD cbBuf, LPDWORD lpdwNeeded,
1067 LPDWORD lpdwReturned);
1068#define EnumPrinters WINELIB_NAME_AW(EnumPrinters)
1069
Klaas van Gendf66bf561999-04-11 14:56:45 +00001070BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter);
Alexandre Julliard59545601999-02-10 06:52:57 +00001071
Huw D M Daviesee2d9d51999-05-22 18:53:56 +00001072BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1073BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1074#define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory)
1075
Huw D M Davies450270b1999-07-10 11:58:50 +00001076BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment,
1077 DWORD Level, LPBYTE pDriverInfo,
1078 DWORD cbBuf, LPDWORD pcbNeeded);
1079BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment,
1080 DWORD Level, LPBYTE pDriverInfo,
1081 DWORD cbBuf, LPDWORD pcbNeeded);
1082#define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver)
1083
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001084BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1085 DWORD Command);
1086BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1087 DWORD Command);
1088#define SetJob WINELIB_NAME_AW(SetJob)
1089
1090BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1091 DWORD cbBuf, LPDWORD pcbNeeded);
1092BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1093 DWORD cbBuf, LPDWORD pcbNeeded);
1094#define GetJob WINELIB_NAME_AW(GetJob)
1095
1096HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter);
1097HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
1098#define AddPrinter WINELIB_NAME_AW(AddPrinter)
1099
1100BOOL WINAPI DeletePrinter(HANDLE hPrinter);
1101
1102BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +00001103 DWORD Command);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001104BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +00001105 DWORD Command);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001106#define SetPrinter WINELIB_NAME_AW(SetPrinter)
1107
1108BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +00001109 DWORD cbBuf, LPDWORD pcbNeeded);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001110BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +00001111 DWORD cbBuf, LPDWORD pcbNeeded);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001112#define GetPrinter WINELIB_NAME_AW(GetPrinter)
1113
1114BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo);
1115BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
1116#define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver)
1117
Hans Leidekker3650ff52005-07-18 09:09:41 +00001118BOOL WINAPI AddPrinterDriverExA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo,
1119 DWORD dwFileCopyFlags);
1120BOOL WINAPI AddPrinterDriverExW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo,
1121 DWORD dwFileCopyFlags);
1122#define AddPrinterDriverEx WINELIB_NAME_AW(AddPrinterDriverEx)
1123
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001124BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level,
1125 LPBYTE pDriverInfo, DWORD cbBuf,
1126 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1127BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level,
1128 LPBYTE pDriverInfo, DWORD cbBuf,
1129 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1130#define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers)
1131
Mark G. Adamsa0324f72002-01-22 00:49:24 +00001132BOOL WINAPI GetDefaultPrinterA(LPSTR pName, LPDWORD pcbNameSize);
1133BOOL WINAPI GetDefaultPrinterW(LPWSTR pName, LPDWORD pcbNameSize);
1134#define GetDefaultPrinter WINELIB_NAME_AW(GetDefaultPrinter)
1135
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001136BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment,
1137 LPSTR pDriverName);
1138BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment,
1139 LPWSTR pDriverName);
1140#define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver)
1141
Hans Leidekker3650ff52005-07-18 09:09:41 +00001142BOOL WINAPI DeletePrinterDriverExA(LPSTR pName, LPSTR pEnvironment,
1143 LPSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1144BOOL WINAPI DeletePrinterDriverExW(LPWSTR pName, LPWSTR pEnvironment,
1145 LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1146#define DeletePrinterDriverEx WINELIB_NAME_AW(DeletePrinterDriverEx)
1147
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001148BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1149 LPSTR pPathName, LPSTR pPrintProcessorName);
1150BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1151 LPWSTR pPathName, LPWSTR pPrintProcessorName);
1152#define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor)
1153
1154BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment,
1155 DWORD Level, LPBYTE pPrintProcessorInfo,
1156 DWORD cbBuf, LPDWORD pcbNeeded,
1157 LPDWORD pcbReturned);
1158BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment,
1159 DWORD Level, LPBYTE pPrintProcessorInfo,
1160 DWORD cbBuf, LPDWORD pcbNeeded,
1161 LPDWORD pcbReturned);
1162#define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors)
1163
1164BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment,
Vincent Béron9a624912002-05-31 23:06:46 +00001165 DWORD Level,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001166 LPBYTE pPrintProcessorInfo,
1167 DWORD cbBuf, LPDWORD pcbNeeded);
1168
1169BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment,
1170 DWORD Level,
1171 LPBYTE pPrintProcessorInfo,
1172 DWORD cbBuf, LPDWORD pcbNeeded);
1173#define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory)
1174
1175BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,
1176 LPSTR pPrintProcessorName,
1177 DWORD Level, LPBYTE pDatatypes,
1178 DWORD cbBuf, LPDWORD pcbNeeded,
1179 LPDWORD pcbReturned);
1180BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,
1181 LPWSTR pPrintProcessorName,
1182 DWORD Level, LPBYTE pDatatypes,
1183 DWORD cbBuf, LPDWORD pcbNeeded,
1184 LPDWORD pcbReturned);
1185#define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes)
1186
1187BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1188 LPSTR pPrintProcessorName);
1189BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1190 LPWSTR pPrintProcessorName);
1191#define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor)
1192
1193DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1194DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1195#define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter)
1196
1197BOOL WINAPI StartPagePrinter(HANDLE hPrinter);
1198BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1199 LPDWORD pcWritten);
1200BOOL WINAPI EndPagePrinter(HANDLE hPrinter);
1201BOOL WINAPI AbortPrinter(HANDLE hPrinter);
1202BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1203 LPDWORD pNoBytesRead);
1204BOOL WINAPI EndDocPrinter(HANDLE hPrinter);
1205
1206BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1207 LPDWORD pcbNeeded);
1208BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1209 LPDWORD pcbNeeded);
1210#define AddJob WINELIB_NAME_AW(AddJob)
1211
1212BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID);
1213
1214LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +00001215 LPSTR pDeviceName,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001216 PDEVMODEA pDevModeOutput,
1217 PDEVMODEA pDevModeInput);
1218LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
Vincent Béron9a624912002-05-31 23:06:46 +00001219 LPWSTR pDeviceName,
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001220 PDEVMODEW pDevModeOutput,
1221 PDEVMODEW pDevModeInput);
1222#define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties)
1223
1224DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType,
1225 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1226DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType,
1227 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1228#define GetPrinterData WINELIB_NAME_AW(GetPrinterData)
1229
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001230DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1231 LPCSTR pValueName, LPDWORD pType,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001232 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001233DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1234 LPCWSTR pValueName, LPDWORD pType,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001235 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1236#define GetPrinterDataEx WINELIB_NAME_AW(GetPrinterDataEx)
1237
Hans Leidekker3650ff52005-07-18 09:09:41 +00001238DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1239 LPCSTR pValueName);
1240DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1241 LPCWSTR pValueName);
1242#define DeletePrinterDataEx WINELIB_NAME_AW(DeletePrinterDataEx)
1243
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001244DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type,
1245 LPBYTE pData, DWORD cbData);
1246DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type,
1247 LPBYTE pData, DWORD cbData);
1248#define SetPrinterData WINELIB_NAME_AW(SetPrinterData)
1249
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001250DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1251 LPCSTR pValueName, DWORD Type,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001252 LPBYTE pData, DWORD cbData);
Alexandre Julliard4d626b02003-11-11 20:38:51 +00001253DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1254 LPCWSTR pValueName, DWORD Type,
Huw D M Daviesd2b850e2001-02-12 01:26:47 +00001255 LPBYTE pData, DWORD cbData);
1256#define SetPrinterDataEx WINELIB_NAME_AW(SetPrinterDataEx)
1257
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001258DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags);
1259HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,
1260 DWORD fdwFlags,
1261 DWORD fdwOptions,
1262 LPVOID pPrinterNotifyOptions);
1263BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,
1264 PDWORD pdwChange,
1265 LPVOID pvReserved,
1266 LPVOID *ppPrinterNotifyInfo);
Francois Gouget091dc852000-06-11 20:06:12 +00001267BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001268BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
1269
1270DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd,
1271 LPSTR pText, LPSTR pCaption, DWORD dwType);
1272DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd,
1273 LPWSTR pText, LPWSTR pCaption, DWORD dwType);
1274#define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox)
1275
1276BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1277BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1278#define AddForm WINELIB_NAME_AW(AddForm)
1279
1280BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName);
1281BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName);
1282#define DeleteForm WINELIB_NAME_AW(DeleteForm)
1283
1284BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1285 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1286BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1287 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1288#define GetForm WINELIB_NAME_AW(GetForm)
1289
1290BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1291 LPBYTE pForm);
1292BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1293 LPBYTE pForm);
1294#define SetForm WINELIB_NAME_AW(SetForm)
1295
1296BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1297 LPDWORD pcbNeeded, LPDWORD pcReturned);
1298BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1299 LPDWORD pcbNeeded, LPDWORD pcReturned);
1300#define EnumForms WINELIB_NAME_AW(EnumForms)
1301
1302BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors,
1303 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1304BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
1305 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1306#define EnumMonitors WINELIB_NAME_AW(EnumMonitors)
1307
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001308DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName,
1309 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1310 DWORD cbData, LPDWORD pcbData );
1311DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName,
1312 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1313 DWORD cbData, LPDWORD pcbData );
1314#define EnumPrinterData WINELIB_NAME_AW(EnumPrinterData)
1315
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001316BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors);
1317BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
1318#define AddMonitor WINELIB_NAME_AW(AddMonitor)
1319
1320BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment,
1321 LPSTR pMonitorName);
1322BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment,
1323 LPWSTR pMonitorName);
1324#define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor)
1325
1326BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts,
1327 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1328BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts,
1329 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1330#define EnumPorts WINELIB_NAME_AW(EnumPorts)
1331
1332BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName);
1333BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
1334#define AddPort WINELIB_NAME_AW(AddPort)
1335
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001336BOOL WINAPI AddPortExA(HANDLE hMonitor, LPSTR pName, DWORD Level,
1337 LPBYTE lpBuffer, LPSTR lpMonitorName);
1338BOOL WINAPI AddPortExW(HANDLE hMonitor, LPWSTR pName, DWORD Level,
1339 LPBYTE lpBuffer, LPWSTR lpMonitorName);
1340#define AddPortEx WINELIB_NAME_AW(AddPortEx)
1341
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001342BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1343BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1344#define ConfigurePort WINELIB_NAME_AW(ConfigurePort)
1345
1346BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1347BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1348#define DeletePort WINELIB_NAME_AW(DeletePort)
1349
1350BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel,
1351 LPBYTE pPortInfo);
1352BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
1353 LPBYTE pPortInfo);
1354#define SetPort WINELIB_NAME_AW(SetPort)
1355
1356BOOL WINAPI AddPrinterConnectionA(LPSTR pName);
1357BOOL WINAPI AddPrinterConnectionW(LPWSTR pName);
1358#define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection)
1359
1360BOOL WINAPI DeletePrinterConnectionA(LPSTR pName);
1361BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName);
1362#define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection)
1363
1364HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags);
1365
1366BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1367BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1368#define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor)
1369
1370BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment,
1371 LPSTR pPrintProvidorName);
1372BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment,
1373 LPWSTR pPrintProvidorName);
1374#define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor)
1375
Ian Pilcherccfe6e92001-02-21 04:00:40 +00001376DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1377 LPBYTE pEnumValues, DWORD cbEnumValues,
1378 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1379DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1380 LPBYTE pEnumValues, DWORD cbEnumValues,
1381 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1382#define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx)
1383
Hans Leidekker1e33aca2005-02-21 18:33:55 +00001384LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput,
1385 LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile,
1386 DWORD fMode);
Huw D M Davies685fa2d1999-09-04 14:30:33 +00001387
Huw Davies3b77de92005-07-22 18:28:12 +00001388LPSTR WINAPI StartDocDlgA(HANDLE hPrinter, DOCINFOA *doc);
1389LPWSTR WINAPI StartDocDlgW(HANDLE hPrinter, DOCINFOW *doc);
1390#define StartDocDlg WINELIB_NAME_AW(StartDocDlg)
1391
Detlef Riekenberg7364aa42007-04-16 00:47:22 +02001392BOOL WINAPI XcvDataW(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData,
1393 DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData,
1394 PDWORD pcbOutputNeeded, PDWORD pdwStatus);
1395
Alexandre Julliard59545601999-02-10 06:52:57 +00001396#ifdef __cplusplus
Patrik Stridvalla9a671d1999-04-25 19:01:52 +00001397} /* extern "C" */
Alexandre Julliard59545601999-02-10 06:52:57 +00001398#endif
1399
1400#endif /* __WINE_WINSPOOL_H */