With some apps a fault was possible in ExtractAssociatedIcon.
[wine.git] / include / winspool.h
blobdc25e1919d1d159ec9d261c0380d4cd3c8687acc
1 /* Definitions for printing
3 * Copyright 1998 Huw Davies, Andreas Mohr
5 * Portions Copyright (c) 1999 Corel Corporation
6 * (Paul Quinn, Albert Den Haan)
7 */
8 #ifndef __WINE_WINSPOOL_H
9 #define __WINE_WINSPOOL_H
11 #include "windef.h"
12 #include "winbase.h"
13 #include "wingdi.h"
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
19 /* DEFINES */
21 #define PRINTER_ATTRIBUTE_QUEUED 0x00000001
22 #define PRINTER_ATTRIBUTE_DIRECT 0x00000002
23 #define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
24 #define PRINTER_ATTRIBUTE_SHARED 0x00000008
25 #define PRINTER_ATTRIBUTE_NETWORK 0x00000010
26 #define PRINTER_ATTRIBUTE_HIDDEN 0x00000020
27 #define PRINTER_ATTRIBUTE_LOCAL 0x00000040
29 #define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080
30 #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100
31 #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200
33 #define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x00000400
34 #define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x00000800
36 #define PRINTER_CONTROL_PAUSE 1
37 #define PRINTER_CONTROL_RESUME 2
38 #define PRINTER_CONTROL_PURGE 3
39 #define PRINTER_CONTROL_SET_STATUS 4
41 #define PRINTER_ENUM_DEFAULT 0x00000001
42 #define PRINTER_ENUM_LOCAL 0x00000002
43 #define PRINTER_ENUM_CONNECTIONS 0x00000004
44 #define PRINTER_ENUM_FAVORITE 0x00000004
45 #define PRINTER_ENUM_NAME 0x00000008
46 #define PRINTER_ENUM_REMOTE 0x00000010
47 #define PRINTER_ENUM_SHARED 0x00000020
48 #define PRINTER_ENUM_NETWORK 0x00000040
50 #define PRINTER_ENUM_EXPAND 0x00004000
51 #define PRINTER_ENUM_CONTAINER 0x00008000
53 #define PRINTER_ENUM_ICONMASK 0x00ff0000
54 #define PRINTER_ENUM_ICON1 0x00010000
55 #define PRINTER_ENUM_ICON2 0x00020000
56 #define PRINTER_ENUM_ICON3 0x00040000
57 #define PRINTER_ENUM_ICON4 0x00080000
58 #define PRINTER_ENUM_ICON5 0x00100000
59 #define PRINTER_ENUM_ICON6 0x00200000
60 #define PRINTER_ENUM_ICON7 0x00400000
61 #define PRINTER_ENUM_ICON8 0x00800000
64 /* various printer statuses */
65 #define PRINTER_STATUS_PAUSED 0x00000001
66 #define PRINTER_STATUS_ERROR 0x00000002
67 #define PRINTER_STATUS_PENDING_DELETION 0x00000004
68 #define PRINTER_STATUS_PAPER_JAM 0x00000008
69 #define PRINTER_STATUS_PAPER_OUT 0x00000010
70 #define PRINTER_STATUS_MANUAL_FEED 0x00000020
71 #define PRINTER_STATUS_PAPER_PROBLEM 0x00000040
72 #define PRINTER_STATUS_OFFLINE 0x00000080
73 #define PRINTER_STATUS_IO_ACTIVE 0x00000100
74 #define PRINTER_STATUS_BUSY 0x00000200
75 #define PRINTER_STATUS_PRINTING 0x00000400
76 #define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800
77 #define PRINTER_STATUS_NOT_AVAILABLE 0x00001000
78 #define PRINTER_STATUS_WAITING 0x00002000
79 #define PRINTER_STATUS_PROCESSING 0x00004000
80 #define PRINTER_STATUS_INITIALIZING 0x00008000
81 #define PRINTER_STATUS_WARMING_UP 0x00010000
82 #define PRINTER_STATUS_TONER_LOW 0x00020000
83 #define PRINTER_STATUS_NO_TONER 0x00040000
84 #define PRINTER_STATUS_PAGE_PUNT 0x00080000
85 #define PRINTER_STATUS_USER_INTERVENTION 0x00100000
86 #define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000
87 #define PRINTER_STATUS_DOOR_OPEN 0x00400000
88 #define PRINTER_STATUS_SERVER_UNKNOWN 0x00800000
89 #define PRINTER_STATUS_POWER_SAVE 0x01000000
91 #define NO_PRIORITY 0
92 #define MAX_PRIORITY 99
93 #define MIN_PRIORITY 1
94 #define DEF_PRIORITY 1
96 #define JOB_CONTROL_PAUSE 1
97 #define JOB_CONTROL_RESUME 2
98 #define JOB_CONTROL_CANCEL 3
99 #define JOB_CONTROL_RESTART 4
100 #define JOB_CONTROL_DELETE 5
101 #define JOB_CONTROL_SENT_TO_PRINTER 6
102 #define JOB_CONTROL_LAST_PAGE_EJECTED 7
104 #define JOB_STATUS_PAUSED 0x0001
105 #define JOB_STATUS_ERROR 0x0002
106 #define JOB_STATUS_DELETING 0x0004
107 #define JOB_STATUS_SPOOLING 0x0008
108 #define JOB_STATUS_PRINTING 0x0010
109 #define JOB_STATUS_OFFLINE 0x0020
110 #define JOB_STATUS_PAPEROUT 0x0040
111 #define JOB_STATUS_PRINTED 0x0080
112 #define JOB_STATUS_DELETED 0x0100
113 #define JOB_STATUS_BLOCKED_DEVQ 0x0200
114 #define JOB_STATUS_USER_INTERVENTION 0x0400
116 #define JOB_POSITION_UNSPECIFIED 1
118 #define DI_CHANNEL 1
119 #define DI_READ_SPOOL_JOB 3
121 #define FORM_USER 0
122 #define FORM_BUILTIN 1
123 #define FORM_PRINTER 2
125 #define PORT_TYPE_WRITE 1
126 #define PORT_TYPE_READ 2
127 #define PORT_TYPE_REDIRECTED 4
128 #define PORT_TYPE_NET_ATTACHED 8
130 #define PORT_STATUS_TYPE_ERROR 1
131 #define PORT_STATUS_TYPE_WARNING 2
132 #define PORT_STATUS_TYPE_INFO 3
134 #define PORT_STATUS_OFFLINE 1
135 #define PORT_STATUS_PAPER_JAM 2
136 #define PORT_STATUS_PAPER_OUT 3
137 #define PORT_STATUS_OUTPUT_BIN_FULL 4
138 #define PORT_STATUS_PAPER_PROBLEM 5
139 #define PORT_STATUS_NO_TONER 6
140 #define PORT_STATUS_DOOR_OPEN 7
141 #define PORT_STATUS_USER_INTERVENTION 8
142 #define PORT_STATUS_OUT_OF_MEMORY 9
143 #define PORT_STATUS_TONER_LOW 10
144 #define PORT_STATUS_WARMING_UP 11
145 #define PORT_STATUS_POWER_SAVE 12
147 #define PRINTER_NOTIFY_TYPE 0
148 #define JOB_NOTIFY_TYPE 1
150 #define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
151 #define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
152 #define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
153 #define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
154 #define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
155 #define PRINTER_NOTIFY_FIELD_COMMENT 0x05
156 #define PRINTER_NOTIFY_FIELD_LOCATION 0x06
157 #define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
158 #define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
159 #define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
160 #define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0a
161 #define PRINTER_NOTIFY_FIELD_DATATYPE 0x0b
162 #define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
163 #define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0d
164 #define PRINTER_NOTIFY_FIELD_PRIORITY 0x0e
165 #define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0f
166 #define PRINTER_NOTIFY_FIELD_START_TIME 0x10
167 #define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
168 #define PRINTER_NOTIFY_FIELD_STATUS 0x12
169 #define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
170 #define PRINTER_NOTIFY_FIELD_CJOBS 0x14
171 #define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
172 #define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
173 #define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
174 #define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
175 #define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
177 #define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
178 #define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
179 #define JOB_NOTIFY_FIELD_PORT_NAME 0x02
180 #define JOB_NOTIFY_FIELD_USER_NAME 0x03
181 #define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
182 #define JOB_NOTIFY_FIELD_DATATYPE 0x05
183 #define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
184 #define JOB_NOTIFY_FIELD_PARAMETERS 0x07
185 #define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
186 #define JOB_NOTIFY_FIELD_DEVMODE 0x09
187 #define JOB_NOTIFY_FIELD_STATUS 0x0a
188 #define JOB_NOTIFY_FIELD_STATUS_STRING 0x0b
189 #define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
190 #define JOB_NOTIFY_FIELD_DOCUMENT 0x0d
191 #define JOB_NOTIFY_FIELD_PRIORITY 0x0e
192 #define JOB_NOTIFY_FIELD_POSITION 0x0f
193 #define JOB_NOTIFY_FIELD_SUBMITTED 0x10
194 #define JOB_NOTIFY_FIELD_START_TIME 0x11
195 #define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
196 #define JOB_NOTIFY_FIELD_TIME 0x13
197 #define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
198 #define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
199 #define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
200 #define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
202 #define PRINTER_NOTIFY_OPTIONS_REFRESH 1
203 #define PRINTER_NOTIFY_INFO_DISCARDED 1
205 #define PRINTER_CHANGE_ADD_PRINTER 0x00000001
206 #define PRINTER_CHANGE_SET_PRINTER 0x00000002
207 #define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
208 #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008
209 #define PRINTER_CHANGE_PRINTER 0x000000ff
210 #define PRINTER_CHANGE_ADD_JOB 0x00000100
211 #define PRINTER_CHANGE_SET_JOB 0x00000200
212 #define PRINTER_CHANGE_DELETE_JOB 0x00000400
213 #define PRINTER_CHANGE_WRITE_JOB 0x00000800
214 #define PRINTER_CHANGE_JOB 0x0000ff00
215 #define PRINTER_CHANGE_ADD_FORM 0x00010000
216 #define PRINTER_CHANGE_SET_FORM 0x00020000
217 #define PRINTER_CHANGE_DELETE_FORM 0x00040000
218 #define PRINTER_CHANGE_FORM 0x00070000
219 #define PRINTER_CHANGE_ADD_PORT 0x00100000
220 #define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
221 #define PRINTER_CHANGE_DELETE_PORT 0x00400000
222 #define PRINTER_CHANGE_PORT 0x00700000
223 #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
224 #define PRINTER_CHANGE_DELETE_PRINTER_PROCESSOR 0x04000000
225 #define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
226 #define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
227 #define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
228 #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
229 #define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
230 #define PRINTER_CHANGE_TIMEOUT 0x80000000
231 #define PRINTER_CHANGE_ALL 0x7777ffff
233 #define PRINTER_ERROR_INFORMATION 0x80000000
234 #define PRINTER_ERROR_WARNING 0x40000000
235 #define PRINTER_ERROR_SEVERE 0x20000000
237 #define PRINTER_ERROR_OUTODPAPER 0x00000001
238 #define PRINTER_ERROR_JAM 0x00000002
239 #define PRINTER_ERROR_OUTOFTONER 0x00000004
241 /* TYPES */
242 typedef struct _PRINTER_DEFAULTSA {
243 LPSTR pDatatype;
244 LPDEVMODEA pDevMode;
245 ACCESS_MASK DesiredAccess;
246 } PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
248 typedef struct _PRINTER_DEFAULTSW {
249 LPWSTR pDatatype;
250 LPDEVMODEW pDevMode;
251 ACCESS_MASK DesiredAccess;
252 } PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
254 DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
255 DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
257 typedef struct _DRIVER_INFO_1A {
258 LPSTR pName;
259 } DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
261 typedef struct _DRIVER_INFO_1W {
262 LPWSTR pName;
263 } DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
265 DECL_WINELIB_TYPE_AW(DRIVER_INFO_1)
266 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1)
267 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1)
269 typedef struct _DRIVER_INFO_2A {
270 DWORD cVersion;
271 LPSTR pName;
272 LPSTR pEnvironment;
273 LPSTR pDriverPath;
274 LPSTR pDataFile;
275 LPSTR pConfigFile;
276 } DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
278 typedef struct _DRIVER_INFO_2W {
279 DWORD cVersion;
280 LPWSTR pName;
281 LPWSTR pEnvironment;
282 LPWSTR pDriverPath;
283 LPWSTR pDataFile;
284 LPWSTR pConfigFile;
285 } DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
287 DECL_WINELIB_TYPE_AW(DRIVER_INFO_2)
288 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2)
289 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2)
291 typedef struct _DRIVER_INFO_3A {
292 DWORD cVersion;
293 LPSTR pName;
294 LPSTR pEnvironment;
295 LPSTR pDriverPath;
296 LPSTR pDataFile;
297 LPSTR pConfigFile;
298 LPSTR pHelpFile;
299 LPSTR pDependentFiles;
300 LPSTR pMonitorName;
301 LPSTR pDefaultDataType;
302 } DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
304 typedef struct _DRIVER_INFO_3W {
305 DWORD cVersion;
306 LPWSTR pName;
307 LPWSTR pEnvironment;
308 LPWSTR pDriverPath;
309 LPWSTR pDataFile;
310 LPWSTR pConfigFile;
311 LPWSTR pHelpFile;
312 LPWSTR pDependentFiles;
313 LPWSTR pMonitorName;
314 LPWSTR pDefaultDataType;
315 } DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
317 DECL_WINELIB_TYPE_AW(DRIVER_INFO_3)
318 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3)
319 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3)
321 typedef struct _PRINTER_INFO_1A {
322 DWORD Flags;
323 LPSTR pDescription;
324 LPSTR pName;
325 LPSTR pComment;
326 } PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
328 typedef struct _PRINTER_INFO_1W {
329 DWORD Flags;
330 LPWSTR pDescription;
331 LPWSTR pName;
332 LPWSTR pComment;
333 } PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
335 DECL_WINELIB_TYPE_AW(PRINTER_INFO_1)
336 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1)
337 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1)
339 /* FIXME: winspool.h declares some structure members with the name Status.
340 * unfortunatly <X11/ICE/ICElib.h> #defines Status to the type 'int'
341 * therfore the following hack */
342 #ifndef Status
344 typedef struct _PRINTER_INFO_2A {
345 LPSTR pServerName;
346 LPSTR pPrinterName;
347 LPSTR pShareName;
348 LPSTR pPortName;
349 LPSTR pDriverName;
350 LPSTR pComment;
351 LPSTR pLocation;
352 LPDEVMODEA pDevMode;
353 LPSTR pSepFile;
354 LPSTR pPrintProcessor;
355 LPSTR pDatatype;
356 LPSTR pParameters;
357 PSECURITY_DESCRIPTOR pSecurityDescriptor;
358 DWORD Attributes;
359 DWORD Priority;
360 DWORD DefaultPriority;
361 DWORD StartTime;
362 DWORD UntilTime;
363 DWORD Status;
364 DWORD cJobs;
365 DWORD AveragePPM;
366 } PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
368 typedef struct _PRINTER_INFO_2W {
369 LPWSTR pServerName;
370 LPWSTR pPrinterName;
371 LPWSTR pShareName;
372 LPWSTR pPortName;
373 LPWSTR pDriverName;
374 LPWSTR pComment;
375 LPWSTR pLocation;
376 LPDEVMODEW pDevMode;
377 LPWSTR pSepFile;
378 LPWSTR pPrintProcessor;
379 LPWSTR pDatatype;
380 LPWSTR pParameters;
381 PSECURITY_DESCRIPTOR pSecurityDescriptor;
382 DWORD Attributes;
383 DWORD Priority;
384 DWORD DefaultPriority;
385 DWORD StartTime;
386 DWORD UntilTime;
387 DWORD Status;
388 DWORD cJobs;
389 DWORD AveragePPM;
390 } PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
392 DECL_WINELIB_TYPE_AW(PRINTER_INFO_2)
393 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2)
394 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2)
396 typedef struct _PRINTER_INFO_3 {
397 PSECURITY_DESCRIPTOR pSecurityDescriptor;
398 } PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
400 typedef struct _PRINTER_INFO_4A {
401 LPSTR pPrinterName;
402 LPSTR pServerName;
403 DWORD Attributes;
404 } PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
406 typedef struct _PRINTER_INFO_4W {
407 LPWSTR pPrinterName;
408 LPWSTR pServerName;
409 DWORD Attributes;
410 } PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
412 DECL_WINELIB_TYPE_AW(PRINTER_INFO_4)
413 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4)
414 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4)
416 typedef struct _PRINTER_INFO_5A {
417 LPSTR pPrinterName;
418 LPSTR pPortName;
419 DWORD Attributes;
420 DWORD DeviceNotSelectedTimeout;
421 DWORD TransmissionRetryTimeout;
422 } PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
424 typedef struct _PRINTER_INFO_5W {
425 LPWSTR pPrinterName;
426 LPWSTR pPortName;
427 DWORD Attributes;
428 DWORD DeviceNotSelectedTimeout;
429 DWORD TransmissionRetryTimeout;
430 } PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
432 DECL_WINELIB_TYPE_AW(PRINTER_INFO_5)
433 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5)
434 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5)
436 typedef struct _PRINTER_INFO_6 {
437 DWORD dwStatus;
438 } PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
440 typedef struct _JOB_INFO_1A {
441 DWORD JobID;
442 LPSTR pPrinterName;
443 LPSTR pMachineName;
444 LPSTR pUserName;
445 LPSTR pDocument;
446 LPSTR pDatatype;
447 LPSTR pStatus;
448 DWORD Status;
449 DWORD Priority;
450 DWORD Position;
451 DWORD TotalPages;
452 DWORD PagesPrinted;
453 SYSTEMTIME Submitted;
454 } JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
456 typedef struct _JOB_INFO_1W {
457 DWORD JobID;
458 LPWSTR pPrinterName;
459 LPWSTR pMachineName;
460 LPWSTR pUserName;
461 LPWSTR pDocument;
462 LPWSTR pDatatype;
463 LPWSTR pStatus;
464 DWORD Status;
465 DWORD Priority;
466 DWORD Position;
467 DWORD TotalPages;
468 DWORD PagesPrinted;
469 SYSTEMTIME Submitted;
470 } JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
472 DECL_WINELIB_TYPE_AW(JOB_INFO_1)
473 DECL_WINELIB_TYPE_AW(PJOB_INFO_1)
474 DECL_WINELIB_TYPE_AW(LPJOB_INFO_1)
476 typedef struct _JOB_INFO_2A {
477 DWORD JobID;
478 LPSTR pPrinterName;
479 LPSTR pMachineName;
480 LPSTR pUserName;
481 LPSTR pDocument;
482 LPSTR pNotifyName;
483 LPSTR pDatatype;
484 LPSTR pPrintProcessor;
485 LPSTR pParameters;
486 LPSTR pDriverName;
487 LPDEVMODEA pDevMode;
488 LPSTR pStatus;
489 PSECURITY_DESCRIPTOR pSecurityDescriptor;
490 DWORD Status;
491 DWORD Priority;
492 DWORD Position;
493 DWORD StartTime;
494 DWORD UntilTime;
495 DWORD TotalPages;
496 DWORD Size;
497 SYSTEMTIME Submitted;
498 DWORD Time;
499 DWORD PagesPrinted;
500 } JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
502 typedef struct _JOB_INFO_2W {
503 DWORD JobID;
504 LPWSTR pPrinterName;
505 LPWSTR pMachineName;
506 LPWSTR pUserName;
507 LPWSTR pDocument;
508 LPWSTR pNotifyName;
509 LPWSTR pDatatype;
510 LPWSTR pPrintProcessor;
511 LPWSTR pParameters;
512 LPWSTR pDriverName;
513 LPDEVMODEW pDevMode;
514 LPWSTR pStatus;
515 PSECURITY_DESCRIPTOR pSecurityDescriptor;
516 DWORD Status;
517 DWORD Priority;
518 DWORD Position;
519 DWORD StartTime;
520 DWORD UntilTime;
521 DWORD TotalPages;
522 DWORD Size;
523 SYSTEMTIME Submitted;
524 DWORD Time;
525 DWORD PagesPrinted;
526 } JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
528 DECL_WINELIB_TYPE_AW(JOB_INFO_2)
529 DECL_WINELIB_TYPE_AW(PJOB_INFO_2)
530 DECL_WINELIB_TYPE_AW(LPJOB_INFO_2)
532 typedef struct _JOB_INFO_3 {
533 DWORD JobID;
534 DWORD NextJobID;
535 DWORD Reserved;
536 } JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
538 typedef struct _ADDJOB_INFO_1A {
539 LPSTR Path;
540 DWORD JobID;
541 } ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
543 typedef struct _ADDJOB_INFO_1W {
544 LPWSTR Path;
545 DWORD JobID;
546 } ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
548 DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1)
549 DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1)
550 DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1)
552 typedef struct _DOC_INFO_1A {
553 LPSTR pDocName;
554 LPSTR pOutputFile;
555 LPSTR pDatatype;
556 } DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
558 typedef struct _DOC_INFO_1W {
559 LPWSTR pDocName;
560 LPWSTR pOutputFile;
561 LPWSTR pDatatype;
562 } DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
564 DECL_WINELIB_TYPE_AW(DOC_INFO_1)
565 DECL_WINELIB_TYPE_AW(PDOC_INFO_1)
566 DECL_WINELIB_TYPE_AW(LPDOC_INFO_1)
568 typedef struct _DOC_INFO_2A {
569 LPSTR pDocName;
570 LPSTR pOutputFile;
571 LPSTR pDatatype;
572 DWORD dwMode;
573 DWORD JobID;
574 } DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
576 typedef struct _DOC_INFO_2W {
577 LPWSTR pDocName;
578 LPWSTR pOutputFile;
579 LPWSTR pDatatype;
580 DWORD dwMode;
581 DWORD JobID;
582 } DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
584 DECL_WINELIB_TYPE_AW(DOC_INFO_2)
585 DECL_WINELIB_TYPE_AW(PDOC_INFO_2)
586 DECL_WINELIB_TYPE_AW(LPDOC_INFO_2)
588 typedef struct _FORM_INFO_1A {
589 DWORD Flags;
590 LPSTR pName;
591 SIZEL Size;
592 RECTL ImageableArea;
593 } FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
595 typedef struct _FORM_INFO_1W {
596 DWORD Flags;
597 LPWSTR pName;
598 SIZEL Size;
599 RECTL ImageableArea;
600 } FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
602 DECL_WINELIB_TYPE_AW(FORM_INFO_1)
603 DECL_WINELIB_TYPE_AW(PFORM_INFO_1)
604 DECL_WINELIB_TYPE_AW(LPFORM_INFO_1)
606 typedef struct _PRINTPROCESSOR_INFO_1A {
607 LPSTR pName;
608 } PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A,
609 *LPPRINTPROCESSOR_INFO_1A;
611 typedef struct _PRINTPROCESSOR_INFO_1W {
612 LPWSTR pName;
613 } PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W,
614 *LPPRINTPROCESSOR_INFO_1W;
616 DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1)
617 DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1)
618 DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1)
620 typedef struct _PORT_INFO_1A {
621 LPSTR pName;
622 } PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
624 typedef struct _PORT_INFO_1W {
625 LPWSTR pName;
626 } PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
628 DECL_WINELIB_TYPE_AW(PORT_INFO_1)
629 DECL_WINELIB_TYPE_AW(PPORT_INFO_1)
630 DECL_WINELIB_TYPE_AW(LPPORT_INFO_1)
632 typedef struct _PORT_INFO_2A {
633 LPSTR pPortName;
634 LPSTR pMonitorName;
635 LPSTR pDescription;
636 DWORD fPortType;
637 DWORD Reserved;
638 } PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
640 typedef struct _PORT_INFO_2W {
641 LPWSTR pPortName;
642 LPWSTR pMonitorName;
643 LPWSTR pDescription;
644 DWORD fPortType;
645 DWORD Reserved;
646 } PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
648 DECL_WINELIB_TYPE_AW(PORT_INFO_2)
649 DECL_WINELIB_TYPE_AW(PPORT_INFO_2)
650 DECL_WINELIB_TYPE_AW(LPPORT_INFO_2)
652 typedef struct _PORT_INFO_3A {
653 DWORD dwStatus;
654 LPSTR pszStatus;
655 DWORD dwSeverity;
656 } PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
658 typedef struct _PORT_INFO_3W {
659 DWORD dwStatus;
660 LPWSTR pszStatus;
661 DWORD dwSeverity;
662 } PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
664 DECL_WINELIB_TYPE_AW(PORT_INFO_3)
665 DECL_WINELIB_TYPE_AW(PPORT_INFO_3)
666 DECL_WINELIB_TYPE_AW(LPPORT_INFO_3)
668 typedef struct _MONITOR_INFO_1A {
669 LPSTR pName;
670 } MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
672 typedef struct _MONITOR_INFO_1W {
673 LPWSTR pName;
674 } MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
676 DECL_WINELIB_TYPE_AW(MONITOR_INFO_1)
677 DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1)
678 DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1)
681 typedef struct _MONITOR_INFO_2A {
682 LPSTR pName;
683 LPSTR pEnvironment;
684 LPSTR pDLLName;
685 } MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
687 typedef struct _MONITOR_INFO_2W {
688 LPWSTR pName;
689 LPWSTR pEnvironment;
690 LPWSTR pDLLName;
691 } MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
693 DECL_WINELIB_TYPE_AW(MONITOR_INFO_2)
694 DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2)
695 DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2)
697 typedef struct _DATATYPES_INFO_1A {
698 LPSTR pName;
699 } DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
701 typedef struct _DATATYPES_INFO_1W {
702 LPWSTR pName;
703 } DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
705 DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1)
706 DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1)
707 DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1)
709 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
710 WORD Type;
711 WORD Reserved0;
712 DWORD Reserved1;
713 DWORD Reserved2;
714 DWORD Count;
715 PWORD pFields;
716 } PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE,
717 *LPPRINTER_NOTIFY_OPTIONS_TYPE;
719 typedef struct _PRINTER_NOTIFY_OPTIONS {
720 DWORD Version;
721 DWORD Flags;
722 DWORD Count;
723 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
724 } PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
726 typedef struct _PRINTER_NOTIFY_INFO_DATA {
727 WORD Type;
728 WORD Field;
729 DWORD Reserved;
730 DWORD Id;
731 union {
732 DWORD adwData[2];
733 struct {
734 DWORD cbBuf;
735 LPVOID pBuf;
736 } Data;
737 } NotifyData;
738 } PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA,
739 *LPPRINTER_NOTIFY_INFO_DATA;
741 typedef struct _PRINTER_NOTIFY_INFO {
742 DWORD Version;
743 DWORD Flags;
744 DWORD Count;
745 PRINTER_NOTIFY_INFO_DATA aData[1];
746 } PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
748 typedef struct _PROVIDOR_INFO_1A {
749 LPSTR pName;
750 LPSTR pEnvironment;
751 LPSTR pDLLName;
752 } PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
754 typedef struct _PROVIDOR_INFO_1W {
755 LPWSTR pName;
756 LPWSTR pEnvironment;
757 LPWSTR pDLLName;
758 } PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
760 DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1)
761 DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1)
762 DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1)
764 #endif /* Status */
766 /* DECLARATIONS */
767 INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
768 LPSTR pOutput, LPDEVMODEA pDevMode);
769 INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort,
770 WORD fwCapability, LPWSTR pOutput,
771 const DEVMODEW *pDevMode);
773 #define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities)
775 LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,
776 LPSTR pDeviceName, LPDEVMODEA pDevModeOutput,
777 LPDEVMODEA pDevModeInput,DWORD fMode );
778 LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
779 LPWSTR pDeviceName,
780 LPDEVMODEW pDevModeOutput,
781 LPDEVMODEW pDevModeInput, DWORD fMode);
783 #define DocumentProperties WINELIB_NAME_AW(DocumentProperties)
785 BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter,
786 LPPRINTER_DEFAULTSA pDefault);
787 BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter,
788 LPPRINTER_DEFAULTSW pDefault);
790 #define OpenPrinter WINELIB_NAME_AW(OpenPrinter)
792 BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault);
793 BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
794 #define ResetPrinter WINELIB_NAME_AW(ResetPrinter)
796 BOOL WINAPI ClosePrinter (HANDLE phPrinter);
798 BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
799 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
800 LPDWORD pcReturned);
801 BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
802 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
803 LPDWORD pcReturned);
804 #define EnumJobs WINELIB_NAME_AW(EnumJobs)
806 BOOL WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName,
807 DWORD dwLevel, LPBYTE lpbPrinters,
808 DWORD cbBuf, LPDWORD lpdwNeeded,
809 LPDWORD lpdwReturned);
810 BOOL WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName,
811 DWORD dwLevel, LPBYTE lpbPrinters,
812 DWORD cbBuf, LPDWORD lpdwNeeded,
813 LPDWORD lpdwReturned);
814 #define EnumPrinters WINELIB_NAME_AW(EnumPrinters)
816 BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter);
818 BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD);
819 BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
820 #define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory)
822 BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment,
823 DWORD Level, LPBYTE pDriverInfo,
824 DWORD cbBuf, LPDWORD pcbNeeded);
825 BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment,
826 DWORD Level, LPBYTE pDriverInfo,
827 DWORD cbBuf, LPDWORD pcbNeeded);
828 #define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver)
830 BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
831 DWORD Command);
832 BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
833 DWORD Command);
834 #define SetJob WINELIB_NAME_AW(SetJob)
836 BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
837 DWORD cbBuf, LPDWORD pcbNeeded);
838 BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
839 DWORD cbBuf, LPDWORD pcbNeeded);
840 #define GetJob WINELIB_NAME_AW(GetJob)
842 HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter);
843 HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
844 #define AddPrinter WINELIB_NAME_AW(AddPrinter)
846 BOOL WINAPI DeletePrinter(HANDLE hPrinter);
848 BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
849 DWORD Command);
850 BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
851 DWORD Command);
852 #define SetPrinter WINELIB_NAME_AW(SetPrinter)
854 BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
855 DWORD cbBuf, LPDWORD pcbNeeded);
856 BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
857 DWORD cbBuf, LPDWORD pcbNeeded);
858 #define GetPrinter WINELIB_NAME_AW(GetPrinter)
860 BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo);
861 BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
862 #define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver)
864 BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level,
865 LPBYTE pDriverInfo, DWORD cbBuf,
866 LPDWORD pcbNeeded, LPDWORD pcbReturned);
867 BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level,
868 LPBYTE pDriverInfo, DWORD cbBuf,
869 LPDWORD pcbNeeded, LPDWORD pcbReturned);
870 #define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers)
872 BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment,
873 LPSTR pDriverName);
874 BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment,
875 LPWSTR pDriverName);
876 #define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver)
878 BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment,
879 LPSTR pPathName, LPSTR pPrintProcessorName);
880 BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
881 LPWSTR pPathName, LPWSTR pPrintProcessorName);
882 #define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor)
884 BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment,
885 DWORD Level, LPBYTE pPrintProcessorInfo,
886 DWORD cbBuf, LPDWORD pcbNeeded,
887 LPDWORD pcbReturned);
888 BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment,
889 DWORD Level, LPBYTE pPrintProcessorInfo,
890 DWORD cbBuf, LPDWORD pcbNeeded,
891 LPDWORD pcbReturned);
892 #define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors)
894 BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment,
895 DWORD Level,
896 LPBYTE pPrintProcessorInfo,
897 DWORD cbBuf, LPDWORD pcbNeeded);
899 BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment,
900 DWORD Level,
901 LPBYTE pPrintProcessorInfo,
902 DWORD cbBuf, LPDWORD pcbNeeded);
903 #define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory)
905 BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,
906 LPSTR pPrintProcessorName,
907 DWORD Level, LPBYTE pDatatypes,
908 DWORD cbBuf, LPDWORD pcbNeeded,
909 LPDWORD pcbReturned);
910 BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,
911 LPWSTR pPrintProcessorName,
912 DWORD Level, LPBYTE pDatatypes,
913 DWORD cbBuf, LPDWORD pcbNeeded,
914 LPDWORD pcbReturned);
915 #define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes)
917 BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment,
918 LPSTR pPrintProcessorName);
919 BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
920 LPWSTR pPrintProcessorName);
921 #define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor)
923 DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
924 DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
925 #define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter)
927 BOOL WINAPI StartPagePrinter(HANDLE hPrinter);
928 BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
929 LPDWORD pcWritten);
930 BOOL WINAPI EndPagePrinter(HANDLE hPrinter);
931 BOOL WINAPI AbortPrinter(HANDLE hPrinter);
932 BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
933 LPDWORD pNoBytesRead);
934 BOOL WINAPI EndDocPrinter(HANDLE hPrinter);
936 BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
937 LPDWORD pcbNeeded);
938 BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
939 LPDWORD pcbNeeded);
940 #define AddJob WINELIB_NAME_AW(AddJob)
942 BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID);
944 LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter,
945 LPSTR pDeviceName,
946 PDEVMODEA pDevModeOutput,
947 PDEVMODEA pDevModeInput);
948 LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
949 LPWSTR pDeviceName,
950 PDEVMODEW pDevModeOutput,
951 PDEVMODEW pDevModeInput);
952 #define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties)
954 DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType,
955 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
956 DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType,
957 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
958 #define GetPrinterData WINELIB_NAME_AW(GetPrinterData)
960 DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type,
961 LPBYTE pData, DWORD cbData);
962 DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type,
963 LPBYTE pData, DWORD cbData);
964 #define SetPrinterData WINELIB_NAME_AW(SetPrinterData)
966 DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags);
967 HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,
968 DWORD fdwFlags,
969 DWORD fdwOptions,
970 LPVOID pPrinterNotifyOptions);
971 BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,
972 PDWORD pdwChange,
973 LPVOID pvReserved,
974 LPVOID *ppPrinterNotifyInfo);
975 BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
976 BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
978 DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd,
979 LPSTR pText, LPSTR pCaption, DWORD dwType);
980 DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd,
981 LPWSTR pText, LPWSTR pCaption, DWORD dwType);
982 #define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox)
984 BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
985 BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
986 #define AddForm WINELIB_NAME_AW(AddForm)
988 BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName);
989 BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName);
990 #define DeleteForm WINELIB_NAME_AW(DeleteForm)
992 BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
993 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
994 BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
995 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
996 #define GetForm WINELIB_NAME_AW(GetForm)
998 BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
999 LPBYTE pForm);
1000 BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1001 LPBYTE pForm);
1002 #define SetForm WINELIB_NAME_AW(SetForm)
1004 BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1005 LPDWORD pcbNeeded, LPDWORD pcReturned);
1006 BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1007 LPDWORD pcbNeeded, LPDWORD pcReturned);
1008 #define EnumForms WINELIB_NAME_AW(EnumForms)
1010 BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors,
1011 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1012 BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
1013 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1014 #define EnumMonitors WINELIB_NAME_AW(EnumMonitors)
1016 BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors);
1017 BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
1018 #define AddMonitor WINELIB_NAME_AW(AddMonitor)
1020 BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment,
1021 LPSTR pMonitorName);
1022 BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment,
1023 LPWSTR pMonitorName);
1024 #define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor)
1026 BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts,
1027 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1028 BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts,
1029 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1030 #define EnumPorts WINELIB_NAME_AW(EnumPorts)
1032 BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName);
1033 BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
1034 #define AddPort WINELIB_NAME_AW(AddPort)
1036 BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1037 BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1038 #define ConfigurePort WINELIB_NAME_AW(ConfigurePort)
1040 BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1041 BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1042 #define DeletePort WINELIB_NAME_AW(DeletePort)
1044 BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel,
1045 LPBYTE pPortInfo);
1046 BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
1047 LPBYTE pPortInfo);
1048 #define SetPort WINELIB_NAME_AW(SetPort)
1050 BOOL WINAPI AddPrinterConnectionA(LPSTR pName);
1051 BOOL WINAPI AddPrinterConnectionW(LPWSTR pName);
1052 #define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection)
1054 BOOL WINAPI DeletePrinterConnectionA(LPSTR pName);
1055 BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName);
1056 #define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection)
1058 HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags);
1060 BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1061 BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1062 #define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor)
1064 BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment,
1065 LPSTR pPrintProvidorName);
1066 BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment,
1067 LPWSTR pPrintProvidorName);
1068 #define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor)
1072 #ifdef __cplusplus
1073 } /* extern "C" */
1074 #endif
1076 #endif /* __WINE_WINSPOOL_H */