localspl: Add unixname port extension.
[wine.git] / include / winspool.h
blobef39104ea309aa1800afd9ddded17b197be63b3c
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
101 #define PRINTER_STATUS_SERVER_OFFLINE 0x02000000
102 #define PRINTER_STATUS_DRIVER_UPDATE_NEEDED 0x04000000
104 #define NO_PRIORITY 0
105 #define MAX_PRIORITY 99
106 #define MIN_PRIORITY 1
107 #define DEF_PRIORITY 1
109 #define JOB_CONTROL_PAUSE 1
110 #define JOB_CONTROL_RESUME 2
111 #define JOB_CONTROL_CANCEL 3
112 #define JOB_CONTROL_RESTART 4
113 #define JOB_CONTROL_DELETE 5
114 #define JOB_CONTROL_SENT_TO_PRINTER 6
115 #define JOB_CONTROL_LAST_PAGE_EJECTED 7
117 #define JOB_STATUS_PAUSED 0x0001
118 #define JOB_STATUS_ERROR 0x0002
119 #define JOB_STATUS_DELETING 0x0004
120 #define JOB_STATUS_SPOOLING 0x0008
121 #define JOB_STATUS_PRINTING 0x0010
122 #define JOB_STATUS_OFFLINE 0x0020
123 #define JOB_STATUS_PAPEROUT 0x0040
124 #define JOB_STATUS_PRINTED 0x0080
125 #define JOB_STATUS_DELETED 0x0100
126 #define JOB_STATUS_BLOCKED_DEVQ 0x0200
127 #define JOB_STATUS_USER_INTERVENTION 0x0400
129 #define JOB_POSITION_UNSPECIFIED 1
131 #define DI_CHANNEL 1
132 #define DI_READ_SPOOL_JOB 3
134 #define FORM_USER 0
135 #define FORM_BUILTIN 1
136 #define FORM_PRINTER 2
138 #define STRING_NONE 1
139 #define STRING_MUIDLL 2
140 #define STRING_LANGPAIR 4
142 #define PORT_TYPE_WRITE 1
143 #define PORT_TYPE_READ 2
144 #define PORT_TYPE_REDIRECTED 4
145 #define PORT_TYPE_NET_ATTACHED 8
147 #define PORT_STATUS_TYPE_ERROR 1
148 #define PORT_STATUS_TYPE_WARNING 2
149 #define PORT_STATUS_TYPE_INFO 3
151 #define PORT_STATUS_OFFLINE 1
152 #define PORT_STATUS_PAPER_JAM 2
153 #define PORT_STATUS_PAPER_OUT 3
154 #define PORT_STATUS_OUTPUT_BIN_FULL 4
155 #define PORT_STATUS_PAPER_PROBLEM 5
156 #define PORT_STATUS_NO_TONER 6
157 #define PORT_STATUS_DOOR_OPEN 7
158 #define PORT_STATUS_USER_INTERVENTION 8
159 #define PORT_STATUS_OUT_OF_MEMORY 9
160 #define PORT_STATUS_TONER_LOW 10
161 #define PORT_STATUS_WARMING_UP 11
162 #define PORT_STATUS_POWER_SAVE 12
164 #define PRINTER_NOTIFY_TYPE 0
165 #define JOB_NOTIFY_TYPE 1
167 #define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
168 #define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
169 #define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
170 #define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
171 #define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
172 #define PRINTER_NOTIFY_FIELD_COMMENT 0x05
173 #define PRINTER_NOTIFY_FIELD_LOCATION 0x06
174 #define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
175 #define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
176 #define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
177 #define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0a
178 #define PRINTER_NOTIFY_FIELD_DATATYPE 0x0b
179 #define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
180 #define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0d
181 #define PRINTER_NOTIFY_FIELD_PRIORITY 0x0e
182 #define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0f
183 #define PRINTER_NOTIFY_FIELD_START_TIME 0x10
184 #define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
185 #define PRINTER_NOTIFY_FIELD_STATUS 0x12
186 #define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
187 #define PRINTER_NOTIFY_FIELD_CJOBS 0x14
188 #define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
189 #define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
190 #define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
191 #define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
192 #define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
194 #define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
195 #define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
196 #define JOB_NOTIFY_FIELD_PORT_NAME 0x02
197 #define JOB_NOTIFY_FIELD_USER_NAME 0x03
198 #define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
199 #define JOB_NOTIFY_FIELD_DATATYPE 0x05
200 #define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
201 #define JOB_NOTIFY_FIELD_PARAMETERS 0x07
202 #define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
203 #define JOB_NOTIFY_FIELD_DEVMODE 0x09
204 #define JOB_NOTIFY_FIELD_STATUS 0x0a
205 #define JOB_NOTIFY_FIELD_STATUS_STRING 0x0b
206 #define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
207 #define JOB_NOTIFY_FIELD_DOCUMENT 0x0d
208 #define JOB_NOTIFY_FIELD_PRIORITY 0x0e
209 #define JOB_NOTIFY_FIELD_POSITION 0x0f
210 #define JOB_NOTIFY_FIELD_SUBMITTED 0x10
211 #define JOB_NOTIFY_FIELD_START_TIME 0x11
212 #define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
213 #define JOB_NOTIFY_FIELD_TIME 0x13
214 #define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
215 #define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
216 #define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
217 #define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
219 #define PRINTER_NOTIFY_OPTIONS_REFRESH 1
220 #define PRINTER_NOTIFY_INFO_DISCARDED 1
222 #define PRINTER_CHANGE_ADD_PRINTER 0x00000001
223 #define PRINTER_CHANGE_SET_PRINTER 0x00000002
224 #define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
225 #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008
226 #define PRINTER_CHANGE_PRINTER 0x000000ff
227 #define PRINTER_CHANGE_ADD_JOB 0x00000100
228 #define PRINTER_CHANGE_SET_JOB 0x00000200
229 #define PRINTER_CHANGE_DELETE_JOB 0x00000400
230 #define PRINTER_CHANGE_WRITE_JOB 0x00000800
231 #define PRINTER_CHANGE_JOB 0x0000ff00
232 #define PRINTER_CHANGE_ADD_FORM 0x00010000
233 #define PRINTER_CHANGE_SET_FORM 0x00020000
234 #define PRINTER_CHANGE_DELETE_FORM 0x00040000
235 #define PRINTER_CHANGE_FORM 0x00070000
236 #define PRINTER_CHANGE_ADD_PORT 0x00100000
237 #define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
238 #define PRINTER_CHANGE_DELETE_PORT 0x00400000
239 #define PRINTER_CHANGE_PORT 0x00700000
240 #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
241 #define PRINTER_CHANGE_DELETE_PRINTER_PROCESSOR 0x04000000
242 #define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
243 #define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
244 #define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
245 #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
246 #define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
247 #define PRINTER_CHANGE_TIMEOUT 0x80000000
248 #define PRINTER_CHANGE_ALL 0x7777ffff
250 #define PRINTER_ERROR_INFORMATION 0x80000000
251 #define PRINTER_ERROR_WARNING 0x40000000
252 #define PRINTER_ERROR_SEVERE 0x20000000
254 #define PRINTER_ERROR_OUTODPAPER 0x00000001
255 #define PRINTER_ERROR_JAM 0x00000002
256 #define PRINTER_ERROR_OUTOFTONER 0x00000004
258 /* Access Rights for Printserver, Printers and Printjobs */
259 #define SERVER_ACCESS_ADMINISTER 0x00000001
260 #define SERVER_ACCESS_ENUMERATE 0x00000002
261 #define SERVER_READ (STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE)
262 #define SERVER_WRITE (STANDARD_RIGHTS_WRITE | \
263 SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
264 #define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE)
265 #define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
266 SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
268 #define PRINTER_ACCESS_ADMINISTER 0x00000004
269 #define PRINTER_ACCESS_USE 0x00000008
270 #define PRINTER_READ (STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE)
271 #define PRINTER_WRITE (STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE)
272 #define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE)
273 #define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
274 PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE)
276 #define JOB_ACCESS_ADMINISTER 0x00000010
277 #define JOB_READ (STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER)
278 #define JOB_WRITE (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER)
279 #define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER)
280 #define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER)
283 /* Flags for printer drivers */
284 #define DRIVER_KERNELMODE 0x00000001
285 #define DRIVER_USERMODE 0x00000002
287 #define APD_STRICT_UPGRADE 0x00000001
288 #define APD_STRICT_DOWNGRADE 0x00000002
289 #define APD_COPY_ALL_FILES 0x00000004
290 #define APD_COPY_NEW_FILES 0x00000008
291 #define APD_COPY_FROM_DIRECTORY 0x00000010
293 #define DPD_DELETE_UNUSED_FILES 0x00000001
294 #define DPD_DELETE_SPECIFIC_VERSION 0x00000002
295 #define DPD_DELETE_ALL_FILES 0x00000004
297 /* dwAction for PRINTER_INFO_7 */
298 #define DSPRINT_PUBLISH 0x00000001
299 #define DSPRINT_UPDATE 0x00000002
300 #define DSPRINT_UNPUBLISH 0x00000004
301 #define DSPRINT_REPUBLISH 0x00000008
302 #define DSPRINT_PENDING 0x80000000
304 #define UPDP_SILENT_UPLOAD 0x00000001
305 #define UPDP_UPLOAD_ALWAYS 0x00000002
306 #define UPDP_CHECK_DRIVERSTORE 0x00000004
308 /* ##################################### */
310 /* TYPES */
311 typedef struct _PRINTER_DEFAULTSA {
312 LPSTR pDatatype;
313 LPDEVMODEA pDevMode;
314 ACCESS_MASK DesiredAccess;
315 } PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
317 typedef struct _PRINTER_DEFAULTSW {
318 LPWSTR pDatatype;
319 LPDEVMODEW pDevMode;
320 ACCESS_MASK DesiredAccess;
321 } PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
323 DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
324 DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
326 typedef struct _DRIVER_INFO_1A {
327 LPSTR pName;
328 } DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
330 typedef struct _DRIVER_INFO_1W {
331 LPWSTR pName;
332 } DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
334 DECL_WINELIB_TYPE_AW(DRIVER_INFO_1)
335 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1)
336 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1)
338 typedef struct _DRIVER_INFO_2A {
339 DWORD cVersion;
340 LPSTR pName;
341 LPSTR pEnvironment;
342 LPSTR pDriverPath;
343 LPSTR pDataFile;
344 LPSTR pConfigFile;
345 } DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
347 typedef struct _DRIVER_INFO_2W {
348 DWORD cVersion;
349 LPWSTR pName;
350 LPWSTR pEnvironment;
351 LPWSTR pDriverPath;
352 LPWSTR pDataFile;
353 LPWSTR pConfigFile;
354 } DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
356 DECL_WINELIB_TYPE_AW(DRIVER_INFO_2)
357 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2)
358 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2)
360 typedef struct _DRIVER_INFO_3A {
361 DWORD cVersion;
362 LPSTR pName;
363 LPSTR pEnvironment;
364 LPSTR pDriverPath;
365 LPSTR pDataFile;
366 LPSTR pConfigFile;
367 LPSTR pHelpFile;
368 LPSTR pDependentFiles;
369 LPSTR pMonitorName;
370 LPSTR pDefaultDataType;
371 } DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
373 typedef struct _DRIVER_INFO_3W {
374 DWORD cVersion;
375 LPWSTR pName;
376 LPWSTR pEnvironment;
377 LPWSTR pDriverPath;
378 LPWSTR pDataFile;
379 LPWSTR pConfigFile;
380 LPWSTR pHelpFile;
381 LPWSTR pDependentFiles;
382 LPWSTR pMonitorName;
383 LPWSTR pDefaultDataType;
384 } DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
386 DECL_WINELIB_TYPE_AW(DRIVER_INFO_3)
387 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3)
388 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3)
390 typedef struct _DRIVER_INFO_4A {
391 DWORD cVersion;
392 LPSTR pName;
393 LPSTR pEnvironment;
394 LPSTR pDriverPath;
395 LPSTR pDataFile;
396 LPSTR pConfigFile;
397 LPSTR pHelpFile;
398 LPSTR pDependentFiles;
399 LPSTR pMonitorName;
400 LPSTR pDefaultDataType;
401 LPSTR pszzPreviousNames;
402 } DRIVER_INFO_4A, *PDRIVER_INFO_4A, *LPDRIVER_INFO_4A;
404 typedef struct _DRIVER_INFO_4W {
405 DWORD cVersion;
406 LPWSTR pName;
407 LPWSTR pEnvironment;
408 LPWSTR pDriverPath;
409 LPWSTR pDataFile;
410 LPWSTR pConfigFile;
411 LPWSTR pHelpFile;
412 LPWSTR pDependentFiles;
413 LPWSTR pMonitorName;
414 LPWSTR pDefaultDataType;
415 LPWSTR pszzPreviousNames;
416 } DRIVER_INFO_4W, *PDRIVER_INFO_4W, *LPDRIVER_INFO_4W;
418 DECL_WINELIB_TYPE_AW(DRIVER_INFO_4)
419 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_4)
420 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_4)
423 typedef struct _DRIVER_INFO_5A {
424 DWORD cVersion;
425 LPSTR pName;
426 LPSTR pEnvironment;
427 LPSTR pDriverPath;
428 LPSTR pDataFile;
429 LPSTR pConfigFile;
430 DWORD dwDriverAttributes;
431 DWORD dwConfigVersion;
432 DWORD dwDriverVersion;
433 } DRIVER_INFO_5A, *PDRIVER_INFO_5A, *LPDRIVER_INFO_5A;
435 typedef struct _DRIVER_INFO_5W {
436 DWORD cVersion;
437 LPWSTR pName;
438 LPWSTR pEnvironment;
439 LPWSTR pDriverPath;
440 LPWSTR pDataFile;
441 LPWSTR pConfigFile;
442 DWORD dwDriverAttributes;
443 DWORD dwConfigVersion;
444 DWORD dwDriverVersion;
445 } DRIVER_INFO_5W, *PDRIVER_INFO_5W, *LPDRIVER_INFO_5W;
447 DECL_WINELIB_TYPE_AW(DRIVER_INFO_5)
448 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_5)
449 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_5)
451 typedef struct _DRIVER_INFO_6A {
452 DWORD cVersion;
453 LPSTR pName;
454 LPSTR pEnvironment;
455 LPSTR pDriverPath;
456 LPSTR pDataFile;
457 LPSTR pConfigFile;
458 LPSTR pHelpFile;
459 LPSTR pDependentFiles;
460 LPSTR pMonitorName;
461 LPSTR pDefaultDataType;
462 LPSTR pszzPreviousNames;
463 FILETIME ftDriverDate;
464 DWORDLONG dwlDriverVersion;
465 LPSTR pszMfgName;
466 LPSTR pszOEMUrl;
467 LPSTR pszHardwareID;
468 LPSTR pszProvider;
469 } DRIVER_INFO_6A, *PDRIVER_INFO_6A, *LPDRIVER_INFO_6A;
471 typedef struct _DRIVER_INFO_6W {
472 DWORD cVersion;
473 LPWSTR pName;
474 LPWSTR pEnvironment;
475 LPWSTR pDriverPath;
476 LPWSTR pDataFile;
477 LPWSTR pConfigFile;
478 LPWSTR pHelpFile;
479 LPWSTR pDependentFiles;
480 LPWSTR pMonitorName;
481 LPWSTR pDefaultDataType;
482 LPWSTR pszzPreviousNames;
483 FILETIME ftDriverDate;
484 DWORDLONG dwlDriverVersion;
485 LPWSTR pszMfgName;
486 LPWSTR pszOEMUrl;
487 LPWSTR pszHardwareID;
488 LPWSTR pszProvider;
489 } DRIVER_INFO_6W, *PDRIVER_INFO_6W, *LPDRIVER_INFO_6W;
491 DECL_WINELIB_TYPE_AW(DRIVER_INFO_6)
492 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_6)
493 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_6)
495 /* DRIVER_INFO_7 is not defined in native winspool.h and not found in the www */
497 typedef struct _DRIVER_INFO_8A {
498 DWORD cVersion;
499 LPSTR pName;
500 LPSTR pEnvironment;
501 LPSTR pDriverPath;
502 LPSTR pDataFile;
503 LPSTR pConfigFile;
504 LPSTR pHelpFile;
505 LPSTR pDependentFiles;
506 LPSTR pMonitorName;
507 LPSTR pDefaultDataType;
508 LPSTR pszzPreviousNames;
509 FILETIME ftDriverDate;
510 DWORDLONG dwlDriverVersion;
511 LPSTR pszMfgName;
512 LPSTR pszOEMUrl;
513 LPSTR pszHardwareID;
514 LPSTR pszProvider;
515 LPSTR pszPrintProcessor;
516 LPSTR pszVendorSetup;
517 LPSTR pszzColorProfiles;
518 LPSTR pszInfPath;
519 DWORD dwPrinterDriverAttributes;
520 LPSTR pszzCoreDriverDependencies;
521 FILETIME ftMinInboxDriverVerDate;
522 DWORDLONG dwlMinInboxDriverVerVersion;
523 } DRIVER_INFO_8A, *PDRIVER_INFO_8A, *LPDRIVER_INFO_8A;
525 typedef struct _DRIVER_INFO_8W {
526 DWORD cVersion;
527 LPWSTR pName;
528 LPWSTR pEnvironment;
529 LPWSTR pDriverPath;
530 LPWSTR pDataFile;
531 LPWSTR pConfigFile;
532 LPWSTR pHelpFile;
533 LPWSTR pDependentFiles;
534 LPWSTR pMonitorName;
535 LPWSTR pDefaultDataType;
536 LPWSTR pszzPreviousNames;
537 FILETIME ftDriverDate;
538 DWORDLONG dwlDriverVersion;
539 LPWSTR pszMfgName;
540 LPWSTR pszOEMUrl;
541 LPWSTR pszHardwareID;
542 LPWSTR pszProvider;
543 LPWSTR pszPrintProcessor;
544 LPWSTR pszVendorSetup;
545 LPWSTR pszzColorProfiles;
546 LPWSTR pszInfPath;
547 DWORD dwPrinterDriverAttributes;
548 LPWSTR pszzCoreDriverDependencies;
549 FILETIME ftMinInboxDriverVerDate;
550 DWORDLONG dwlMinInboxDriverVerVersion;
551 } DRIVER_INFO_8W, *PDRIVER_INFO_8W, *LPDRIVER_INFO_8W;
553 DECL_WINELIB_TYPE_AW(DRIVER_INFO_8)
554 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_8)
555 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_8)
558 typedef struct _PRINTER_INFO_1A {
559 DWORD Flags;
560 LPSTR pDescription;
561 LPSTR pName;
562 LPSTR pComment;
563 } PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
565 typedef struct _PRINTER_INFO_1W {
566 DWORD Flags;
567 LPWSTR pDescription;
568 LPWSTR pName;
569 LPWSTR pComment;
570 } PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
572 DECL_WINELIB_TYPE_AW(PRINTER_INFO_1)
573 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1)
574 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1)
576 /* FIXME: winspool.h declares some structure members with the name Status.
577 * unfortunately <X11/ICE/ICElib.h> #defines Status to the type 'int'
578 * therefore the following hack */
579 #ifndef Status
581 typedef struct _PRINTER_INFO_2A {
582 LPSTR pServerName;
583 LPSTR pPrinterName;
584 LPSTR pShareName;
585 LPSTR pPortName;
586 LPSTR pDriverName;
587 LPSTR pComment;
588 LPSTR pLocation;
589 LPDEVMODEA pDevMode;
590 LPSTR pSepFile;
591 LPSTR pPrintProcessor;
592 LPSTR pDatatype;
593 LPSTR pParameters;
594 PSECURITY_DESCRIPTOR pSecurityDescriptor;
595 DWORD Attributes;
596 DWORD Priority;
597 DWORD DefaultPriority;
598 DWORD StartTime;
599 DWORD UntilTime;
600 DWORD Status;
601 DWORD cJobs;
602 DWORD AveragePPM;
603 } PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
605 typedef struct _PRINTER_INFO_2W {
606 LPWSTR pServerName;
607 LPWSTR pPrinterName;
608 LPWSTR pShareName;
609 LPWSTR pPortName;
610 LPWSTR pDriverName;
611 LPWSTR pComment;
612 LPWSTR pLocation;
613 LPDEVMODEW pDevMode;
614 LPWSTR pSepFile;
615 LPWSTR pPrintProcessor;
616 LPWSTR pDatatype;
617 LPWSTR pParameters;
618 PSECURITY_DESCRIPTOR pSecurityDescriptor;
619 DWORD Attributes;
620 DWORD Priority;
621 DWORD DefaultPriority;
622 DWORD StartTime;
623 DWORD UntilTime;
624 DWORD Status;
625 DWORD cJobs;
626 DWORD AveragePPM;
627 } PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
629 DECL_WINELIB_TYPE_AW(PRINTER_INFO_2)
630 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2)
631 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2)
633 typedef struct _PRINTER_INFO_3 {
634 PSECURITY_DESCRIPTOR pSecurityDescriptor;
635 } PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
637 typedef struct _PRINTER_INFO_4A {
638 LPSTR pPrinterName;
639 LPSTR pServerName;
640 DWORD Attributes;
641 } PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
643 typedef struct _PRINTER_INFO_4W {
644 LPWSTR pPrinterName;
645 LPWSTR pServerName;
646 DWORD Attributes;
647 } PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
649 DECL_WINELIB_TYPE_AW(PRINTER_INFO_4)
650 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4)
651 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4)
653 typedef struct _PRINTER_INFO_5A {
654 LPSTR pPrinterName;
655 LPSTR pPortName;
656 DWORD Attributes;
657 DWORD DeviceNotSelectedTimeout;
658 DWORD TransmissionRetryTimeout;
659 } PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
661 typedef struct _PRINTER_INFO_5W {
662 LPWSTR pPrinterName;
663 LPWSTR pPortName;
664 DWORD Attributes;
665 DWORD DeviceNotSelectedTimeout;
666 DWORD TransmissionRetryTimeout;
667 } PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
669 DECL_WINELIB_TYPE_AW(PRINTER_INFO_5)
670 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5)
671 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5)
673 typedef struct _PRINTER_INFO_6 {
674 DWORD dwStatus;
675 } PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
677 typedef struct _PRINTER_INFO_7A {
678 LPSTR pszObjectGUID;
679 DWORD dwAction;
680 } PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A;
682 typedef struct _PRINTER_INFO_7W {
683 LPWSTR pszObjectGUID;
684 DWORD dwAction;
685 } PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W;
687 DECL_WINELIB_TYPE_AW(PRINTER_INFO_7)
688 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_7)
689 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_7)
691 typedef struct _PRINTER_INFO_8A {
692 LPDEVMODEA pDevMode;
693 } PRINTER_INFO_8A, *PPRINTER_INFO_8A, *LPPRINTER_INFO_8A;
695 typedef struct _PRINTER_INFO_8W {
696 LPDEVMODEW pDevMode;
697 } PRINTER_INFO_8W, *PPRINTER_INFO_8W, *LPPRINTER_INFO_8W;
699 DECL_WINELIB_TYPE_AW(PRINTER_INFO_8)
700 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_8)
701 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_8)
703 typedef struct _PRINTER_INFO_9A {
704 LPDEVMODEA pDevMode;
705 } PRINTER_INFO_9A, *PPRINTER_INFO_9A, *LPPRINTER_INFO_9A;
707 typedef struct _PRINTER_INFO_9W {
708 LPDEVMODEW pDevMode;
709 } PRINTER_INFO_9W, *PPRINTER_INFO_9W, *LPPRINTER_INFO_9W;
711 DECL_WINELIB_TYPE_AW(PRINTER_INFO_9)
712 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_9)
713 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_9)
716 typedef struct _JOB_INFO_1A {
717 DWORD JobId;
718 LPSTR pPrinterName;
719 LPSTR pMachineName;
720 LPSTR pUserName;
721 LPSTR pDocument;
722 LPSTR pDatatype;
723 LPSTR pStatus;
724 DWORD Status;
725 DWORD Priority;
726 DWORD Position;
727 DWORD TotalPages;
728 DWORD PagesPrinted;
729 SYSTEMTIME Submitted;
730 } JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
732 typedef struct _JOB_INFO_1W {
733 DWORD JobId;
734 LPWSTR pPrinterName;
735 LPWSTR pMachineName;
736 LPWSTR pUserName;
737 LPWSTR pDocument;
738 LPWSTR pDatatype;
739 LPWSTR pStatus;
740 DWORD Status;
741 DWORD Priority;
742 DWORD Position;
743 DWORD TotalPages;
744 DWORD PagesPrinted;
745 SYSTEMTIME Submitted;
746 } JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
748 DECL_WINELIB_TYPE_AW(JOB_INFO_1)
749 DECL_WINELIB_TYPE_AW(PJOB_INFO_1)
750 DECL_WINELIB_TYPE_AW(LPJOB_INFO_1)
752 typedef struct _JOB_INFO_2A {
753 DWORD JobId;
754 LPSTR pPrinterName;
755 LPSTR pMachineName;
756 LPSTR pUserName;
757 LPSTR pDocument;
758 LPSTR pNotifyName;
759 LPSTR pDatatype;
760 LPSTR pPrintProcessor;
761 LPSTR pParameters;
762 LPSTR pDriverName;
763 LPDEVMODEA pDevMode;
764 LPSTR pStatus;
765 PSECURITY_DESCRIPTOR pSecurityDescriptor;
766 DWORD Status;
767 DWORD Priority;
768 DWORD Position;
769 DWORD StartTime;
770 DWORD UntilTime;
771 DWORD TotalPages;
772 DWORD Size;
773 SYSTEMTIME Submitted;
774 DWORD Time;
775 DWORD PagesPrinted;
776 } JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
778 typedef struct _JOB_INFO_2W {
779 DWORD JobId;
780 LPWSTR pPrinterName;
781 LPWSTR pMachineName;
782 LPWSTR pUserName;
783 LPWSTR pDocument;
784 LPWSTR pNotifyName;
785 LPWSTR pDatatype;
786 LPWSTR pPrintProcessor;
787 LPWSTR pParameters;
788 LPWSTR pDriverName;
789 LPDEVMODEW pDevMode;
790 LPWSTR pStatus;
791 PSECURITY_DESCRIPTOR pSecurityDescriptor;
792 DWORD Status;
793 DWORD Priority;
794 DWORD Position;
795 DWORD StartTime;
796 DWORD UntilTime;
797 DWORD TotalPages;
798 DWORD Size;
799 SYSTEMTIME Submitted;
800 DWORD Time;
801 DWORD PagesPrinted;
802 } JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
804 DECL_WINELIB_TYPE_AW(JOB_INFO_2)
805 DECL_WINELIB_TYPE_AW(PJOB_INFO_2)
806 DECL_WINELIB_TYPE_AW(LPJOB_INFO_2)
808 typedef struct _JOB_INFO_3 {
809 DWORD JobId;
810 DWORD NextJobId;
811 DWORD Reserved;
812 } JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
814 typedef struct _ADDJOB_INFO_1A {
815 LPSTR Path;
816 DWORD JobId;
817 } ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
819 typedef struct _ADDJOB_INFO_1W {
820 LPWSTR Path;
821 DWORD JobId;
822 } ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
824 DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1)
825 DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1)
826 DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1)
828 typedef struct _DOC_INFO_1A {
829 LPSTR pDocName;
830 LPSTR pOutputFile;
831 LPSTR pDatatype;
832 } DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
834 typedef struct _DOC_INFO_1W {
835 LPWSTR pDocName;
836 LPWSTR pOutputFile;
837 LPWSTR pDatatype;
838 } DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
840 DECL_WINELIB_TYPE_AW(DOC_INFO_1)
841 DECL_WINELIB_TYPE_AW(PDOC_INFO_1)
842 DECL_WINELIB_TYPE_AW(LPDOC_INFO_1)
844 typedef struct _DOC_INFO_2A {
845 LPSTR pDocName;
846 LPSTR pOutputFile;
847 LPSTR pDatatype;
848 DWORD dwMode;
849 DWORD JobId;
850 } DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
852 typedef struct _DOC_INFO_2W {
853 LPWSTR pDocName;
854 LPWSTR pOutputFile;
855 LPWSTR pDatatype;
856 DWORD dwMode;
857 DWORD JobId;
858 } DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
860 DECL_WINELIB_TYPE_AW(DOC_INFO_2)
861 DECL_WINELIB_TYPE_AW(PDOC_INFO_2)
862 DECL_WINELIB_TYPE_AW(LPDOC_INFO_2)
864 typedef struct _FORM_INFO_1A {
865 DWORD Flags;
866 LPSTR pName;
867 SIZEL Size;
868 RECTL ImageableArea;
869 } FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
871 typedef struct _FORM_INFO_1W {
872 DWORD Flags;
873 LPWSTR pName;
874 SIZEL Size;
875 RECTL ImageableArea;
876 } FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
878 DECL_WINELIB_TYPE_AW(FORM_INFO_1)
879 DECL_WINELIB_TYPE_AW(PFORM_INFO_1)
880 DECL_WINELIB_TYPE_AW(LPFORM_INFO_1)
882 typedef struct _FORM_INFO_2A {
883 DWORD Flags;
884 LPSTR pName;
885 SIZEL Size;
886 RECTL ImageableArea;
887 LPCSTR pKeyword;
888 DWORD StringType;
889 LPSTR pMuiDll;
890 DWORD dwResourceId;
891 LPSTR pDisplayName;
892 LANGID wLangId;
893 } FORM_INFO_2A, *PFORM_INFO_2A, *LPFORM_INFO_2A;
895 typedef struct _FORM_INFO_2W {
896 DWORD Flags;
897 LPWSTR pName;
898 SIZEL Size;
899 RECTL ImageableArea;
900 LPCSTR pKeyword;
901 DWORD StringType;
902 LPWSTR pMuiDll;
903 DWORD dwResourceId;
904 LPWSTR pDisplayName;
905 LANGID wLangId;
906 } FORM_INFO_2W, *PFORM_INFO_2W, *LPFORM_INFO_2W;
908 DECL_WINELIB_TYPE_AW(FORM_INFO_2)
909 DECL_WINELIB_TYPE_AW(PFORM_INFO_2)
910 DECL_WINELIB_TYPE_AW(LPFORM_INFO_2)
912 typedef struct _PRINTPROCESSOR_INFO_1A {
913 LPSTR pName;
914 } PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A,
915 *LPPRINTPROCESSOR_INFO_1A;
917 typedef struct _PRINTPROCESSOR_INFO_1W {
918 LPWSTR pName;
919 } PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W,
920 *LPPRINTPROCESSOR_INFO_1W;
922 DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1)
923 DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1)
924 DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1)
926 typedef struct _PORT_INFO_1A {
927 LPSTR pName;
928 } PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
930 typedef struct _PORT_INFO_1W {
931 LPWSTR pName;
932 } PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
934 DECL_WINELIB_TYPE_AW(PORT_INFO_1)
935 DECL_WINELIB_TYPE_AW(PPORT_INFO_1)
936 DECL_WINELIB_TYPE_AW(LPPORT_INFO_1)
938 typedef struct _PORT_INFO_2A {
939 LPSTR pPortName;
940 LPSTR pMonitorName;
941 LPSTR pDescription;
942 DWORD fPortType;
943 DWORD Reserved;
944 } PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
946 typedef struct _PORT_INFO_2W {
947 LPWSTR pPortName;
948 LPWSTR pMonitorName;
949 LPWSTR pDescription;
950 DWORD fPortType;
951 DWORD Reserved;
952 } PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
954 DECL_WINELIB_TYPE_AW(PORT_INFO_2)
955 DECL_WINELIB_TYPE_AW(PPORT_INFO_2)
956 DECL_WINELIB_TYPE_AW(LPPORT_INFO_2)
958 typedef struct _PORT_INFO_3A {
959 DWORD dwStatus;
960 LPSTR pszStatus;
961 DWORD dwSeverity;
962 } PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
964 typedef struct _PORT_INFO_3W {
965 DWORD dwStatus;
966 LPWSTR pszStatus;
967 DWORD dwSeverity;
968 } PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
970 DECL_WINELIB_TYPE_AW(PORT_INFO_3)
971 DECL_WINELIB_TYPE_AW(PPORT_INFO_3)
972 DECL_WINELIB_TYPE_AW(LPPORT_INFO_3)
974 typedef struct _MONITOR_INFO_1A {
975 LPSTR pName;
976 } MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
978 typedef struct _MONITOR_INFO_1W {
979 LPWSTR pName;
980 } MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
982 DECL_WINELIB_TYPE_AW(MONITOR_INFO_1)
983 DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1)
984 DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1)
986 #endif /* Status */
989 typedef struct _MONITOR_INFO_2A {
990 LPSTR pName;
991 LPSTR pEnvironment;
992 LPSTR pDLLName;
993 } MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
995 typedef struct _MONITOR_INFO_2W {
996 LPWSTR pName;
997 LPWSTR pEnvironment;
998 LPWSTR pDLLName;
999 } MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
1001 DECL_WINELIB_TYPE_AW(MONITOR_INFO_2)
1002 DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2)
1003 DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2)
1005 typedef struct _DATATYPES_INFO_1A {
1006 LPSTR pName;
1007 } DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
1009 typedef struct _DATATYPES_INFO_1W {
1010 LPWSTR pName;
1011 } DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
1013 DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1)
1014 DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1)
1015 DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1)
1017 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
1018 WORD Type;
1019 WORD Reserved0;
1020 DWORD Reserved1;
1021 DWORD Reserved2;
1022 DWORD Count;
1023 PWORD pFields;
1024 } PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE,
1025 *LPPRINTER_NOTIFY_OPTIONS_TYPE;
1027 typedef struct _PRINTER_NOTIFY_OPTIONS {
1028 DWORD Version;
1029 DWORD Flags;
1030 DWORD Count;
1031 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
1032 } PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
1034 typedef struct _PRINTER_NOTIFY_INFO_DATA {
1035 WORD Type;
1036 WORD Field;
1037 DWORD Reserved;
1038 DWORD Id;
1039 union {
1040 DWORD adwData[2];
1041 struct {
1042 DWORD cbBuf;
1043 LPVOID pBuf;
1044 } Data;
1045 } NotifyData;
1046 } PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA,
1047 *LPPRINTER_NOTIFY_INFO_DATA;
1049 typedef struct _PRINTER_NOTIFY_INFO {
1050 DWORD Version;
1051 DWORD Flags;
1052 DWORD Count;
1053 PRINTER_NOTIFY_INFO_DATA aData[1];
1054 } PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
1056 typedef struct _PROVIDOR_INFO_1A {
1057 LPSTR pName;
1058 LPSTR pEnvironment;
1059 LPSTR pDLLName;
1060 } PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
1062 typedef struct _PROVIDOR_INFO_1W {
1063 LPWSTR pName;
1064 LPWSTR pEnvironment;
1065 LPWSTR pDLLName;
1066 } PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
1068 DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1)
1069 DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1)
1070 DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1)
1072 typedef struct _PRINTER_ENUM_VALUESA {
1073 LPSTR pValueName;
1074 DWORD cbValueName;
1075 DWORD dwType;
1076 LPBYTE pData;
1077 DWORD cbData;
1078 } PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA;
1080 typedef struct _PRINTER_ENUM_VALUESW {
1081 LPWSTR pValueName;
1082 DWORD cbValueName;
1083 DWORD dwType;
1084 LPBYTE pData;
1085 DWORD cbData;
1086 } PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW;
1088 DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES)
1089 DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES)
1091 typedef enum {
1092 BIDI_NULL = 0,
1093 BIDI_INT,
1094 BIDI_FLOAT,
1095 BIDI_BOOL,
1096 BIDI_STRING,
1097 BIDI_TEXT,
1098 BIDI_ENUM,
1099 BIDI_BLOB
1100 } BIDI_TYPE;
1102 typedef struct _BINARY_CONTAINER {
1103 DWORD cbBuf;
1104 LPBYTE pData;
1105 } BINARY_CONTAINER, *PBINARY_CONTAINER;
1107 typedef struct _BIDI_DATA {
1108 DWORD dwBidiType;
1109 union
1111 BOOL bData;
1112 INT iData;
1113 LPWSTR sData;
1114 FLOAT fData;
1115 BINARY_CONTAINER biData;
1116 } u;
1117 } BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA;
1119 typedef struct _BIDI_REQUEST_DATA {
1120 DWORD dwReqNumber;
1121 LPWSTR pSchema;
1122 BIDI_DATA data;
1123 } BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA;
1125 typedef struct _BIDI_REQUEST_CONTAINER {
1126 DWORD Version;
1127 DWORD Flags;
1128 DWORD Count;
1129 BIDI_REQUEST_DATA aData[1];
1130 } BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER;
1132 typedef struct _BIDI_RESPONSE_DATA {
1133 DWORD dwResult;
1134 DWORD dwReqNumber;
1135 LPWSTR pSchema;
1136 BIDI_DATA data;
1137 } BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA;
1139 typedef struct _BIDI_RESPONSE_CONTAINER {
1140 DWORD Version;
1141 DWORD Flags;
1142 DWORD Count;
1143 BIDI_RESPONSE_DATA aData[1];
1144 } BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER;
1146 typedef enum _PRINTER_OPTION_FLAGS
1148 PRINTER_OPTION_NO_CACHE = 1 << 0,
1149 PRINTER_OPTION_CACHE = 1 << 1,
1150 PRINTER_OPTION_CLIENT_CHANGE = 1 << 2,
1151 PRINTER_OPTION_NO_CLIENT_DATA = 1 << 3,
1152 } PRINTER_OPTION_FLAGS;
1154 typedef struct _PRINTER_OPTIONSA
1156 UINT cbSize;
1157 DWORD dwFlags;
1158 } PRINTER_OPTIONSA, *PPRINTER_OPTIONSA, *LPPRINTER_OPTIONSA;
1160 typedef struct _PRINTER_OPTIONSW
1162 UINT cbSize;
1163 DWORD dwFlags;
1164 } PRINTER_OPTIONSW, *PPRINTER_OPTIONSW, *LPPRINTER_OPTIONSW;
1166 DECL_WINELIB_TYPE_AW(PRINTER_OPTIONS)
1167 DECL_WINELIB_TYPE_AW(PPRINTER_OPTIONS)
1168 DECL_WINELIB_TYPE_AW(LPPRINTER_OPTIONS)
1170 /* string constants */
1172 #define SPLREG_DEFAULT_SPOOL_DIRECTORYA "DefaultSpoolDirectory"
1173 #if defined(_MSC_VER) || defined(__MINGW32__)
1174 #define SPLREG_DEFAULT_SPOOL_DIRECTORYW L"DefaultSpoolDirectory"
1175 #else
1176 static const WCHAR SPLREG_DEFAULT_SPOOL_DIRECTORYW[] = {'D','e','f','a','u','l','t','S','p','o','o','l','D','i','r','e','c','t','o','r','y',0};
1177 #endif
1178 #define SPLREG_DEFAULT_SPOOL_DIRECTORY WINELIB_NAME_AW(SPLREG_DEFAULT_SPOOL_DIRECTORY)
1180 #define SPLREG_PORT_THREAD_PRIORITY_DEFAULTA "PortThreadPriorityDefault"
1181 #if defined(_MSC_VER) || defined(__MINGW32__)
1182 #define SPLREG_PORT_THREAD_PRIORITY_DEFAULTW L"PortThreadPriorityDefault"
1183 #else
1184 static const WCHAR SPLREG_PORT_THREAD_PRIORITY_DEFAULTW[] = {'P','o','r','t','T','h','r','e','a','d','P','r','i','o','r','i','t','y','D','e','f','a','u','l','t',0};
1185 #endif
1186 #define SPLREG_PORT_THREAD_PRIORITY_DEFAULT WINELIB_NAME_AW(SPLREG_PORT_THREAD_PRIORITY_DEFAULT)
1188 #define SPLREG_PORT_THREAD_PRIORITYA "PortThreadPriority"
1189 #if defined(_MSC_VER) || defined(__MINGW32__)
1190 #define SPLREG_PORT_THREAD_PRIORITYW L"PortThreadPriority"
1191 #else
1192 static const WCHAR SPLREG_PORT_THREAD_PRIORITYW[] = {'P','o','r','t','T','h','r','e','a','d','P','r','i','o','r','i','t','y',0};
1193 #endif
1194 #define SPLREG_PORT_THREAD_PRIORITY WINELIB_NAME_AW(SPLREG_PORT_THREAD_PRIORITY)
1196 #define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULTA "SchedulerThreadPriorityDefault"
1197 #if defined(_MSC_VER) || defined(__MINGW32__)
1198 #define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULTW L"SchedulerThreadPriorityDefault"
1199 #else
1200 static const WCHAR SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULTW[] = {'S','c','h','e','d','u','l','e','r','T','h','r','e','a','d','P','r','i','o','r','i','t','y','D','e','f','a','u','l','t',0};
1201 #endif
1202 #define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT WINELIB_NAME_AW(SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT)
1204 #define SPLREG_SCHEDULER_THREAD_PRIORITYA "SchedulerThreadPriority"
1205 #if defined(_MSC_VER) || defined(__MINGW32__)
1206 #define SPLREG_SCHEDULER_THREAD_PRIORITYW L"SchedulerThreadPriority"
1207 #else
1208 static const WCHAR SPLREG_SCHEDULER_THREAD_PRIORITYW[] = {'S','c','h','e','d','u','l','e','r','T','h','r','e','a','d','P','r','i','o','r','i','t','y',0};
1209 #endif
1210 #define SPLREG_SCHEDULER_THREAD_PRIORITY WINELIB_NAME_AW(SPLREG_SCHEDULER_THREAD_PRIORITY)
1212 #define SPLREG_BEEP_ENABLEDA "BeepEnabled"
1213 #if defined(_MSC_VER) || defined(__MINGW32__)
1214 #define SPLREG_BEEP_ENABLEDW L"BeepEnabled"
1215 #else
1216 static const WCHAR SPLREG_BEEP_ENABLEDW[] = {'B','e','e','p','E','n','a','b','l','e','d',0};
1217 #endif
1218 #define SPLREG_BEEP_ENABLED WINELIB_NAME_AW(SPLREG_BEEP_ENABLED)
1220 #define SPLREG_NET_POPUPA "NetPopup"
1221 #if defined(_MSC_VER) || defined(__MINGW32__)
1222 #define SPLREG_NET_POPUPW L"NetPopup"
1223 #else
1224 static const WCHAR SPLREG_NET_POPUPW[] = {'N','e','t','P','o','p','u','p',0};
1225 #endif
1226 #define SPLREG_NET_POPUP WINELIB_NAME_AW(SPLREG_NET_POPUP)
1228 #define SPLREG_RETRY_POPUPA "RetryPopup"
1229 #if defined(_MSC_VER) || defined(__MINGW32__)
1230 #define SPLREG_RETRY_POPUPW L"RetryPopup"
1231 #else
1232 static const WCHAR SPLREG_RETRY_POPUPW[] = {'R','e','t','r','y','P','o','p','u','p',0};
1233 #endif
1234 #define SPLREG_RETRY_POPUP WINELIB_NAME_AW(SPLREG_RETRY_POPUP)
1236 #define SPLREG_NET_POPUP_TO_COMPUTERA "NetPopupToComputer"
1237 #if defined(_MSC_VER) || defined(__MINGW32__)
1238 #define SPLREG_NET_POPUP_TO_COMPUTERW L"NetPopupToComputer"
1239 #else
1240 static const WCHAR SPLREG_NET_POPUP_TO_COMPUTERW[] = {'N','e','t','P','o','p','u','p','T','o','C','o','m','p','u','t','e','r',0};
1241 #endif
1242 #define SPLREG_NET_POPUP_TO_COMPUTER WINELIB_NAME_AW(SPLREG_NET_POPUP_TO_COMPUTER)
1244 #define SPLREG_EVENT_LOGA "EventLog"
1245 #if defined(_MSC_VER) || defined(__MINGW32__)
1246 #define SPLREG_EVENT_LOGW L"EventLog"
1247 #else
1248 static const WCHAR SPLREG_EVENT_LOGW[] = {'E','v','e','n','t','L','o','g',0};
1249 #endif
1250 #define SPLREG_EVENT_LOG WINELIB_NAME_AW(SPLREG_EVENT_LOG)
1252 #define SPLREG_MAJOR_VERSIONA "MajorVersion"
1253 #if defined(_MSC_VER) || defined(__MINGW32__)
1254 #define SPLREG_MAJOR_VERSIONW L"MajorVersion"
1255 #else
1256 static const WCHAR SPLREG_MAJOR_VERSIONW[] = {'M','a','j','o','r','V','e','r','s','i','o','n',0};
1257 #endif
1258 #define SPLREG_MAJOR_VERSION WINELIB_NAME_AW(SPLREG_MAJOR_VERSION)
1260 #define SPLREG_MINOR_VERSIONA "MinorVersion"
1261 #if defined(_MSC_VER) || defined(__MINGW32__)
1262 #define SPLREG_MINOR_VERSIONW L"MinorVersion"
1263 #else
1264 static const WCHAR SPLREG_MINOR_VERSIONW[] = {'M','i','n','o','r','V','e','r','s','i','o','n',0};
1265 #endif
1266 #define SPLREG_MINOR_VERSION WINELIB_NAME_AW(SPLREG_MINOR_VERSION)
1268 #define SPLREG_ARCHITECTUREA "Architecture"
1269 #if defined(_MSC_VER) || defined(__MINGW32__)
1270 #define SPLREG_ARCHITECTUREW L"Architecture"
1271 #else
1272 static const WCHAR SPLREG_ARCHITECTUREW[] = {'A','r','c','h','i','t','e','c','t','u','r','e',0};
1273 #endif
1274 #define SPLREG_ARCHITECTURE WINELIB_NAME_AW(SPLREG_ARCHITECTURE)
1276 #define SPLREG_OS_VERSIONA "OSVersion"
1277 #if defined(_MSC_VER) || defined(__MINGW32__)
1278 #define SPLREG_OS_VERSIONW L"OSVersion"
1279 #else
1280 static const WCHAR SPLREG_OS_VERSIONW[] = {'O','S','V','e','r','s','i','o','n',0};
1281 #endif
1282 #define SPLREG_OS_VERSION WINELIB_NAME_AW(SPLREG_OS_VERSION)
1284 #define SPLREG_OS_VERSIONEXA "OSVersionEx"
1285 #if defined(_MSC_VER) || defined(__MINGW32__)
1286 #define SPLREG_OS_VERSIONEXW L"OSVersionEx"
1287 #else
1288 static const WCHAR SPLREG_OS_VERSIONEXW[] = {'O','S','V','e','r','s','i','o','n','E','x',0};
1289 #endif
1290 #define SPLREG_OS_VERSIONEX WINELIB_NAME_AW(SPLREG_OS_VERSIONEX)
1292 #define SPLREG_DS_PRESENTA "DsPresent"
1293 #if defined(_MSC_VER) || defined(__MINGW32__)
1294 #define SPLREG_DS_PRESENTW L"DsPresent"
1295 #else
1296 static const WCHAR SPLREG_DS_PRESENTW[] = {'D','s','P','r','e','s','e','n','t',0};
1297 #endif
1298 #define SPLREG_DS_PRESENT WINELIB_NAME_AW(SPLREG_DS_PRESENT)
1300 #define SPLREG_DS_PRESENT_FOR_USERA "DsPresentForUser"
1301 #if defined(_MSC_VER) || defined(__MINGW32__)
1302 #define SPLREG_DS_PRESENT_FOR_USERW L"DsPresentForUser"
1303 #else
1304 static const WCHAR SPLREG_DS_PRESENT_FOR_USERW[] = {'D','s','P','r','e','s','e','n','t','F','o','r','U','s','e','r',0};
1305 #endif
1306 #define SPLREG_DS_PRESENT_FOR_USER WINELIB_NAME_AW(SPLREG_DS_PRESENT_FOR_USER)
1308 #define SPLREG_REMOTE_FAXA "RemoteFax"
1309 #if defined(_MSC_VER) || defined(__MINGW32__)
1310 #define SPLREG_REMOTE_FAXW L"RemoteFax"
1311 #else
1312 static const WCHAR SPLREG_REMOTE_FAXW[] = {'R','e','m','o','t','e','F','a','x',0};
1313 #endif
1314 #define SPLREG_REMOTE_FAX WINELIB_NAME_AW(SPLREG_REMOTE_FAX)
1316 #define SPLREG_RESTART_JOB_ON_POOL_ERRORA "RestartJobOnPoolError"
1317 #if defined(_MSC_VER) || defined(__MINGW32__)
1318 #define SPLREG_RESTART_JOB_ON_POOL_ERRORW L"RestartJobOnPoolError"
1319 #else
1320 static const WCHAR SPLREG_RESTART_JOB_ON_POOL_ERRORW[] = {'R','e','s','t','a','r','t','J','o','b','O','n','P','o','o','l','E','r','r','o','r',0};
1321 #endif
1322 #define SPLREG_RESTART_JOB_ON_POOL_ERROR WINELIB_NAME_AW(SPLREG_RESTART_JOB_ON_POOL_ERROR)
1324 #define SPLREG_RESTART_JOB_ON_POOL_ENABLEDA "RestartJobOnPoolEnabled"
1325 #if defined(_MSC_VER) || defined(__MINGW32__)
1326 #define SPLREG_RESTART_JOB_ON_POOL_ENABLEDW L"RestartJobOnPoolEnabled"
1327 #else
1328 static const WCHAR SPLREG_RESTART_JOB_ON_POOL_ENABLEDW[] = {'R','e','s','t','a','r','t','J','o','b','O','n','P','o','o','l','E','n','a','b','l','e','d',0};
1329 #endif
1330 #define SPLREG_RESTART_JOB_ON_POOL_ENABLED WINELIB_NAME_AW(SPLREG_RESTART_JOB_ON_POOL_ENABLED)
1332 #define SPLREG_DNS_MACHINE_NAMEA "DNSMachineName"
1333 #if defined(_MSC_VER) || defined(__MINGW32__)
1334 #define SPLREG_DNS_MACHINE_NAMEW L"DNSMachineName"
1335 #else
1336 static const WCHAR SPLREG_DNS_MACHINE_NAMEW[] = {'D','N','S','M','a','c','h','i','n','e','N','a','m','e',0};
1337 #endif
1338 #define SPLREG_DNS_MACHINE_NAME WINELIB_NAME_AW(SPLREG_DNS_MACHINE_NAME)
1340 #define SPLREG_ALLOW_USER_MANAGEFORMSA "AllowUserManageForms"
1341 #if defined(_MSC_VER) || defined(__MINGW32__)
1342 #define SPLREG_ALLOW_USER_MANAGEFORMSW L"AllowUserManageForms"
1343 #else
1344 static const WCHAR SPLREG_ALLOW_USER_MANAGEFORMSW[] = {'A','l','l','o','w','U','s','e','r','M','a','n','a','g','e','F','o','r','m','s',0};
1345 #endif
1346 #define SPLREG_ALLOW_USER_MANAGEFORMS WINELIB_NAME_AW(SPLREG_ALLOW_USER_MANAGEFORMS)
1348 #define SPLREG_WEBSHAREMGMTA "WebShareMgmt"
1349 #if defined(_MSC_VER) || defined(__MINGW32__)
1350 #define SPLREG_WEBSHAREMGMTW L"WebShareMgmt"
1351 #else
1352 static const WCHAR SPLREG_WEBSHAREMGMTW[] = {'W','e','b','S','h','a','r','e','M','g','m','t',0};
1353 #endif
1354 #define SPLREG_WEBSHAREMGMT WINELIB_NAME_AW(SPLREG_WEBSHAREMGMT)
1356 #define SPLREG_PRINT_DRIVER_ISOLATION_GROUPSA "PrintDriverIsolationGroups"
1357 #if defined(_MSC_VER) || defined(__MINGW32__)
1358 #define SPLREG_PRINT_DRIVER_ISOLATION_GROUPSW L"PrintDriverIsolationGroups"
1359 #else
1360 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_GROUPSW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','G','r','o','u','p','s',0};
1361 #endif
1362 #define SPLREG_PRINT_DRIVER_ISOLATION_GROUPS WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_GROUPS)
1364 #define SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLEA "PrintDriverIsolationTimeBeforeRecycle"
1365 #if defined(_MSC_VER) || defined(__MINGW32__)
1366 #define SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLEW L"PrintDriverIsolationTimeBeforeRecycle"
1367 #else
1368 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLEW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','T','i','m','e','B','e','f','o','r','e','R','e','c','y','c','l','e',0};
1369 #endif
1370 #define SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLE WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLE)
1372 #define SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLEA "PrintDriverIsolationMaxobjsBeforeRecycle"
1373 #if defined(_MSC_VER) || defined(__MINGW32__)
1374 #define SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLEW L"PrintDriverIsolationMaxobjsBeforeRecycle"
1375 #else
1376 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLEW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','M','a','x','o','b','j','s','B','e','f','o','r','e','R','e','c','y','c','l','e',0};
1377 #endif
1378 #define SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLE WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLE)
1380 #define SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUTA "PrintDriverIsolationIdleTimeout"
1381 #if defined(_MSC_VER) || defined(__MINGW32__)
1382 #define SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUTW L"PrintDriverIsolationIdleTimeout"
1383 #else
1384 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUTW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','I','d','l','e','T','i','m','e','o','u','t',0};
1385 #endif
1386 #define SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUT WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUT)
1388 #define SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICYA "PrintDriverIsolationExecutionPolicy"
1389 #if defined(_MSC_VER) || defined(__MINGW32__)
1390 #define SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICYW L"PrintDriverIsolationExecutionPolicy"
1391 #else
1392 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICYW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','E','x','e','c','u','t','i','o','n','P','o','l','i','c','y',0};
1393 #endif
1394 #define SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICY WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICY)
1396 #define SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICYA "PrintDriverIsolationOverrideCompat"
1397 #if defined(_MSC_VER) || defined(__MINGW32__)
1398 #define SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICYW L"PrintDriverIsolationOverrideCompat"
1399 #else
1400 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICYW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','O','v','e','r','r','i','d','e','C','o','m','p','a','t',0};
1401 #endif
1402 #define SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICY WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICY)
1404 /* DECLARATIONS */
1405 INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
1406 LPSTR pOutput, LPDEVMODEA pDevMode);
1407 INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort,
1408 WORD fwCapability, LPWSTR pOutput,
1409 const DEVMODEW *pDevMode);
1411 #define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities)
1413 LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,
1414 LPSTR pDeviceName, LPDEVMODEA pDevModeOutput,
1415 LPDEVMODEA pDevModeInput,DWORD fMode );
1416 LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
1417 LPWSTR pDeviceName,
1418 LPDEVMODEW pDevModeOutput,
1419 LPDEVMODEW pDevModeInput, DWORD fMode);
1421 #define DocumentProperties WINELIB_NAME_AW(DocumentProperties)
1423 BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter,
1424 LPPRINTER_DEFAULTSA pDefault);
1425 BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter,
1426 LPPRINTER_DEFAULTSW pDefault);
1427 #define OpenPrinter WINELIB_NAME_AW(OpenPrinter)
1429 BOOL WINAPI OpenPrinter2A(LPSTR,HANDLE *,PRINTER_DEFAULTSA *,PRINTER_OPTIONSA *);
1430 BOOL WINAPI OpenPrinter2W(LPWSTR,HANDLE *,PRINTER_DEFAULTSW *,PRINTER_OPTIONSW *);
1431 #define OpenPrinter2 WINELIB_NAME_AW(OpenPrinter2)
1433 BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault);
1434 BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
1435 #define ResetPrinter WINELIB_NAME_AW(ResetPrinter)
1437 BOOL WINAPI ClosePrinter (HANDLE phPrinter);
1439 BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1440 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1441 LPDWORD pcReturned);
1442 BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1443 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1444 LPDWORD pcReturned);
1445 #define EnumJobs WINELIB_NAME_AW(EnumJobs)
1447 BOOL WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName,
1448 DWORD dwLevel, LPBYTE lpbPrinters,
1449 DWORD cbBuf, LPDWORD lpdwNeeded,
1450 LPDWORD lpdwReturned);
1451 BOOL WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName,
1452 DWORD dwLevel, LPBYTE lpbPrinters,
1453 DWORD cbBuf, LPDWORD lpdwNeeded,
1454 LPDWORD lpdwReturned);
1455 #define EnumPrinters WINELIB_NAME_AW(EnumPrinters)
1457 BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter);
1459 BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1460 BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1461 #define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory)
1463 BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment,
1464 DWORD Level, LPBYTE pDriverInfo,
1465 DWORD cbBuf, LPDWORD pcbNeeded);
1466 BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment,
1467 DWORD Level, LPBYTE pDriverInfo,
1468 DWORD cbBuf, LPDWORD pcbNeeded);
1469 #define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver)
1471 BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1472 DWORD Command);
1473 BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1474 DWORD Command);
1475 #define SetJob WINELIB_NAME_AW(SetJob)
1477 BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1478 DWORD cbBuf, LPDWORD pcbNeeded);
1479 BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1480 DWORD cbBuf, LPDWORD pcbNeeded);
1481 #define GetJob WINELIB_NAME_AW(GetJob)
1483 HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter);
1484 HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
1485 #define AddPrinter WINELIB_NAME_AW(AddPrinter)
1487 BOOL WINAPI DeletePrinter(HANDLE hPrinter);
1489 BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1490 DWORD Command);
1491 BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1492 DWORD Command);
1493 #define SetPrinter WINELIB_NAME_AW(SetPrinter)
1495 BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1496 DWORD cbBuf, LPDWORD pcbNeeded);
1497 BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1498 DWORD cbBuf, LPDWORD pcbNeeded);
1499 #define GetPrinter WINELIB_NAME_AW(GetPrinter)
1501 BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo);
1502 BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
1503 #define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver)
1505 BOOL WINAPI AddPrinterDriverExA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo,
1506 DWORD dwFileCopyFlags);
1507 BOOL WINAPI AddPrinterDriverExW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo,
1508 DWORD dwFileCopyFlags);
1509 #define AddPrinterDriverEx WINELIB_NAME_AW(AddPrinterDriverEx)
1511 BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level,
1512 LPBYTE pDriverInfo, DWORD cbBuf,
1513 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1514 BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level,
1515 LPBYTE pDriverInfo, DWORD cbBuf,
1516 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1517 #define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers)
1519 BOOL WINAPI GetDefaultPrinterA(LPSTR pName, LPDWORD pcbNameSize);
1520 BOOL WINAPI GetDefaultPrinterW(LPWSTR pName, LPDWORD pcbNameSize);
1521 #define GetDefaultPrinter WINELIB_NAME_AW(GetDefaultPrinter)
1523 BOOL WINAPI SetDefaultPrinterA(LPCSTR);
1524 BOOL WINAPI SetDefaultPrinterW(LPCWSTR);
1525 #define SetDefaultPrinter WINELIB_NAME_AW(SetDefaultPrinter)
1527 BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment,
1528 LPSTR pDriverName);
1529 BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment,
1530 LPWSTR pDriverName);
1531 #define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver)
1533 BOOL WINAPI DeletePrinterDriverExA(LPSTR pName, LPSTR pEnvironment,
1534 LPSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1535 BOOL WINAPI DeletePrinterDriverExW(LPWSTR pName, LPWSTR pEnvironment,
1536 LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1537 #define DeletePrinterDriverEx WINELIB_NAME_AW(DeletePrinterDriverEx)
1539 BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1540 LPSTR pPathName, LPSTR pPrintProcessorName);
1541 BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1542 LPWSTR pPathName, LPWSTR pPrintProcessorName);
1543 #define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor)
1545 BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment,
1546 DWORD Level, LPBYTE pPrintProcessorInfo,
1547 DWORD cbBuf, LPDWORD pcbNeeded,
1548 LPDWORD pcbReturned);
1549 BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment,
1550 DWORD Level, LPBYTE pPrintProcessorInfo,
1551 DWORD cbBuf, LPDWORD pcbNeeded,
1552 LPDWORD pcbReturned);
1553 #define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors)
1555 BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment,
1556 DWORD Level,
1557 LPBYTE pPrintProcessorInfo,
1558 DWORD cbBuf, LPDWORD pcbNeeded);
1560 BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment,
1561 DWORD Level,
1562 LPBYTE pPrintProcessorInfo,
1563 DWORD cbBuf, LPDWORD pcbNeeded);
1564 #define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory)
1566 BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,
1567 LPSTR pPrintProcessorName,
1568 DWORD Level, LPBYTE pDatatypes,
1569 DWORD cbBuf, LPDWORD pcbNeeded,
1570 LPDWORD pcbReturned);
1571 BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,
1572 LPWSTR pPrintProcessorName,
1573 DWORD Level, LPBYTE pDatatypes,
1574 DWORD cbBuf, LPDWORD pcbNeeded,
1575 LPDWORD pcbReturned);
1576 #define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes)
1578 BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1579 LPSTR pPrintProcessorName);
1580 BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1581 LPWSTR pPrintProcessorName);
1582 #define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor)
1584 DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1585 DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1586 #define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter)
1588 BOOL WINAPI StartPagePrinter(HANDLE hPrinter);
1589 BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1590 LPDWORD pcWritten);
1591 BOOL WINAPI EndPagePrinter(HANDLE hPrinter);
1592 BOOL WINAPI AbortPrinter(HANDLE hPrinter);
1593 BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1594 LPDWORD pNoBytesRead);
1595 BOOL WINAPI EndDocPrinter(HANDLE hPrinter);
1597 BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1598 LPDWORD pcbNeeded);
1599 BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1600 LPDWORD pcbNeeded);
1601 #define AddJob WINELIB_NAME_AW(AddJob)
1603 BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID);
1605 LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter,
1606 LPSTR pDeviceName,
1607 PDEVMODEA pDevModeOutput,
1608 PDEVMODEA pDevModeInput);
1609 LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
1610 LPWSTR pDeviceName,
1611 PDEVMODEW pDevModeOutput,
1612 PDEVMODEW pDevModeInput);
1613 #define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties)
1615 DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType,
1616 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1617 DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType,
1618 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1619 #define GetPrinterData WINELIB_NAME_AW(GetPrinterData)
1621 DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1622 LPCSTR pValueName, LPDWORD pType,
1623 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1624 DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1625 LPCWSTR pValueName, LPDWORD pType,
1626 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1627 #define GetPrinterDataEx WINELIB_NAME_AW(GetPrinterDataEx)
1629 DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1630 LPCSTR pValueName);
1631 DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1632 LPCWSTR pValueName);
1633 #define DeletePrinterDataEx WINELIB_NAME_AW(DeletePrinterDataEx)
1635 DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type,
1636 LPBYTE pData, DWORD cbData);
1637 DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type,
1638 LPBYTE pData, DWORD cbData);
1639 #define SetPrinterData WINELIB_NAME_AW(SetPrinterData)
1641 DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1642 LPCSTR pValueName, DWORD Type,
1643 LPBYTE pData, DWORD cbData);
1644 DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1645 LPCWSTR pValueName, DWORD Type,
1646 LPBYTE pData, DWORD cbData);
1647 #define SetPrinterDataEx WINELIB_NAME_AW(SetPrinterDataEx)
1649 DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags);
1650 HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,
1651 DWORD fdwFlags,
1652 DWORD fdwOptions,
1653 LPVOID pPrinterNotifyOptions);
1654 BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,
1655 PDWORD pdwChange,
1656 LPVOID pvReserved,
1657 LPVOID *ppPrinterNotifyInfo);
1658 BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
1659 BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
1661 DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd,
1662 LPSTR pText, LPSTR pCaption, DWORD dwType);
1663 DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd,
1664 LPWSTR pText, LPWSTR pCaption, DWORD dwType);
1665 #define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox)
1667 BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1668 BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1669 #define AddForm WINELIB_NAME_AW(AddForm)
1671 BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName);
1672 BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName);
1673 #define DeleteForm WINELIB_NAME_AW(DeleteForm)
1675 BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1676 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1677 BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1678 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1679 #define GetForm WINELIB_NAME_AW(GetForm)
1681 BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1682 LPBYTE pForm);
1683 BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1684 LPBYTE pForm);
1685 #define SetForm WINELIB_NAME_AW(SetForm)
1687 BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1688 LPDWORD pcbNeeded, LPDWORD pcReturned);
1689 BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1690 LPDWORD pcbNeeded, LPDWORD pcReturned);
1691 #define EnumForms WINELIB_NAME_AW(EnumForms)
1693 BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors,
1694 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1695 BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
1696 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1697 #define EnumMonitors WINELIB_NAME_AW(EnumMonitors)
1699 DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName,
1700 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1701 DWORD cbData, LPDWORD pcbData );
1702 DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName,
1703 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1704 DWORD cbData, LPDWORD pcbData );
1705 #define EnumPrinterData WINELIB_NAME_AW(EnumPrinterData)
1707 BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors);
1708 BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
1709 #define AddMonitor WINELIB_NAME_AW(AddMonitor)
1711 BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment,
1712 LPSTR pMonitorName);
1713 BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment,
1714 LPWSTR pMonitorName);
1715 #define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor)
1717 BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts,
1718 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1719 BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts,
1720 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1721 #define EnumPorts WINELIB_NAME_AW(EnumPorts)
1723 BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName);
1724 BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
1725 #define AddPort WINELIB_NAME_AW(AddPort)
1727 BOOL WINAPI AddPortExA(LPSTR, DWORD, LPBYTE, LPSTR);
1728 BOOL WINAPI AddPortExW(LPWSTR, DWORD, LPBYTE, LPWSTR);
1729 #define AddPortEx WINELIB_NAME_AW(AddPortEx)
1731 BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1732 BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1733 #define ConfigurePort WINELIB_NAME_AW(ConfigurePort)
1735 BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1736 BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1737 #define DeletePort WINELIB_NAME_AW(DeletePort)
1739 BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel,
1740 LPBYTE pPortInfo);
1741 BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
1742 LPBYTE pPortInfo);
1743 #define SetPort WINELIB_NAME_AW(SetPort)
1745 BOOL WINAPI AddPrinterConnectionA(LPSTR pName);
1746 BOOL WINAPI AddPrinterConnectionW(LPWSTR pName);
1747 #define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection)
1749 BOOL WINAPI DeletePrinterConnectionA(LPSTR pName);
1750 BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName);
1751 #define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection)
1753 HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags);
1755 BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1756 BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1757 #define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor)
1759 BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment,
1760 LPSTR pPrintProvidorName);
1761 BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment,
1762 LPWSTR pPrintProvidorName);
1763 #define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor)
1765 DWORD WINAPI EnumPrinterKeyA(HANDLE printer, const CHAR *key,
1766 CHAR *subkey, DWORD size, DWORD *needed);
1767 DWORD WINAPI EnumPrinterKeyW(HANDLE printer, const WCHAR *key,
1768 WCHAR *subkey, DWORD size, DWORD *needed);
1769 #define EnumPrinterKey WINELIB_NAME_AW(EnumPrinterKey)
1771 DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1772 LPBYTE pEnumValues, DWORD cbEnumValues,
1773 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1774 DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1775 LPBYTE pEnumValues, DWORD cbEnumValues,
1776 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1777 #define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx)
1779 LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput,
1780 LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile,
1781 DWORD fMode);
1783 LPSTR WINAPI StartDocDlgA(HANDLE hPrinter, DOCINFOA *doc);
1784 LPWSTR WINAPI StartDocDlgW(HANDLE hPrinter, DOCINFOW *doc);
1785 #define StartDocDlg WINELIB_NAME_AW(StartDocDlg)
1787 HRESULT WINAPI UploadPrinterDriverPackageA(LPCSTR,LPCSTR,LPCSTR,DWORD,HWND,LPSTR,PULONG);
1788 HRESULT WINAPI UploadPrinterDriverPackageW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,HWND,LPWSTR,PULONG);
1789 #define UploadPrinterDriverPackage WINELIB_NAME_AW(UploadPrinterDriverPackage)
1791 BOOL WINAPI XcvDataW(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData,
1792 DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData,
1793 PDWORD pcbOutputNeeded, PDWORD pdwStatus);
1795 BOOL WINAPI IsValidDevmodeA(PDEVMODEA pDevMode, SIZE_T size);
1796 BOOL WINAPI IsValidDevmodeW(PDEVMODEW pDevMode, SIZE_T size);
1798 HANDLE WINAPI GetSpoolFileHandle(HANDLE printer);
1800 #ifdef __cplusplus
1801 } /* extern "C" */
1802 #endif
1804 #endif /* __WINE_WINSPOOL_H */