user32: Add a test for an invalid DEVMODE passed to ChangeDisplaySettings, make it...
[wine/multimedia.git] / include / winspool.h
blobf939a228419587017c9364720bbc2ba7cd28e070
1 /* Definitions for printing
3 * Copyright 1998 Huw Davies, Andreas Mohr
5 * Portions Copyright (c) 1999 Corel Corporation
6 * (Paul Quinn, Albert Den Haan)
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.
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.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #ifndef __WINE_WINSPOOL_H
23 #define __WINE_WINSPOOL_H
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
29 /* DEFINES */
31 #define PRINTER_ATTRIBUTE_QUEUED 0x00000001
32 #define PRINTER_ATTRIBUTE_DIRECT 0x00000002
33 #define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
34 #define PRINTER_ATTRIBUTE_SHARED 0x00000008
35 #define PRINTER_ATTRIBUTE_NETWORK 0x00000010
36 #define PRINTER_ATTRIBUTE_HIDDEN 0x00000020
37 #define PRINTER_ATTRIBUTE_LOCAL 0x00000040
38 #define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080
39 #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100
40 #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200
41 #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
46 #define PRINTER_CONTROL_PAUSE 1
47 #define PRINTER_CONTROL_RESUME 2
48 #define PRINTER_CONTROL_PURGE 3
49 #define PRINTER_CONTROL_SET_STATUS 4
51 #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
60 #define PRINTER_ENUM_EXPAND 0x00004000
61 #define PRINTER_ENUM_CONTAINER 0x00008000
63 #define PRINTER_ENUM_ICONMASK 0x00ff0000
64 #define PRINTER_ENUM_ICON1 0x00010000
65 #define PRINTER_ENUM_ICON2 0x00020000
66 #define PRINTER_ENUM_ICON3 0x00040000
67 #define PRINTER_ENUM_ICON4 0x00080000
68 #define PRINTER_ENUM_ICON5 0x00100000
69 #define PRINTER_ENUM_ICON6 0x00200000
70 #define PRINTER_ENUM_ICON7 0x00400000
71 #define PRINTER_ENUM_ICON8 0x00800000
72 #define PRINTER_ENUM_HIDE 0x01000000
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
102 #define NO_PRIORITY 0
103 #define MAX_PRIORITY 99
104 #define MIN_PRIORITY 1
105 #define DEF_PRIORITY 1
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
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
127 #define JOB_POSITION_UNSPECIFIED 1
129 #define DI_CHANNEL 1
130 #define DI_READ_SPOOL_JOB 3
132 #define FORM_USER 0
133 #define FORM_BUILTIN 1
134 #define FORM_PRINTER 2
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
141 #define PORT_STATUS_TYPE_ERROR 1
142 #define PORT_STATUS_TYPE_WARNING 2
143 #define PORT_STATUS_TYPE_INFO 3
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
158 #define PRINTER_NOTIFY_TYPE 0
159 #define JOB_NOTIFY_TYPE 1
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
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
213 #define PRINTER_NOTIFY_OPTIONS_REFRESH 1
214 #define PRINTER_NOTIFY_INFO_DISCARDED 1
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
244 #define PRINTER_ERROR_INFORMATION 0x80000000
245 #define PRINTER_ERROR_WARNING 0x40000000
246 #define PRINTER_ERROR_SEVERE 0x20000000
248 #define PRINTER_ERROR_OUTODPAPER 0x00000001
249 #define PRINTER_ERROR_JAM 0x00000002
250 #define PRINTER_ERROR_OUTOFTONER 0x00000004
252 /* 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)
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)
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)
277 /* Flags for printer drivers */
278 #define DRIVER_KERNELMODE 0x00000001
279 #define DRIVER_USERMODE 0x00000002
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
287 #define DPD_DELETE_UNUSED_FILES 0x00000001
288 #define DPD_DELETE_SPECIFIC_VERSION 0x00000002
289 #define DPD_DELETE_ALL_FILES 0x00000004
292 /* TYPES */
293 typedef struct _PRINTER_DEFAULTSA {
294 LPSTR pDatatype;
295 LPDEVMODEA pDevMode;
296 ACCESS_MASK DesiredAccess;
297 } PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
299 typedef struct _PRINTER_DEFAULTSW {
300 LPWSTR pDatatype;
301 LPDEVMODEW pDevMode;
302 ACCESS_MASK DesiredAccess;
303 } PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
305 DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
306 DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
308 typedef struct _DRIVER_INFO_1A {
309 LPSTR pName;
310 } DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
312 typedef struct _DRIVER_INFO_1W {
313 LPWSTR pName;
314 } DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
316 DECL_WINELIB_TYPE_AW(DRIVER_INFO_1)
317 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1)
318 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1)
320 typedef struct _DRIVER_INFO_2A {
321 DWORD cVersion;
322 LPSTR pName;
323 LPSTR pEnvironment;
324 LPSTR pDriverPath;
325 LPSTR pDataFile;
326 LPSTR pConfigFile;
327 } DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
329 typedef struct _DRIVER_INFO_2W {
330 DWORD cVersion;
331 LPWSTR pName;
332 LPWSTR pEnvironment;
333 LPWSTR pDriverPath;
334 LPWSTR pDataFile;
335 LPWSTR pConfigFile;
336 } DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
338 DECL_WINELIB_TYPE_AW(DRIVER_INFO_2)
339 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2)
340 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2)
342 typedef 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;
355 typedef 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;
368 DECL_WINELIB_TYPE_AW(DRIVER_INFO_3)
369 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3)
370 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3)
372 typedef 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;
386 typedef 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;
400 DECL_WINELIB_TYPE_AW(DRIVER_INFO_4)
401 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_4)
402 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_4)
405 typedef 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;
417 typedef 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;
429 DECL_WINELIB_TYPE_AW(DRIVER_INFO_5)
430 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_5)
431 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_5)
433 typedef 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;
453 typedef 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;
473 DECL_WINELIB_TYPE_AW(DRIVER_INFO_6)
474 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_6)
475 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_6)
477 /* DRIVER_INFO_7 is not defined in native winspool.h and not found in the www */
479 typedef 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;
507 typedef 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;
535 DECL_WINELIB_TYPE_AW(DRIVER_INFO_8)
536 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_8)
537 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_8)
540 typedef struct _PRINTER_INFO_1A {
541 DWORD Flags;
542 LPSTR pDescription;
543 LPSTR pName;
544 LPSTR pComment;
545 } PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
547 typedef struct _PRINTER_INFO_1W {
548 DWORD Flags;
549 LPWSTR pDescription;
550 LPWSTR pName;
551 LPWSTR pComment;
552 } PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
554 DECL_WINELIB_TYPE_AW(PRINTER_INFO_1)
555 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1)
556 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1)
558 /* FIXME: winspool.h declares some structure members with the name Status.
559 * unfortunately <X11/ICE/ICElib.h> #defines Status to the type 'int'
560 * therefore the following hack */
561 #ifndef Status
563 typedef struct _PRINTER_INFO_2A {
564 LPSTR pServerName;
565 LPSTR pPrinterName;
566 LPSTR pShareName;
567 LPSTR pPortName;
568 LPSTR pDriverName;
569 LPSTR pComment;
570 LPSTR pLocation;
571 LPDEVMODEA pDevMode;
572 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;
585 } PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
587 typedef struct _PRINTER_INFO_2W {
588 LPWSTR pServerName;
589 LPWSTR pPrinterName;
590 LPWSTR pShareName;
591 LPWSTR pPortName;
592 LPWSTR pDriverName;
593 LPWSTR pComment;
594 LPWSTR pLocation;
595 LPDEVMODEW pDevMode;
596 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;
609 } PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
611 DECL_WINELIB_TYPE_AW(PRINTER_INFO_2)
612 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2)
613 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2)
615 typedef struct _PRINTER_INFO_3 {
616 PSECURITY_DESCRIPTOR pSecurityDescriptor;
617 } PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
619 typedef struct _PRINTER_INFO_4A {
620 LPSTR pPrinterName;
621 LPSTR pServerName;
622 DWORD Attributes;
623 } PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
625 typedef struct _PRINTER_INFO_4W {
626 LPWSTR pPrinterName;
627 LPWSTR pServerName;
628 DWORD Attributes;
629 } PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
631 DECL_WINELIB_TYPE_AW(PRINTER_INFO_4)
632 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4)
633 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4)
635 typedef struct _PRINTER_INFO_5A {
636 LPSTR pPrinterName;
637 LPSTR pPortName;
638 DWORD Attributes;
639 DWORD DeviceNotSelectedTimeout;
640 DWORD TransmissionRetryTimeout;
641 } PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
643 typedef struct _PRINTER_INFO_5W {
644 LPWSTR pPrinterName;
645 LPWSTR pPortName;
646 DWORD Attributes;
647 DWORD DeviceNotSelectedTimeout;
648 DWORD TransmissionRetryTimeout;
649 } PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
651 DECL_WINELIB_TYPE_AW(PRINTER_INFO_5)
652 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5)
653 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5)
655 typedef struct _PRINTER_INFO_6 {
656 DWORD dwStatus;
657 } PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
659 typedef struct _PRINTER_INFO_7A {
660 LPSTR pszObjectGUID;
661 DWORD dwAction;
662 } PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A;
664 typedef struct _PRINTER_INFO_7W {
665 LPWSTR pszObjectGUID;
666 DWORD dwAction;
667 } PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W;
669 DECL_WINELIB_TYPE_AW(PRINTER_INFO_7)
670 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_7)
671 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_7)
673 typedef struct _PRINTER_INFO_8A {
674 LPDEVMODEA pDevMode;
675 } PRINTER_INFO_8A, *PPRINTER_INFO_8A, *LPPRINTER_INFO_8A;
677 typedef struct _PRINTER_INFO_8W {
678 LPDEVMODEW pDevMode;
679 } PRINTER_INFO_8W, *PPRINTER_INFO_8W, *LPPRINTER_INFO_8W;
681 DECL_WINELIB_TYPE_AW(PRINTER_INFO_8)
682 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_8)
683 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_8)
685 typedef struct _PRINTER_INFO_9A {
686 LPDEVMODEA pDevMode;
687 } PRINTER_INFO_9A, *PPRINTER_INFO_9A, *LPPRINTER_INFO_9A;
689 typedef struct _PRINTER_INFO_9W {
690 LPDEVMODEW pDevMode;
691 } PRINTER_INFO_9W, *PPRINTER_INFO_9W, *LPPRINTER_INFO_9W;
693 DECL_WINELIB_TYPE_AW(PRINTER_INFO_9)
694 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_9)
695 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_9)
698 typedef struct _JOB_INFO_1A {
699 DWORD JobId;
700 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;
714 typedef struct _JOB_INFO_1W {
715 DWORD JobId;
716 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;
730 DECL_WINELIB_TYPE_AW(JOB_INFO_1)
731 DECL_WINELIB_TYPE_AW(PJOB_INFO_1)
732 DECL_WINELIB_TYPE_AW(LPJOB_INFO_1)
734 typedef struct _JOB_INFO_2A {
735 DWORD JobId;
736 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;
760 typedef struct _JOB_INFO_2W {
761 DWORD JobId;
762 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;
786 DECL_WINELIB_TYPE_AW(JOB_INFO_2)
787 DECL_WINELIB_TYPE_AW(PJOB_INFO_2)
788 DECL_WINELIB_TYPE_AW(LPJOB_INFO_2)
790 typedef struct _JOB_INFO_3 {
791 DWORD JobId;
792 DWORD NextJobId;
793 DWORD Reserved;
794 } JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
796 typedef struct _ADDJOB_INFO_1A {
797 LPSTR Path;
798 DWORD JobId;
799 } ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
801 typedef struct _ADDJOB_INFO_1W {
802 LPWSTR Path;
803 DWORD JobId;
804 } ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
806 DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1)
807 DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1)
808 DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1)
810 typedef struct _DOC_INFO_1A {
811 LPSTR pDocName;
812 LPSTR pOutputFile;
813 LPSTR pDatatype;
814 } DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
816 typedef struct _DOC_INFO_1W {
817 LPWSTR pDocName;
818 LPWSTR pOutputFile;
819 LPWSTR pDatatype;
820 } DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
822 DECL_WINELIB_TYPE_AW(DOC_INFO_1)
823 DECL_WINELIB_TYPE_AW(PDOC_INFO_1)
824 DECL_WINELIB_TYPE_AW(LPDOC_INFO_1)
826 typedef struct _DOC_INFO_2A {
827 LPSTR pDocName;
828 LPSTR pOutputFile;
829 LPSTR pDatatype;
830 DWORD dwMode;
831 DWORD JobId;
832 } DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
834 typedef struct _DOC_INFO_2W {
835 LPWSTR pDocName;
836 LPWSTR pOutputFile;
837 LPWSTR pDatatype;
838 DWORD dwMode;
839 DWORD JobId;
840 } DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
842 DECL_WINELIB_TYPE_AW(DOC_INFO_2)
843 DECL_WINELIB_TYPE_AW(PDOC_INFO_2)
844 DECL_WINELIB_TYPE_AW(LPDOC_INFO_2)
846 typedef 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;
853 typedef 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;
860 DECL_WINELIB_TYPE_AW(FORM_INFO_1)
861 DECL_WINELIB_TYPE_AW(PFORM_INFO_1)
862 DECL_WINELIB_TYPE_AW(LPFORM_INFO_1)
864 typedef struct _FORM_INFO_2A {
865 DWORD Flags;
866 LPSTR pName;
867 SIZEL Size;
868 RECTL ImageableArea;
869 LPCSTR pKeyword;
870 DWORD StringType;
871 LPSTR pMuiDll;
872 DWORD dwResourceId;
873 LPSTR pDisplayName;
874 LANGID wLangId;
875 } FORM_INFO_2A, *PFORM_INFO_2A, *LPFORM_INFO_2A;
877 typedef struct _FORM_INFO_2W {
878 DWORD Flags;
879 LPWSTR pName;
880 SIZEL Size;
881 RECTL ImageableArea;
882 LPCSTR pKeyword;
883 DWORD StringType;
884 LPWSTR pMuiDll;
885 DWORD dwResourceId;
886 LPWSTR pDisplayName;
887 LANGID wLangId;
888 } FORM_INFO_2W, *PFORM_INFO_2W, *LPFORM_INFO_2W;
890 DECL_WINELIB_TYPE_AW(FORM_INFO_2)
891 DECL_WINELIB_TYPE_AW(PFORM_INFO_2)
892 DECL_WINELIB_TYPE_AW(LPFORM_INFO_2)
894 typedef struct _PRINTPROCESSOR_INFO_1A {
895 LPSTR pName;
896 } PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A,
897 *LPPRINTPROCESSOR_INFO_1A;
899 typedef struct _PRINTPROCESSOR_INFO_1W {
900 LPWSTR pName;
901 } PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W,
902 *LPPRINTPROCESSOR_INFO_1W;
904 DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1)
905 DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1)
906 DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1)
908 typedef struct _PORT_INFO_1A {
909 LPSTR pName;
910 } PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
912 typedef struct _PORT_INFO_1W {
913 LPWSTR pName;
914 } PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
916 DECL_WINELIB_TYPE_AW(PORT_INFO_1)
917 DECL_WINELIB_TYPE_AW(PPORT_INFO_1)
918 DECL_WINELIB_TYPE_AW(LPPORT_INFO_1)
920 typedef struct _PORT_INFO_2A {
921 LPSTR pPortName;
922 LPSTR pMonitorName;
923 LPSTR pDescription;
924 DWORD fPortType;
925 DWORD Reserved;
926 } PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
928 typedef struct _PORT_INFO_2W {
929 LPWSTR pPortName;
930 LPWSTR pMonitorName;
931 LPWSTR pDescription;
932 DWORD fPortType;
933 DWORD Reserved;
934 } PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
936 DECL_WINELIB_TYPE_AW(PORT_INFO_2)
937 DECL_WINELIB_TYPE_AW(PPORT_INFO_2)
938 DECL_WINELIB_TYPE_AW(LPPORT_INFO_2)
940 typedef struct _PORT_INFO_3A {
941 DWORD dwStatus;
942 LPSTR pszStatus;
943 DWORD dwSeverity;
944 } PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
946 typedef struct _PORT_INFO_3W {
947 DWORD dwStatus;
948 LPWSTR pszStatus;
949 DWORD dwSeverity;
950 } PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
952 DECL_WINELIB_TYPE_AW(PORT_INFO_3)
953 DECL_WINELIB_TYPE_AW(PPORT_INFO_3)
954 DECL_WINELIB_TYPE_AW(LPPORT_INFO_3)
956 typedef struct _MONITOR_INFO_1A {
957 LPSTR pName;
958 } MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
960 typedef struct _MONITOR_INFO_1W {
961 LPWSTR pName;
962 } MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
964 DECL_WINELIB_TYPE_AW(MONITOR_INFO_1)
965 DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1)
966 DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1)
968 #endif /* Status */
971 typedef struct _MONITOR_INFO_2A {
972 LPSTR pName;
973 LPSTR pEnvironment;
974 LPSTR pDLLName;
975 } MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
977 typedef struct _MONITOR_INFO_2W {
978 LPWSTR pName;
979 LPWSTR pEnvironment;
980 LPWSTR pDLLName;
981 } MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
983 DECL_WINELIB_TYPE_AW(MONITOR_INFO_2)
984 DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2)
985 DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2)
987 typedef struct _DATATYPES_INFO_1A {
988 LPSTR pName;
989 } DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
991 typedef struct _DATATYPES_INFO_1W {
992 LPWSTR pName;
993 } DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
995 DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1)
996 DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1)
997 DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1)
999 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
1000 WORD Type;
1001 WORD Reserved0;
1002 DWORD Reserved1;
1003 DWORD Reserved2;
1004 DWORD Count;
1005 PWORD pFields;
1006 } PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE,
1007 *LPPRINTER_NOTIFY_OPTIONS_TYPE;
1009 typedef struct _PRINTER_NOTIFY_OPTIONS {
1010 DWORD Version;
1011 DWORD Flags;
1012 DWORD Count;
1013 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
1014 } PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
1016 typedef struct _PRINTER_NOTIFY_INFO_DATA {
1017 WORD Type;
1018 WORD Field;
1019 DWORD Reserved;
1020 DWORD Id;
1021 union {
1022 DWORD adwData[2];
1023 struct {
1024 DWORD cbBuf;
1025 LPVOID pBuf;
1026 } Data;
1027 } NotifyData;
1028 } PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA,
1029 *LPPRINTER_NOTIFY_INFO_DATA;
1031 typedef struct _PRINTER_NOTIFY_INFO {
1032 DWORD Version;
1033 DWORD Flags;
1034 DWORD Count;
1035 PRINTER_NOTIFY_INFO_DATA aData[1];
1036 } PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
1038 typedef struct _PROVIDOR_INFO_1A {
1039 LPSTR pName;
1040 LPSTR pEnvironment;
1041 LPSTR pDLLName;
1042 } PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
1044 typedef struct _PROVIDOR_INFO_1W {
1045 LPWSTR pName;
1046 LPWSTR pEnvironment;
1047 LPWSTR pDLLName;
1048 } PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
1050 DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1)
1051 DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1)
1052 DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1)
1054 typedef struct _PRINTER_ENUM_VALUESA {
1055 LPSTR pValueName;
1056 DWORD cbValueName;
1057 DWORD dwType;
1058 LPBYTE pData;
1059 DWORD cbData;
1060 } PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA;
1062 typedef struct _PRINTER_ENUM_VALUESW {
1063 LPWSTR pValueName;
1064 DWORD cbValueName;
1065 DWORD dwType;
1066 LPBYTE pData;
1067 DWORD cbData;
1068 } PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW;
1070 DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES)
1071 DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES)
1073 typedef enum {
1074 BIDI_NULL = 0,
1075 BIDI_INT,
1076 BIDI_FLOAT,
1077 BIDI_BOOL,
1078 BIDI_STRING,
1079 BIDI_TEXT,
1080 BIDI_ENUM,
1081 BIDI_BLOB
1082 } BIDI_TYPE;
1084 typedef struct _BINARY_CONTAINER {
1085 DWORD cbBuf;
1086 LPBYTE pData;
1087 } BINARY_CONTAINER, *PBINARY_CONTAINER;
1089 typedef struct _BIDI_DATA {
1090 DWORD dwBidiType;
1091 union
1093 BOOL bData;
1094 INT iData;
1095 LPWSTR sData;
1096 FLOAT fData;
1097 BINARY_CONTAINER biData;
1098 } u;
1099 } BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA;
1101 typedef struct _BIDI_REQUEST_DATA {
1102 DWORD dwReqNumber;
1103 LPWSTR pSchema;
1104 BIDI_DATA data;
1105 } BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA;
1107 typedef struct _BIDI_REQUEST_CONTAINER {
1108 DWORD Version;
1109 DWORD Flags;
1110 DWORD Count;
1111 BIDI_REQUEST_DATA aData[1];
1112 } BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER;
1114 typedef struct _BIDI_RESPONSE_DATA {
1115 DWORD dwResult;
1116 DWORD dwReqNumber;
1117 LPWSTR pSchema;
1118 BIDI_DATA data;
1119 } BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA;
1121 typedef struct _BIDI_RESPONSE_CONTAINER {
1122 DWORD Version;
1123 DWORD Flags;
1124 DWORD Count;
1125 BIDI_RESPONSE_DATA aData[1];
1126 } BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER;
1128 /* DECLARATIONS */
1129 INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
1130 LPSTR pOutput, LPDEVMODEA pDevMode);
1131 INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort,
1132 WORD fwCapability, LPWSTR pOutput,
1133 const DEVMODEW *pDevMode);
1135 #define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities)
1137 LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,
1138 LPSTR pDeviceName, LPDEVMODEA pDevModeOutput,
1139 LPDEVMODEA pDevModeInput,DWORD fMode );
1140 LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
1141 LPWSTR pDeviceName,
1142 LPDEVMODEW pDevModeOutput,
1143 LPDEVMODEW pDevModeInput, DWORD fMode);
1145 #define DocumentProperties WINELIB_NAME_AW(DocumentProperties)
1147 BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter,
1148 LPPRINTER_DEFAULTSA pDefault);
1149 BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter,
1150 LPPRINTER_DEFAULTSW pDefault);
1152 #define OpenPrinter WINELIB_NAME_AW(OpenPrinter)
1154 BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault);
1155 BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
1156 #define ResetPrinter WINELIB_NAME_AW(ResetPrinter)
1158 BOOL WINAPI ClosePrinter (HANDLE phPrinter);
1160 BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1161 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1162 LPDWORD pcReturned);
1163 BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1164 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1165 LPDWORD pcReturned);
1166 #define EnumJobs WINELIB_NAME_AW(EnumJobs)
1168 BOOL WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName,
1169 DWORD dwLevel, LPBYTE lpbPrinters,
1170 DWORD cbBuf, LPDWORD lpdwNeeded,
1171 LPDWORD lpdwReturned);
1172 BOOL WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName,
1173 DWORD dwLevel, LPBYTE lpbPrinters,
1174 DWORD cbBuf, LPDWORD lpdwNeeded,
1175 LPDWORD lpdwReturned);
1176 #define EnumPrinters WINELIB_NAME_AW(EnumPrinters)
1178 BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter);
1180 BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1181 BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1182 #define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory)
1184 BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment,
1185 DWORD Level, LPBYTE pDriverInfo,
1186 DWORD cbBuf, LPDWORD pcbNeeded);
1187 BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment,
1188 DWORD Level, LPBYTE pDriverInfo,
1189 DWORD cbBuf, LPDWORD pcbNeeded);
1190 #define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver)
1192 BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1193 DWORD Command);
1194 BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1195 DWORD Command);
1196 #define SetJob WINELIB_NAME_AW(SetJob)
1198 BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1199 DWORD cbBuf, LPDWORD pcbNeeded);
1200 BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1201 DWORD cbBuf, LPDWORD pcbNeeded);
1202 #define GetJob WINELIB_NAME_AW(GetJob)
1204 HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter);
1205 HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
1206 #define AddPrinter WINELIB_NAME_AW(AddPrinter)
1208 BOOL WINAPI DeletePrinter(HANDLE hPrinter);
1210 BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1211 DWORD Command);
1212 BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1213 DWORD Command);
1214 #define SetPrinter WINELIB_NAME_AW(SetPrinter)
1216 BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1217 DWORD cbBuf, LPDWORD pcbNeeded);
1218 BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1219 DWORD cbBuf, LPDWORD pcbNeeded);
1220 #define GetPrinter WINELIB_NAME_AW(GetPrinter)
1222 BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo);
1223 BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
1224 #define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver)
1226 BOOL WINAPI AddPrinterDriverExA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo,
1227 DWORD dwFileCopyFlags);
1228 BOOL WINAPI AddPrinterDriverExW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo,
1229 DWORD dwFileCopyFlags);
1230 #define AddPrinterDriverEx WINELIB_NAME_AW(AddPrinterDriverEx)
1232 BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level,
1233 LPBYTE pDriverInfo, DWORD cbBuf,
1234 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1235 BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level,
1236 LPBYTE pDriverInfo, DWORD cbBuf,
1237 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1238 #define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers)
1240 BOOL WINAPI GetDefaultPrinterA(LPSTR pName, LPDWORD pcbNameSize);
1241 BOOL WINAPI GetDefaultPrinterW(LPWSTR pName, LPDWORD pcbNameSize);
1242 #define GetDefaultPrinter WINELIB_NAME_AW(GetDefaultPrinter)
1244 BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment,
1245 LPSTR pDriverName);
1246 BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment,
1247 LPWSTR pDriverName);
1248 #define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver)
1250 BOOL WINAPI DeletePrinterDriverExA(LPSTR pName, LPSTR pEnvironment,
1251 LPSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1252 BOOL WINAPI DeletePrinterDriverExW(LPWSTR pName, LPWSTR pEnvironment,
1253 LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1254 #define DeletePrinterDriverEx WINELIB_NAME_AW(DeletePrinterDriverEx)
1256 BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1257 LPSTR pPathName, LPSTR pPrintProcessorName);
1258 BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1259 LPWSTR pPathName, LPWSTR pPrintProcessorName);
1260 #define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor)
1262 BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment,
1263 DWORD Level, LPBYTE pPrintProcessorInfo,
1264 DWORD cbBuf, LPDWORD pcbNeeded,
1265 LPDWORD pcbReturned);
1266 BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment,
1267 DWORD Level, LPBYTE pPrintProcessorInfo,
1268 DWORD cbBuf, LPDWORD pcbNeeded,
1269 LPDWORD pcbReturned);
1270 #define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors)
1272 BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment,
1273 DWORD Level,
1274 LPBYTE pPrintProcessorInfo,
1275 DWORD cbBuf, LPDWORD pcbNeeded);
1277 BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment,
1278 DWORD Level,
1279 LPBYTE pPrintProcessorInfo,
1280 DWORD cbBuf, LPDWORD pcbNeeded);
1281 #define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory)
1283 BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,
1284 LPSTR pPrintProcessorName,
1285 DWORD Level, LPBYTE pDatatypes,
1286 DWORD cbBuf, LPDWORD pcbNeeded,
1287 LPDWORD pcbReturned);
1288 BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,
1289 LPWSTR pPrintProcessorName,
1290 DWORD Level, LPBYTE pDatatypes,
1291 DWORD cbBuf, LPDWORD pcbNeeded,
1292 LPDWORD pcbReturned);
1293 #define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes)
1295 BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1296 LPSTR pPrintProcessorName);
1297 BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1298 LPWSTR pPrintProcessorName);
1299 #define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor)
1301 DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1302 DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1303 #define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter)
1305 BOOL WINAPI StartPagePrinter(HANDLE hPrinter);
1306 BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1307 LPDWORD pcWritten);
1308 BOOL WINAPI EndPagePrinter(HANDLE hPrinter);
1309 BOOL WINAPI AbortPrinter(HANDLE hPrinter);
1310 BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1311 LPDWORD pNoBytesRead);
1312 BOOL WINAPI EndDocPrinter(HANDLE hPrinter);
1314 BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1315 LPDWORD pcbNeeded);
1316 BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1317 LPDWORD pcbNeeded);
1318 #define AddJob WINELIB_NAME_AW(AddJob)
1320 BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID);
1322 LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter,
1323 LPSTR pDeviceName,
1324 PDEVMODEA pDevModeOutput,
1325 PDEVMODEA pDevModeInput);
1326 LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
1327 LPWSTR pDeviceName,
1328 PDEVMODEW pDevModeOutput,
1329 PDEVMODEW pDevModeInput);
1330 #define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties)
1332 DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType,
1333 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1334 DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType,
1335 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1336 #define GetPrinterData WINELIB_NAME_AW(GetPrinterData)
1338 DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1339 LPCSTR pValueName, LPDWORD pType,
1340 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1341 DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1342 LPCWSTR pValueName, LPDWORD pType,
1343 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1344 #define GetPrinterDataEx WINELIB_NAME_AW(GetPrinterDataEx)
1346 DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1347 LPCSTR pValueName);
1348 DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1349 LPCWSTR pValueName);
1350 #define DeletePrinterDataEx WINELIB_NAME_AW(DeletePrinterDataEx)
1352 DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type,
1353 LPBYTE pData, DWORD cbData);
1354 DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type,
1355 LPBYTE pData, DWORD cbData);
1356 #define SetPrinterData WINELIB_NAME_AW(SetPrinterData)
1358 DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1359 LPCSTR pValueName, DWORD Type,
1360 LPBYTE pData, DWORD cbData);
1361 DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1362 LPCWSTR pValueName, DWORD Type,
1363 LPBYTE pData, DWORD cbData);
1364 #define SetPrinterDataEx WINELIB_NAME_AW(SetPrinterDataEx)
1366 DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags);
1367 HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,
1368 DWORD fdwFlags,
1369 DWORD fdwOptions,
1370 LPVOID pPrinterNotifyOptions);
1371 BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,
1372 PDWORD pdwChange,
1373 LPVOID pvReserved,
1374 LPVOID *ppPrinterNotifyInfo);
1375 BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
1376 BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
1378 DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd,
1379 LPSTR pText, LPSTR pCaption, DWORD dwType);
1380 DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd,
1381 LPWSTR pText, LPWSTR pCaption, DWORD dwType);
1382 #define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox)
1384 BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1385 BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1386 #define AddForm WINELIB_NAME_AW(AddForm)
1388 BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName);
1389 BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName);
1390 #define DeleteForm WINELIB_NAME_AW(DeleteForm)
1392 BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1393 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1394 BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1395 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1396 #define GetForm WINELIB_NAME_AW(GetForm)
1398 BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1399 LPBYTE pForm);
1400 BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1401 LPBYTE pForm);
1402 #define SetForm WINELIB_NAME_AW(SetForm)
1404 BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1405 LPDWORD pcbNeeded, LPDWORD pcReturned);
1406 BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1407 LPDWORD pcbNeeded, LPDWORD pcReturned);
1408 #define EnumForms WINELIB_NAME_AW(EnumForms)
1410 BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors,
1411 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1412 BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
1413 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1414 #define EnumMonitors WINELIB_NAME_AW(EnumMonitors)
1416 DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName,
1417 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1418 DWORD cbData, LPDWORD pcbData );
1419 DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName,
1420 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1421 DWORD cbData, LPDWORD pcbData );
1422 #define EnumPrinterData WINELIB_NAME_AW(EnumPrinterData)
1424 BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors);
1425 BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
1426 #define AddMonitor WINELIB_NAME_AW(AddMonitor)
1428 BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment,
1429 LPSTR pMonitorName);
1430 BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment,
1431 LPWSTR pMonitorName);
1432 #define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor)
1434 BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts,
1435 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1436 BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts,
1437 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1438 #define EnumPorts WINELIB_NAME_AW(EnumPorts)
1440 BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName);
1441 BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
1442 #define AddPort WINELIB_NAME_AW(AddPort)
1444 BOOL WINAPI AddPortExA(LPSTR, DWORD, LPBYTE, LPSTR);
1445 BOOL WINAPI AddPortExW(LPWSTR, DWORD, LPBYTE, LPWSTR);
1446 #define AddPortEx WINELIB_NAME_AW(AddPortEx)
1448 BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1449 BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1450 #define ConfigurePort WINELIB_NAME_AW(ConfigurePort)
1452 BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1453 BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1454 #define DeletePort WINELIB_NAME_AW(DeletePort)
1456 BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel,
1457 LPBYTE pPortInfo);
1458 BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
1459 LPBYTE pPortInfo);
1460 #define SetPort WINELIB_NAME_AW(SetPort)
1462 BOOL WINAPI AddPrinterConnectionA(LPSTR pName);
1463 BOOL WINAPI AddPrinterConnectionW(LPWSTR pName);
1464 #define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection)
1466 BOOL WINAPI DeletePrinterConnectionA(LPSTR pName);
1467 BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName);
1468 #define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection)
1470 HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags);
1472 BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1473 BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1474 #define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor)
1476 BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment,
1477 LPSTR pPrintProvidorName);
1478 BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment,
1479 LPWSTR pPrintProvidorName);
1480 #define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor)
1482 DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1483 LPBYTE pEnumValues, DWORD cbEnumValues,
1484 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1485 DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1486 LPBYTE pEnumValues, DWORD cbEnumValues,
1487 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1488 #define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx)
1490 LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput,
1491 LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile,
1492 DWORD fMode);
1494 LPSTR WINAPI StartDocDlgA(HANDLE hPrinter, DOCINFOA *doc);
1495 LPWSTR WINAPI StartDocDlgW(HANDLE hPrinter, DOCINFOW *doc);
1496 #define StartDocDlg WINELIB_NAME_AW(StartDocDlg)
1498 BOOL WINAPI XcvDataW(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData,
1499 DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData,
1500 PDWORD pcbOutputNeeded, PDWORD pdwStatus);
1502 #ifdef __cplusplus
1503 } /* extern "C" */
1504 #endif
1506 #endif /* __WINE_WINSPOOL_H */