|  | /* Definitions for printing | 
|  | * | 
|  | * Copyright 1998 Huw Davies, Andreas Mohr | 
|  | * | 
|  | * Portions Copyright (c) 1999 Corel Corporation | 
|  | *                             (Paul Quinn, Albert Den Haan) | 
|  | * | 
|  | * This library is free software; you can redistribute it and/or | 
|  | * modify it under the terms of the GNU Lesser General Public | 
|  | * License as published by the Free Software Foundation; either | 
|  | * version 2.1 of the License, or (at your option) any later version. | 
|  | * | 
|  | * This library is distributed in the hope that it will be useful, | 
|  | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|  | * Lesser General Public License for more details. | 
|  | * | 
|  | * You should have received a copy of the GNU Lesser General Public | 
|  | * License along with this library; if not, write to the Free Software | 
|  | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
|  | */ | 
|  | #ifndef __WINE_WINSPOOL_H | 
|  | #define __WINE_WINSPOOL_H | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | /* DEFINES */ | 
|  |  | 
|  | #define PRINTER_ATTRIBUTE_QUEUED            0x00000001 | 
|  | #define PRINTER_ATTRIBUTE_DIRECT            0x00000002 | 
|  | #define PRINTER_ATTRIBUTE_DEFAULT           0x00000004 | 
|  | #define PRINTER_ATTRIBUTE_SHARED            0x00000008 | 
|  | #define PRINTER_ATTRIBUTE_NETWORK           0x00000010 | 
|  | #define PRINTER_ATTRIBUTE_HIDDEN            0x00000020 | 
|  | #define PRINTER_ATTRIBUTE_LOCAL             0x00000040 | 
|  | #define PRINTER_ATTRIBUTE_ENABLE_DEVQ       0x00000080 | 
|  | #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS   0x00000100 | 
|  | #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200 | 
|  | #define PRINTER_ATTRIBUTE_WORK_OFFLINE      0x00000400 | 
|  | #define PRINTER_ATTRIBUTE_ENABLE_BIDI       0x00000800 | 
|  | #define PRINTER_ATTRIBUTE_RAW_ONLY          0x00001000 | 
|  | #define PRINTER_ATTRIBUTE_PUBLISHED         0x00002000 | 
|  |  | 
|  | #define PRINTER_CONTROL_PAUSE      1 | 
|  | #define PRINTER_CONTROL_RESUME     2 | 
|  | #define PRINTER_CONTROL_PURGE      3 | 
|  | #define PRINTER_CONTROL_SET_STATUS 4 | 
|  |  | 
|  | #define PRINTER_ENUM_DEFAULT     0x00000001 | 
|  | #define PRINTER_ENUM_LOCAL       0x00000002 | 
|  | #define PRINTER_ENUM_CONNECTIONS 0x00000004 | 
|  | #define PRINTER_ENUM_FAVORITE    0x00000004 | 
|  | #define PRINTER_ENUM_NAME        0x00000008 | 
|  | #define PRINTER_ENUM_REMOTE      0x00000010 | 
|  | #define PRINTER_ENUM_SHARED      0x00000020 | 
|  | #define PRINTER_ENUM_NETWORK     0x00000040 | 
|  |  | 
|  | #define PRINTER_ENUM_EXPAND      0x00004000 | 
|  | #define PRINTER_ENUM_CONTAINER   0x00008000 | 
|  |  | 
|  | #define PRINTER_ENUM_ICONMASK    0x00ff0000 | 
|  | #define PRINTER_ENUM_ICON1       0x00010000 | 
|  | #define PRINTER_ENUM_ICON2       0x00020000 | 
|  | #define PRINTER_ENUM_ICON3       0x00040000 | 
|  | #define PRINTER_ENUM_ICON4       0x00080000 | 
|  | #define PRINTER_ENUM_ICON5       0x00100000 | 
|  | #define PRINTER_ENUM_ICON6       0x00200000 | 
|  | #define PRINTER_ENUM_ICON7       0x00400000 | 
|  | #define PRINTER_ENUM_ICON8       0x00800000 | 
|  | #define PRINTER_ENUM_HIDE        0x01000000 | 
|  |  | 
|  |  | 
|  | /* various printer statuses */ | 
|  | #define PRINTER_STATUS_PAUSED            0x00000001 | 
|  | #define PRINTER_STATUS_ERROR             0x00000002 | 
|  | #define PRINTER_STATUS_PENDING_DELETION  0x00000004 | 
|  | #define PRINTER_STATUS_PAPER_JAM         0x00000008 | 
|  | #define PRINTER_STATUS_PAPER_OUT         0x00000010 | 
|  | #define PRINTER_STATUS_MANUAL_FEED       0x00000020 | 
|  | #define PRINTER_STATUS_PAPER_PROBLEM     0x00000040 | 
|  | #define PRINTER_STATUS_OFFLINE           0x00000080 | 
|  | #define PRINTER_STATUS_IO_ACTIVE         0x00000100 | 
|  | #define PRINTER_STATUS_BUSY              0x00000200 | 
|  | #define PRINTER_STATUS_PRINTING          0x00000400 | 
|  | #define PRINTER_STATUS_OUTPUT_BIN_FULL   0x00000800 | 
|  | #define PRINTER_STATUS_NOT_AVAILABLE     0x00001000 | 
|  | #define PRINTER_STATUS_WAITING           0x00002000 | 
|  | #define PRINTER_STATUS_PROCESSING        0x00004000 | 
|  | #define PRINTER_STATUS_INITIALIZING      0x00008000 | 
|  | #define PRINTER_STATUS_WARMING_UP        0x00010000 | 
|  | #define PRINTER_STATUS_TONER_LOW         0x00020000 | 
|  | #define PRINTER_STATUS_NO_TONER          0x00040000 | 
|  | #define PRINTER_STATUS_PAGE_PUNT         0x00080000 | 
|  | #define PRINTER_STATUS_USER_INTERVENTION 0x00100000 | 
|  | #define PRINTER_STATUS_OUT_OF_MEMORY     0x00200000 | 
|  | #define PRINTER_STATUS_DOOR_OPEN         0x00400000 | 
|  | #define PRINTER_STATUS_SERVER_UNKNOWN    0x00800000 | 
|  | #define PRINTER_STATUS_POWER_SAVE        0x01000000 | 
|  |  | 
|  | #define NO_PRIORITY  0 | 
|  | #define MAX_PRIORITY 99 | 
|  | #define MIN_PRIORITY 1 | 
|  | #define DEF_PRIORITY 1 | 
|  |  | 
|  | #define JOB_CONTROL_PAUSE             1 | 
|  | #define JOB_CONTROL_RESUME            2 | 
|  | #define JOB_CONTROL_CANCEL            3 | 
|  | #define JOB_CONTROL_RESTART           4 | 
|  | #define JOB_CONTROL_DELETE            5 | 
|  | #define JOB_CONTROL_SENT_TO_PRINTER   6 | 
|  | #define JOB_CONTROL_LAST_PAGE_EJECTED 7 | 
|  |  | 
|  | #define JOB_STATUS_PAUSED       0x0001 | 
|  | #define JOB_STATUS_ERROR        0x0002 | 
|  | #define JOB_STATUS_DELETING     0x0004 | 
|  | #define JOB_STATUS_SPOOLING     0x0008 | 
|  | #define JOB_STATUS_PRINTING     0x0010 | 
|  | #define JOB_STATUS_OFFLINE      0x0020 | 
|  | #define JOB_STATUS_PAPEROUT     0x0040 | 
|  | #define JOB_STATUS_PRINTED      0x0080 | 
|  | #define JOB_STATUS_DELETED      0x0100 | 
|  | #define JOB_STATUS_BLOCKED_DEVQ 0x0200 | 
|  | #define JOB_STATUS_USER_INTERVENTION 0x0400 | 
|  |  | 
|  | #define JOB_POSITION_UNSPECIFIED 1 | 
|  |  | 
|  | #define DI_CHANNEL 1 | 
|  | #define DI_READ_SPOOL_JOB 3 | 
|  |  | 
|  | #define FORM_USER    0 | 
|  | #define FORM_BUILTIN 1 | 
|  | #define FORM_PRINTER 2 | 
|  |  | 
|  | #define PORT_TYPE_WRITE        1 | 
|  | #define PORT_TYPE_READ         2 | 
|  | #define PORT_TYPE_REDIRECTED   4 | 
|  | #define PORT_TYPE_NET_ATTACHED 8 | 
|  |  | 
|  | #define PORT_STATUS_TYPE_ERROR   1 | 
|  | #define PORT_STATUS_TYPE_WARNING 2 | 
|  | #define PORT_STATUS_TYPE_INFO    3 | 
|  |  | 
|  | #define PORT_STATUS_OFFLINE           1 | 
|  | #define PORT_STATUS_PAPER_JAM         2 | 
|  | #define PORT_STATUS_PAPER_OUT         3 | 
|  | #define PORT_STATUS_OUTPUT_BIN_FULL   4 | 
|  | #define PORT_STATUS_PAPER_PROBLEM     5 | 
|  | #define PORT_STATUS_NO_TONER          6 | 
|  | #define PORT_STATUS_DOOR_OPEN         7 | 
|  | #define PORT_STATUS_USER_INTERVENTION 8 | 
|  | #define PORT_STATUS_OUT_OF_MEMORY     9 | 
|  | #define PORT_STATUS_TONER_LOW         10 | 
|  | #define PORT_STATUS_WARMING_UP        11 | 
|  | #define PORT_STATUS_POWER_SAVE        12 | 
|  |  | 
|  | #define PRINTER_NOTIFY_TYPE 0 | 
|  | #define JOB_NOTIFY_TYPE     1 | 
|  |  | 
|  | #define PRINTER_NOTIFY_FIELD_SERVER_NAME     0x00 | 
|  | #define PRINTER_NOTIFY_FIELD_PRINTER_NAME    0x01 | 
|  | #define PRINTER_NOTIFY_FIELD_SHARE_NAME      0x02 | 
|  | #define PRINTER_NOTIFY_FIELD_PORT_NAME       0x03 | 
|  | #define PRINTER_NOTIFY_FIELD_DRIVER_NAME     0x04 | 
|  | #define PRINTER_NOTIFY_FIELD_COMMENT         0x05 | 
|  | #define PRINTER_NOTIFY_FIELD_LOCATION        0x06 | 
|  | #define PRINTER_NOTIFY_FIELD_DEVMODE         0x07 | 
|  | #define PRINTER_NOTIFY_FIELD_SEPFILE         0x08 | 
|  | #define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09 | 
|  | #define PRINTER_NOTIFY_FIELD_PARAMETERS      0x0a | 
|  | #define PRINTER_NOTIFY_FIELD_DATATYPE        0x0b | 
|  | #define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c | 
|  | #define PRINTER_NOTIFY_FIELD_ATTRIBUTES      0x0d | 
|  | #define PRINTER_NOTIFY_FIELD_PRIORITY        0x0e | 
|  | #define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0f | 
|  | #define PRINTER_NOTIFY_FIELD_START_TIME      0x10 | 
|  | #define PRINTER_NOTIFY_FIELD_UNTIL_TIME      0x11 | 
|  | #define PRINTER_NOTIFY_FIELD_STATUS          0x12 | 
|  | #define PRINTER_NOTIFY_FIELD_STATUS_STRING   0x13 | 
|  | #define PRINTER_NOTIFY_FIELD_CJOBS           0x14 | 
|  | #define PRINTER_NOTIFY_FIELD_AVERAGE_PPM     0x15 | 
|  | #define PRINTER_NOTIFY_FIELD_TOTAL_PAGES     0x16 | 
|  | #define PRINTER_NOTIFY_FIELD_PAGES_PRINTED   0x17 | 
|  | #define PRINTER_NOTIFY_FIELD_TOTAL_BYTES     0x18 | 
|  | #define PRINTER_NOTIFY_FIELD_BYTES_PRINTED   0x19 | 
|  |  | 
|  | #define JOB_NOTIFY_FIELD_PRINTER_NAME    0x00 | 
|  | #define JOB_NOTIFY_FIELD_MACHINE_NAME    0x01 | 
|  | #define JOB_NOTIFY_FIELD_PORT_NAME       0x02 | 
|  | #define JOB_NOTIFY_FIELD_USER_NAME       0x03 | 
|  | #define JOB_NOTIFY_FIELD_NOTIFY_NAME     0x04 | 
|  | #define JOB_NOTIFY_FIELD_DATATYPE        0x05 | 
|  | #define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06 | 
|  | #define JOB_NOTIFY_FIELD_PARAMETERS      0x07 | 
|  | #define JOB_NOTIFY_FIELD_DRIVER_NAME     0x08 | 
|  | #define JOB_NOTIFY_FIELD_DEVMODE         0x09 | 
|  | #define JOB_NOTIFY_FIELD_STATUS          0x0a | 
|  | #define JOB_NOTIFY_FIELD_STATUS_STRING   0x0b | 
|  | #define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c | 
|  | #define JOB_NOTIFY_FIELD_DOCUMENT        0x0d | 
|  | #define JOB_NOTIFY_FIELD_PRIORITY        0x0e | 
|  | #define JOB_NOTIFY_FIELD_POSITION        0x0f | 
|  | #define JOB_NOTIFY_FIELD_SUBMITTED       0x10 | 
|  | #define JOB_NOTIFY_FIELD_START_TIME      0x11 | 
|  | #define JOB_NOTIFY_FIELD_UNTIL_TIME      0x12 | 
|  | #define JOB_NOTIFY_FIELD_TIME            0x13 | 
|  | #define JOB_NOTIFY_FIELD_TOTAL_PAGES     0x14 | 
|  | #define JOB_NOTIFY_FIELD_PAGES_PRINTED   0x15 | 
|  | #define JOB_NOTIFY_FIELD_TOTAL_BYTES     0x16 | 
|  | #define JOB_NOTIFY_FIELD_BYTES_PRINTED   0x17 | 
|  |  | 
|  | #define PRINTER_NOTIFY_OPTIONS_REFRESH   1 | 
|  | #define PRINTER_NOTIFY_INFO_DISCARDED    1 | 
|  |  | 
|  | #define PRINTER_CHANGE_ADD_PRINTER               0x00000001 | 
|  | #define PRINTER_CHANGE_SET_PRINTER               0x00000002 | 
|  | #define PRINTER_CHANGE_DELETE_PRINTER            0x00000004 | 
|  | #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008 | 
|  | #define PRINTER_CHANGE_PRINTER                   0x000000ff | 
|  | #define PRINTER_CHANGE_ADD_JOB                   0x00000100 | 
|  | #define PRINTER_CHANGE_SET_JOB                   0x00000200 | 
|  | #define PRINTER_CHANGE_DELETE_JOB                0x00000400 | 
|  | #define PRINTER_CHANGE_WRITE_JOB                 0x00000800 | 
|  | #define PRINTER_CHANGE_JOB                       0x0000ff00 | 
|  | #define PRINTER_CHANGE_ADD_FORM                  0x00010000 | 
|  | #define PRINTER_CHANGE_SET_FORM                  0x00020000 | 
|  | #define PRINTER_CHANGE_DELETE_FORM               0x00040000 | 
|  | #define PRINTER_CHANGE_FORM                      0x00070000 | 
|  | #define PRINTER_CHANGE_ADD_PORT                  0x00100000 | 
|  | #define PRINTER_CHANGE_CONFIGURE_PORT            0x00200000 | 
|  | #define PRINTER_CHANGE_DELETE_PORT               0x00400000 | 
|  | #define PRINTER_CHANGE_PORT                      0x00700000 | 
|  | #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR       0x01000000 | 
|  | #define PRINTER_CHANGE_DELETE_PRINTER_PROCESSOR  0x04000000 | 
|  | #define PRINTER_CHANGE_PRINT_PROCESSOR           0x07000000 | 
|  | #define PRINTER_CHANGE_ADD_PRINTER_DRIVER        0x10000000 | 
|  | #define PRINTER_CHANGE_SET_PRINTER_DRIVER        0x20000000 | 
|  | #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER     0x40000000 | 
|  | #define PRINTER_CHANGE_PRINTER_DRIVER            0x70000000 | 
|  | #define PRINTER_CHANGE_TIMEOUT                   0x80000000 | 
|  | #define PRINTER_CHANGE_ALL                       0x7777ffff | 
|  |  | 
|  | #define PRINTER_ERROR_INFORMATION   0x80000000 | 
|  | #define PRINTER_ERROR_WARNING       0x40000000 | 
|  | #define PRINTER_ERROR_SEVERE        0x20000000 | 
|  |  | 
|  | #define PRINTER_ERROR_OUTODPAPER    0x00000001 | 
|  | #define PRINTER_ERROR_JAM           0x00000002 | 
|  | #define PRINTER_ERROR_OUTOFTONER    0x00000004 | 
|  |  | 
|  | /* Access Rights for Printserver, Printers and Printjobs */ | 
|  | #define SERVER_ACCESS_ADMINISTER    0x00000001 | 
|  | #define SERVER_ACCESS_ENUMERATE     0x00000002 | 
|  | #define SERVER_READ        (STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE) | 
|  | #define SERVER_WRITE       (STANDARD_RIGHTS_WRITE | \ | 
|  | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE) | 
|  | #define SERVER_EXECUTE     (STANDARD_RIGHTS_EXECUTE |  SERVER_ACCESS_ENUMERATE) | 
|  | #define SERVER_ALL_ACCESS  (STANDARD_RIGHTS_REQUIRED | \ | 
|  | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE) | 
|  |  | 
|  | #define PRINTER_ACCESS_ADMINISTER   0x00000004 | 
|  | #define PRINTER_ACCESS_USE          0x00000008 | 
|  | #define PRINTER_READ        (STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE) | 
|  | #define PRINTER_WRITE       (STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE) | 
|  | #define PRINTER_EXECUTE     (STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE) | 
|  | #define PRINTER_ALL_ACCESS  (STANDARD_RIGHTS_REQUIRED | \ | 
|  | PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE) | 
|  |  | 
|  | #define JOB_ACCESS_ADMINISTER       0x00000010 | 
|  | #define JOB_READ            (STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER) | 
|  | #define JOB_WRITE           (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER) | 
|  | #define JOB_EXECUTE         (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER) | 
|  | #define JOB_ALL_ACCESS      (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER) | 
|  |  | 
|  | /* TYPES */ | 
|  | typedef struct _PRINTER_DEFAULTSA { | 
|  | LPSTR        pDatatype; | 
|  | LPDEVMODEA pDevMode; | 
|  | ACCESS_MASK  DesiredAccess; | 
|  | } PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA; | 
|  |  | 
|  | typedef struct _PRINTER_DEFAULTSW { | 
|  | LPWSTR       pDatatype; | 
|  | LPDEVMODEW pDevMode; | 
|  | ACCESS_MASK  DesiredAccess; | 
|  | } PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS) | 
|  | DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS) | 
|  |  | 
|  | typedef struct _DRIVER_INFO_1A { | 
|  | LPSTR     pName; | 
|  | } DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A; | 
|  |  | 
|  | typedef struct _DRIVER_INFO_1W { | 
|  | LPWSTR    pName; | 
|  | } DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(DRIVER_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1) | 
|  |  | 
|  | typedef struct _DRIVER_INFO_2A { | 
|  | DWORD     cVersion; | 
|  | LPSTR     pName; | 
|  | LPSTR     pEnvironment; | 
|  | LPSTR     pDriverPath; | 
|  | LPSTR     pDataFile; | 
|  | LPSTR     pConfigFile; | 
|  | } DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A; | 
|  |  | 
|  | typedef struct _DRIVER_INFO_2W { | 
|  | DWORD     cVersion; | 
|  | LPWSTR    pName; | 
|  | LPWSTR    pEnvironment; | 
|  | LPWSTR    pDriverPath; | 
|  | LPWSTR    pDataFile; | 
|  | LPWSTR    pConfigFile; | 
|  | } DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(DRIVER_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2) | 
|  |  | 
|  | typedef struct _DRIVER_INFO_3A { | 
|  | DWORD cVersion; | 
|  | LPSTR pName; | 
|  | LPSTR pEnvironment; | 
|  | LPSTR pDriverPath; | 
|  | LPSTR pDataFile; | 
|  | LPSTR pConfigFile; | 
|  | LPSTR pHelpFile; | 
|  | LPSTR pDependentFiles; | 
|  | LPSTR pMonitorName; | 
|  | LPSTR pDefaultDataType; | 
|  | } DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A; | 
|  |  | 
|  | typedef struct _DRIVER_INFO_3W { | 
|  | DWORD cVersion; | 
|  | LPWSTR pName; | 
|  | LPWSTR pEnvironment; | 
|  | LPWSTR pDriverPath; | 
|  | LPWSTR pDataFile; | 
|  | LPWSTR pConfigFile; | 
|  | LPWSTR pHelpFile; | 
|  | LPWSTR pDependentFiles; | 
|  | LPWSTR pMonitorName; | 
|  | LPWSTR pDefaultDataType; | 
|  | } DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(DRIVER_INFO_3) | 
|  | DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3) | 
|  | DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3) | 
|  |  | 
|  | typedef struct _DRIVER_INFO_4A { | 
|  | DWORD cVersion; | 
|  | LPSTR pName; | 
|  | LPSTR pEnvironment; | 
|  | LPSTR pDriverPath; | 
|  | LPSTR pDataFile; | 
|  | LPSTR pConfigFile; | 
|  | LPSTR pHelpFile; | 
|  | LPSTR pDependentFiles; | 
|  | LPSTR pMonitorName; | 
|  | LPSTR pDefaultDataType; | 
|  | LPSTR pszzPreviousNames; | 
|  | } DRIVER_INFO_4A, *PDRIVER_INFO_4A, *LPDRIVER_INFO_4A; | 
|  |  | 
|  | typedef struct _DRIVER_INFO_4W { | 
|  | DWORD cVersion; | 
|  | LPWSTR pName; | 
|  | LPWSTR pEnvironment; | 
|  | LPWSTR pDriverPath; | 
|  | LPWSTR pDataFile; | 
|  | LPWSTR pConfigFile; | 
|  | LPWSTR pHelpFile; | 
|  | LPWSTR pDependentFiles; | 
|  | LPWSTR pMonitorName; | 
|  | LPWSTR pDefaultDataType; | 
|  | LPWSTR pszzPreviousNames; | 
|  | } DRIVER_INFO_4W, *PDRIVER_INFO_4W, *LPDRIVER_INFO_4W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(DRIVER_INFO_4) | 
|  | DECL_WINELIB_TYPE_AW(PDRIVER_INFO_4) | 
|  | DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_4) | 
|  |  | 
|  |  | 
|  | typedef struct _DRIVER_INFO_5A { | 
|  | DWORD cVersion; | 
|  | LPSTR pName; | 
|  | LPSTR pEnvironment; | 
|  | LPSTR pDriverPath; | 
|  | LPSTR pDataFile; | 
|  | LPSTR pConfigFile; | 
|  | DWORD dwDriverAttributes; | 
|  | DWORD dwConfigVersion; | 
|  | DWORD dwDriverVersion; | 
|  | } DRIVER_INFO_5A, *PDRIVER_INFO_5A, *LPDRIVER_INFO_5A; | 
|  |  | 
|  | typedef struct _DRIVER_INFO_5W { | 
|  | DWORD  cVersion; | 
|  | LPWSTR pName; | 
|  | LPWSTR pEnvironment; | 
|  | LPWSTR pDriverPath; | 
|  | LPWSTR pDataFile; | 
|  | LPWSTR pConfigFile; | 
|  | DWORD  dwDriverAttributes; | 
|  | DWORD  dwConfigVersion; | 
|  | DWORD  dwDriverVersion; | 
|  | } DRIVER_INFO_5W, *PDRIVER_INFO_5W, *LPDRIVER_INFO_5W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(DRIVER_INFO_5) | 
|  | DECL_WINELIB_TYPE_AW(PDRIVER_INFO_5) | 
|  | DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_5) | 
|  |  | 
|  | typedef struct _DRIVER_INFO_6A { | 
|  | DWORD     cVersion; | 
|  | LPSTR     pName; | 
|  | LPSTR     pEnvironment; | 
|  | LPSTR     pDriverPath; | 
|  | LPSTR     pDataFile; | 
|  | LPSTR     pConfigFile; | 
|  | LPSTR     pHelpFile; | 
|  | LPSTR     pDependentFiles; | 
|  | LPSTR     pMonitorName; | 
|  | LPSTR     pDefaultDataType; | 
|  | LPSTR     pszzPreviousNames; | 
|  | FILETIME  ftDriverDate; | 
|  | DWORDLONG dwlDriverVersion; | 
|  | LPSTR     pszMfgName; | 
|  | LPSTR     pszOEMUrl; | 
|  | LPSTR     pszHardwareID; | 
|  | LPSTR     pszProvider; | 
|  | } DRIVER_INFO_6A, *PDRIVER_INFO_6A, *LPDRIVER_INFO_6A; | 
|  |  | 
|  | typedef struct _DRIVER_INFO_6W { | 
|  | DWORD     cVersion; | 
|  | LPWSTR    pName; | 
|  | LPWSTR    pEnvironment; | 
|  | LPWSTR    pDriverPath; | 
|  | LPWSTR    pDataFile; | 
|  | LPWSTR    pConfigFile; | 
|  | LPWSTR    pHelpFile; | 
|  | LPWSTR    pDependentFiles; | 
|  | LPWSTR    pMonitorName; | 
|  | LPWSTR    pDefaultDataType; | 
|  | LPWSTR    pszzPreviousNames; | 
|  | FILETIME  ftDriverDate; | 
|  | DWORDLONG dwlDriverVersion; | 
|  | LPWSTR    pszMfgName; | 
|  | LPWSTR    pszOEMUrl; | 
|  | LPWSTR    pszHardwareID; | 
|  | LPWSTR    pszProvider; | 
|  | } DRIVER_INFO_6W, *PDRIVER_INFO_6W, *LPDRIVER_INFO_6W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(DRIVER_INFO_6) | 
|  | DECL_WINELIB_TYPE_AW(PDRIVER_INFO_6) | 
|  | DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_6) | 
|  |  | 
|  |  | 
|  | typedef struct _PRINTER_INFO_1A { | 
|  | DWORD   Flags; | 
|  | LPSTR   pDescription; | 
|  | LPSTR   pName; | 
|  | LPSTR   pComment; | 
|  | } PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A; | 
|  |  | 
|  | typedef struct _PRINTER_INFO_1W { | 
|  | DWORD   Flags; | 
|  | LPWSTR  pDescription; | 
|  | LPWSTR  pName; | 
|  | LPWSTR  pComment; | 
|  | } PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PRINTER_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1) | 
|  |  | 
|  | /* FIXME: winspool.h declares some structure members with the name Status. | 
|  | * unfortunately <X11/ICE/ICElib.h> #defines Status to the type 'int' | 
|  | * therefore the following hack */ | 
|  | #ifndef Status | 
|  |  | 
|  | typedef struct _PRINTER_INFO_2A { | 
|  | LPSTR     pServerName; | 
|  | LPSTR     pPrinterName; | 
|  | LPSTR     pShareName; | 
|  | LPSTR     pPortName; | 
|  | LPSTR     pDriverName; | 
|  | LPSTR     pComment; | 
|  | LPSTR     pLocation; | 
|  | LPDEVMODEA pDevMode; | 
|  | LPSTR     pSepFile; | 
|  | LPSTR     pPrintProcessor; | 
|  | LPSTR     pDatatype; | 
|  | LPSTR     pParameters; | 
|  | PSECURITY_DESCRIPTOR pSecurityDescriptor; | 
|  | DWORD   Attributes; | 
|  | DWORD   Priority; | 
|  | DWORD   DefaultPriority; | 
|  | DWORD   StartTime; | 
|  | DWORD   UntilTime; | 
|  | DWORD   Status; | 
|  | DWORD   cJobs; | 
|  | DWORD   AveragePPM; | 
|  | } PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A; | 
|  |  | 
|  | typedef struct _PRINTER_INFO_2W { | 
|  | LPWSTR    pServerName; | 
|  | LPWSTR    pPrinterName; | 
|  | LPWSTR    pShareName; | 
|  | LPWSTR    pPortName; | 
|  | LPWSTR    pDriverName; | 
|  | LPWSTR    pComment; | 
|  | LPWSTR    pLocation; | 
|  | LPDEVMODEW pDevMode; | 
|  | LPWSTR    pSepFile; | 
|  | LPWSTR    pPrintProcessor; | 
|  | LPWSTR    pDatatype; | 
|  | LPWSTR    pParameters; | 
|  | PSECURITY_DESCRIPTOR pSecurityDescriptor; | 
|  | DWORD   Attributes; | 
|  | DWORD   Priority; | 
|  | DWORD   DefaultPriority; | 
|  | DWORD   StartTime; | 
|  | DWORD   UntilTime; | 
|  | DWORD   Status; | 
|  | DWORD   cJobs; | 
|  | DWORD   AveragePPM; | 
|  | } PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PRINTER_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2) | 
|  |  | 
|  | typedef struct _PRINTER_INFO_3 { | 
|  | PSECURITY_DESCRIPTOR pSecurityDescriptor; | 
|  | } PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3; | 
|  |  | 
|  | typedef struct _PRINTER_INFO_4A { | 
|  | LPSTR     pPrinterName; | 
|  | LPSTR     pServerName; | 
|  | DWORD     Attributes; | 
|  | } PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A; | 
|  |  | 
|  | typedef struct _PRINTER_INFO_4W { | 
|  | LPWSTR     pPrinterName; | 
|  | LPWSTR     pServerName; | 
|  | DWORD     Attributes; | 
|  | } PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PRINTER_INFO_4) | 
|  | DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4) | 
|  | DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4) | 
|  |  | 
|  | typedef struct _PRINTER_INFO_5A { | 
|  | LPSTR     pPrinterName; | 
|  | LPSTR     pPortName; | 
|  | DWORD     Attributes; | 
|  | DWORD     DeviceNotSelectedTimeout; | 
|  | DWORD     TransmissionRetryTimeout; | 
|  | } PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A; | 
|  |  | 
|  | typedef struct _PRINTER_INFO_5W { | 
|  | LPWSTR    pPrinterName; | 
|  | LPWSTR    pPortName; | 
|  | DWORD     Attributes; | 
|  | DWORD     DeviceNotSelectedTimeout; | 
|  | DWORD     TransmissionRetryTimeout; | 
|  | } PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PRINTER_INFO_5) | 
|  | DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5) | 
|  | DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5) | 
|  |  | 
|  | typedef struct _PRINTER_INFO_6 { | 
|  | DWORD dwStatus; | 
|  | } PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6; | 
|  |  | 
|  | typedef struct _PRINTER_INFO_7A { | 
|  | LPSTR     pszObjectGUID; | 
|  | DWORD     dwAction; | 
|  | } PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A; | 
|  |  | 
|  | typedef struct _PRINTER_INFO_7W { | 
|  | LPWSTR    pszObjectGUID; | 
|  | DWORD     dwAction; | 
|  | } PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PRINTER_INFO_7) | 
|  | DECL_WINELIB_TYPE_AW(PPRINTER_INFO_7) | 
|  | DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_7) | 
|  |  | 
|  | typedef struct _PRINTER_INFO_8A { | 
|  | LPDEVMODEA pDevMode; | 
|  | } PRINTER_INFO_8A, *PPRINTER_INFO_8A, *LPPRINTER_INFO_8A; | 
|  |  | 
|  | typedef struct _PRINTER_INFO_8W { | 
|  | LPDEVMODEW pDevMode; | 
|  | } PRINTER_INFO_8W, *PPRINTER_INFO_8W, *LPPRINTER_INFO_8W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PRINTER_INFO_8) | 
|  | DECL_WINELIB_TYPE_AW(PPRINTER_INFO_8) | 
|  | DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_8) | 
|  |  | 
|  | typedef struct _PRINTER_INFO_9A { | 
|  | LPDEVMODEA pDevMode; | 
|  | } PRINTER_INFO_9A, *PPRINTER_INFO_9A, *LPPRINTER_INFO_9A; | 
|  |  | 
|  | typedef struct _PRINTER_INFO_9W { | 
|  | LPDEVMODEW pDevMode; | 
|  | } PRINTER_INFO_9W, *PPRINTER_INFO_9W, *LPPRINTER_INFO_9W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PRINTER_INFO_9) | 
|  | DECL_WINELIB_TYPE_AW(PPRINTER_INFO_9) | 
|  | DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_9) | 
|  |  | 
|  |  | 
|  | typedef struct _JOB_INFO_1A { | 
|  | DWORD JobId; | 
|  | LPSTR pPrinterName; | 
|  | LPSTR pMachineName; | 
|  | LPSTR pUserName; | 
|  | LPSTR pDocument; | 
|  | LPSTR pDatatype; | 
|  | LPSTR pStatus; | 
|  | DWORD Status; | 
|  | DWORD Priority; | 
|  | DWORD Position; | 
|  | DWORD TotalPages; | 
|  | DWORD PagesPrinted; | 
|  | SYSTEMTIME Submitted; | 
|  | } JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A; | 
|  |  | 
|  | typedef struct _JOB_INFO_1W { | 
|  | DWORD JobId; | 
|  | LPWSTR pPrinterName; | 
|  | LPWSTR pMachineName; | 
|  | LPWSTR pUserName; | 
|  | LPWSTR pDocument; | 
|  | LPWSTR pDatatype; | 
|  | LPWSTR pStatus; | 
|  | DWORD Status; | 
|  | DWORD Priority; | 
|  | DWORD Position; | 
|  | DWORD TotalPages; | 
|  | DWORD PagesPrinted; | 
|  | SYSTEMTIME Submitted; | 
|  | } JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(JOB_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PJOB_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPJOB_INFO_1) | 
|  |  | 
|  | typedef struct _JOB_INFO_2A { | 
|  | DWORD JobId; | 
|  | LPSTR pPrinterName; | 
|  | LPSTR pMachineName; | 
|  | LPSTR pUserName; | 
|  | LPSTR pDocument; | 
|  | LPSTR pNotifyName; | 
|  | LPSTR pDatatype; | 
|  | LPSTR pPrintProcessor; | 
|  | LPSTR pParameters; | 
|  | LPSTR pDriverName; | 
|  | LPDEVMODEA pDevMode; | 
|  | LPSTR pStatus; | 
|  | PSECURITY_DESCRIPTOR pSecurityDescriptor; | 
|  | DWORD Status; | 
|  | DWORD Priority; | 
|  | DWORD Position; | 
|  | DWORD StartTime; | 
|  | DWORD UntilTime; | 
|  | DWORD TotalPages; | 
|  | DWORD Size; | 
|  | SYSTEMTIME Submitted; | 
|  | DWORD Time; | 
|  | DWORD PagesPrinted; | 
|  | } JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A; | 
|  |  | 
|  | typedef struct _JOB_INFO_2W { | 
|  | DWORD JobId; | 
|  | LPWSTR pPrinterName; | 
|  | LPWSTR pMachineName; | 
|  | LPWSTR pUserName; | 
|  | LPWSTR pDocument; | 
|  | LPWSTR pNotifyName; | 
|  | LPWSTR pDatatype; | 
|  | LPWSTR pPrintProcessor; | 
|  | LPWSTR pParameters; | 
|  | LPWSTR pDriverName; | 
|  | LPDEVMODEW pDevMode; | 
|  | LPWSTR pStatus; | 
|  | PSECURITY_DESCRIPTOR pSecurityDescriptor; | 
|  | DWORD Status; | 
|  | DWORD Priority; | 
|  | DWORD Position; | 
|  | DWORD StartTime; | 
|  | DWORD UntilTime; | 
|  | DWORD TotalPages; | 
|  | DWORD Size; | 
|  | SYSTEMTIME Submitted; | 
|  | DWORD Time; | 
|  | DWORD PagesPrinted; | 
|  | } JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(JOB_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(PJOB_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(LPJOB_INFO_2) | 
|  |  | 
|  | typedef struct _JOB_INFO_3 { | 
|  | DWORD JobId; | 
|  | DWORD NextJobId; | 
|  | DWORD Reserved; | 
|  | } JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3; | 
|  |  | 
|  | typedef struct _ADDJOB_INFO_1A { | 
|  | LPSTR Path; | 
|  | DWORD JobId; | 
|  | } ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A; | 
|  |  | 
|  | typedef struct _ADDJOB_INFO_1W { | 
|  | LPWSTR Path; | 
|  | DWORD  JobId; | 
|  | } ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1) | 
|  |  | 
|  | typedef struct _DOC_INFO_1A { | 
|  | LPSTR pDocName; | 
|  | LPSTR pOutputFile; | 
|  | LPSTR pDatatype; | 
|  | } DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A; | 
|  |  | 
|  | typedef struct _DOC_INFO_1W { | 
|  | LPWSTR pDocName; | 
|  | LPWSTR pOutputFile; | 
|  | LPWSTR pDatatype; | 
|  | } DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(DOC_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PDOC_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPDOC_INFO_1) | 
|  |  | 
|  | typedef struct _DOC_INFO_2A { | 
|  | LPSTR pDocName; | 
|  | LPSTR pOutputFile; | 
|  | LPSTR pDatatype; | 
|  | DWORD dwMode; | 
|  | DWORD JobId; | 
|  | } DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A; | 
|  |  | 
|  | typedef struct _DOC_INFO_2W { | 
|  | LPWSTR pDocName; | 
|  | LPWSTR pOutputFile; | 
|  | LPWSTR pDatatype; | 
|  | DWORD dwMode; | 
|  | DWORD JobId; | 
|  | } DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(DOC_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(PDOC_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(LPDOC_INFO_2) | 
|  |  | 
|  | typedef struct _FORM_INFO_1A { | 
|  | DWORD Flags; | 
|  | LPSTR pName; | 
|  | SIZEL Size; | 
|  | RECTL ImageableArea; | 
|  | } FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A; | 
|  |  | 
|  | typedef struct _FORM_INFO_1W { | 
|  | DWORD Flags; | 
|  | LPWSTR pName; | 
|  | SIZEL Size; | 
|  | RECTL ImageableArea; | 
|  | } FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(FORM_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PFORM_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPFORM_INFO_1) | 
|  |  | 
|  | typedef struct _PRINTPROCESSOR_INFO_1A { | 
|  | LPSTR pName; | 
|  | } PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A, | 
|  | *LPPRINTPROCESSOR_INFO_1A; | 
|  |  | 
|  | typedef struct _PRINTPROCESSOR_INFO_1W { | 
|  | LPWSTR pName; | 
|  | } PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W, | 
|  | *LPPRINTPROCESSOR_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1) | 
|  |  | 
|  | typedef struct _PORT_INFO_1A { | 
|  | LPSTR pName; | 
|  | } PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A; | 
|  |  | 
|  | typedef struct _PORT_INFO_1W { | 
|  | LPWSTR pName; | 
|  | } PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PORT_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PPORT_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPPORT_INFO_1) | 
|  |  | 
|  | typedef struct _PORT_INFO_2A { | 
|  | LPSTR pPortName; | 
|  | LPSTR pMonitorName; | 
|  | LPSTR pDescription; | 
|  | DWORD fPortType; | 
|  | DWORD Reserved; | 
|  | } PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A; | 
|  |  | 
|  | typedef struct _PORT_INFO_2W { | 
|  | LPWSTR pPortName; | 
|  | LPWSTR pMonitorName; | 
|  | LPWSTR pDescription; | 
|  | DWORD  fPortType; | 
|  | DWORD  Reserved; | 
|  | } PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PORT_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(PPORT_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(LPPORT_INFO_2) | 
|  |  | 
|  | typedef struct _PORT_INFO_3A { | 
|  | DWORD dwStatus; | 
|  | LPSTR pszStatus; | 
|  | DWORD dwSeverity; | 
|  | } PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A; | 
|  |  | 
|  | typedef struct _PORT_INFO_3W { | 
|  | DWORD  dwStatus; | 
|  | LPWSTR pszStatus; | 
|  | DWORD  dwSeverity; | 
|  | } PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PORT_INFO_3) | 
|  | DECL_WINELIB_TYPE_AW(PPORT_INFO_3) | 
|  | DECL_WINELIB_TYPE_AW(LPPORT_INFO_3) | 
|  |  | 
|  | typedef struct _MONITOR_INFO_1A { | 
|  | LPSTR pName; | 
|  | } MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A; | 
|  |  | 
|  | typedef struct _MONITOR_INFO_1W { | 
|  | LPWSTR pName; | 
|  | } MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(MONITOR_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1) | 
|  |  | 
|  | #endif /* Status */ | 
|  |  | 
|  |  | 
|  | typedef struct _MONITOR_INFO_2A { | 
|  | LPSTR pName; | 
|  | LPSTR pEnvironment; | 
|  | LPSTR pDLLName; | 
|  | } MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A; | 
|  |  | 
|  | typedef struct _MONITOR_INFO_2W { | 
|  | LPWSTR pName; | 
|  | LPWSTR pEnvironment; | 
|  | LPWSTR pDLLName; | 
|  | } MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(MONITOR_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2) | 
|  | DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2) | 
|  |  | 
|  | typedef struct _DATATYPES_INFO_1A { | 
|  | LPSTR pName; | 
|  | } DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A; | 
|  |  | 
|  | typedef struct _DATATYPES_INFO_1W { | 
|  | LPWSTR pName; | 
|  | } DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1) | 
|  |  | 
|  | typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE { | 
|  | WORD  Type; | 
|  | WORD  Reserved0; | 
|  | DWORD Reserved1; | 
|  | DWORD Reserved2; | 
|  | DWORD Count; | 
|  | PWORD pFields; | 
|  | } PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE, | 
|  | *LPPRINTER_NOTIFY_OPTIONS_TYPE; | 
|  |  | 
|  | typedef struct _PRINTER_NOTIFY_OPTIONS { | 
|  | DWORD Version; | 
|  | DWORD Flags; | 
|  | DWORD Count; | 
|  | PPRINTER_NOTIFY_OPTIONS_TYPE pTypes; | 
|  | } PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS; | 
|  |  | 
|  | typedef struct _PRINTER_NOTIFY_INFO_DATA { | 
|  | WORD Type; | 
|  | WORD Field; | 
|  | DWORD Reserved; | 
|  | DWORD Id; | 
|  | union { | 
|  | DWORD adwData[2]; | 
|  | struct { | 
|  | DWORD cbBuf; | 
|  | LPVOID pBuf; | 
|  | } Data; | 
|  | } NotifyData; | 
|  | } PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA, | 
|  | *LPPRINTER_NOTIFY_INFO_DATA; | 
|  |  | 
|  | typedef struct _PRINTER_NOTIFY_INFO { | 
|  | DWORD Version; | 
|  | DWORD Flags; | 
|  | DWORD Count; | 
|  | PRINTER_NOTIFY_INFO_DATA aData[1]; | 
|  | } PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO; | 
|  |  | 
|  | typedef struct _PROVIDOR_INFO_1A { | 
|  | LPSTR pName; | 
|  | LPSTR pEnvironment; | 
|  | LPSTR pDLLName; | 
|  | } PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A; | 
|  |  | 
|  | typedef struct _PROVIDOR_INFO_1W { | 
|  | LPWSTR pName; | 
|  | LPWSTR pEnvironment; | 
|  | LPWSTR pDLLName; | 
|  | } PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1) | 
|  | DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1) | 
|  |  | 
|  | typedef struct _PRINTER_ENUM_VALUESA { | 
|  | LPSTR	 pValueName; | 
|  | DWORD  cbValueName; | 
|  | DWORD  dwType; | 
|  | LPBYTE pData; | 
|  | DWORD  cbData; | 
|  | } PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA; | 
|  |  | 
|  | typedef struct _PRINTER_ENUM_VALUESW { | 
|  | LPWSTR pValueName; | 
|  | DWORD  cbValueName; | 
|  | DWORD  dwType; | 
|  | LPBYTE pData; | 
|  | DWORD  cbData; | 
|  | } PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW; | 
|  |  | 
|  | DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES) | 
|  | DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES) | 
|  |  | 
|  | typedef enum { | 
|  | BIDI_NULL = 0, | 
|  | BIDI_INT, | 
|  | BIDI_FLOAT, | 
|  | BIDI_BOOL, | 
|  | BIDI_STRING, | 
|  | BIDI_TEXT, | 
|  | BIDI_ENUM, | 
|  | BIDI_BLOB | 
|  | } BIDI_TYPE; | 
|  |  | 
|  | typedef struct _BINARY_CONTAINER { | 
|  | DWORD  cbBuf; | 
|  | LPBYTE pData; | 
|  | } BINARY_CONTAINER, *PBINARY_CONTAINER; | 
|  |  | 
|  | typedef struct _BIDI_DATA { | 
|  | DWORD  dwBidiType; | 
|  | union | 
|  | { | 
|  | BOOL             bData; | 
|  | INT              iData; | 
|  | LPWSTR           sData; | 
|  | FLOAT            fData; | 
|  | BINARY_CONTAINER biData; | 
|  | } u; | 
|  | } BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA; | 
|  |  | 
|  | typedef struct _BIDI_REQUEST_DATA { | 
|  | DWORD      dwReqNumber; | 
|  | LPWSTR     pSchema; | 
|  | BIDI_DATA  data; | 
|  | } BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA; | 
|  |  | 
|  | typedef struct _BIDI_REQUEST_CONTAINER { | 
|  | DWORD              Version; | 
|  | DWORD              Flags; | 
|  | DWORD              Count; | 
|  | BIDI_REQUEST_DATA  aData[1]; | 
|  | } BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER; | 
|  |  | 
|  | typedef struct _BIDI_RESPONSE_DATA { | 
|  | DWORD      dwResult; | 
|  | DWORD      dwReqNumber; | 
|  | LPWSTR     pSchema; | 
|  | BIDI_DATA  data; | 
|  | } BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA; | 
|  |  | 
|  | typedef struct _BIDI_RESPONSE_CONTAINER { | 
|  | DWORD              Version; | 
|  | DWORD              Flags; | 
|  | DWORD              Count; | 
|  | BIDI_RESPONSE_DATA aData[1]; | 
|  | } BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER; | 
|  |  | 
|  | /* DECLARATIONS */ | 
|  | INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability, | 
|  | LPSTR pOutput, LPDEVMODEA pDevMode); | 
|  | INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort, | 
|  | WORD fwCapability, LPWSTR pOutput, | 
|  | const DEVMODEW *pDevMode); | 
|  |  | 
|  | #define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities) | 
|  |  | 
|  | LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter, | 
|  | LPSTR pDeviceName, LPDEVMODEA pDevModeOutput, | 
|  | LPDEVMODEA pDevModeInput,DWORD fMode ); | 
|  | LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter, | 
|  | LPWSTR pDeviceName, | 
|  | LPDEVMODEW pDevModeOutput, | 
|  | LPDEVMODEW pDevModeInput, DWORD fMode); | 
|  |  | 
|  | #define DocumentProperties WINELIB_NAME_AW(DocumentProperties) | 
|  |  | 
|  | BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter, | 
|  | LPPRINTER_DEFAULTSA pDefault); | 
|  | BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter, | 
|  | LPPRINTER_DEFAULTSW pDefault); | 
|  |  | 
|  | #define OpenPrinter WINELIB_NAME_AW(OpenPrinter) | 
|  |  | 
|  | BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault); | 
|  | BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault); | 
|  | #define ResetPrinter WINELIB_NAME_AW(ResetPrinter) | 
|  |  | 
|  | BOOL WINAPI ClosePrinter (HANDLE phPrinter); | 
|  |  | 
|  | BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, | 
|  | DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded, | 
|  | LPDWORD pcReturned); | 
|  | BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, | 
|  | DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded, | 
|  | LPDWORD pcReturned); | 
|  | #define EnumJobs WINELIB_NAME_AW(EnumJobs) | 
|  |  | 
|  | BOOL  WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName, | 
|  | DWORD dwLevel, LPBYTE lpbPrinters, | 
|  | DWORD cbBuf, LPDWORD lpdwNeeded, | 
|  | LPDWORD lpdwReturned); | 
|  | BOOL  WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName, | 
|  | DWORD dwLevel, LPBYTE lpbPrinters, | 
|  | DWORD cbBuf, LPDWORD lpdwNeeded, | 
|  | LPDWORD lpdwReturned); | 
|  | #define EnumPrinters WINELIB_NAME_AW(EnumPrinters) | 
|  |  | 
|  | BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter); | 
|  |  | 
|  | BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD); | 
|  | BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD); | 
|  | #define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory) | 
|  |  | 
|  | BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment, | 
|  | DWORD Level, LPBYTE pDriverInfo, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded); | 
|  | BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment, | 
|  | DWORD Level, LPBYTE pDriverInfo, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded); | 
|  | #define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver) | 
|  |  | 
|  | BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob, | 
|  | DWORD Command); | 
|  | BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob, | 
|  | DWORD Command); | 
|  | #define SetJob WINELIB_NAME_AW(SetJob) | 
|  |  | 
|  | BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded); | 
|  | BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded); | 
|  | #define GetJob WINELIB_NAME_AW(GetJob) | 
|  |  | 
|  | HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter); | 
|  | HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter); | 
|  | #define AddPrinter WINELIB_NAME_AW(AddPrinter) | 
|  |  | 
|  | BOOL WINAPI DeletePrinter(HANDLE hPrinter); | 
|  |  | 
|  | BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, | 
|  | DWORD Command); | 
|  | BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, | 
|  | DWORD Command); | 
|  | #define SetPrinter WINELIB_NAME_AW(SetPrinter) | 
|  |  | 
|  | BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded); | 
|  | BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded); | 
|  | #define GetPrinter WINELIB_NAME_AW(GetPrinter) | 
|  |  | 
|  | BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo); | 
|  | BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo); | 
|  | #define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver) | 
|  |  | 
|  | BOOL WINAPI AddPrinterDriverExA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo, | 
|  | DWORD dwFileCopyFlags); | 
|  | BOOL WINAPI AddPrinterDriverExW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo, | 
|  | DWORD dwFileCopyFlags); | 
|  | #define AddPrinterDriverEx WINELIB_NAME_AW(AddPrinterDriverEx) | 
|  |  | 
|  | BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level, | 
|  | LPBYTE pDriverInfo, DWORD cbBuf, | 
|  | LPDWORD pcbNeeded, LPDWORD pcbReturned); | 
|  | BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level, | 
|  | LPBYTE pDriverInfo, DWORD cbBuf, | 
|  | LPDWORD pcbNeeded, LPDWORD pcbReturned); | 
|  | #define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers) | 
|  |  | 
|  | BOOL WINAPI GetDefaultPrinterA(LPSTR pName, LPDWORD pcbNameSize); | 
|  | BOOL WINAPI GetDefaultPrinterW(LPWSTR pName, LPDWORD pcbNameSize); | 
|  | #define GetDefaultPrinter WINELIB_NAME_AW(GetDefaultPrinter) | 
|  |  | 
|  | BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment, | 
|  | LPSTR pDriverName); | 
|  | BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment, | 
|  | LPWSTR pDriverName); | 
|  | #define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver) | 
|  |  | 
|  | BOOL WINAPI DeletePrinterDriverExA(LPSTR pName, LPSTR pEnvironment, | 
|  | LPSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag); | 
|  | BOOL WINAPI DeletePrinterDriverExW(LPWSTR pName, LPWSTR pEnvironment, | 
|  | LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag); | 
|  | #define DeletePrinterDriverEx WINELIB_NAME_AW(DeletePrinterDriverEx) | 
|  |  | 
|  | BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment, | 
|  | LPSTR pPathName, LPSTR pPrintProcessorName); | 
|  | BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment, | 
|  | LPWSTR pPathName, LPWSTR pPrintProcessorName); | 
|  | #define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor) | 
|  |  | 
|  | BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment, | 
|  | DWORD Level, LPBYTE pPrintProcessorInfo, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded, | 
|  | LPDWORD pcbReturned); | 
|  | BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment, | 
|  | DWORD Level, LPBYTE pPrintProcessorInfo, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded, | 
|  | LPDWORD pcbReturned); | 
|  | #define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors) | 
|  |  | 
|  | BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment, | 
|  | DWORD Level, | 
|  | LPBYTE pPrintProcessorInfo, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded); | 
|  |  | 
|  | BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment, | 
|  | DWORD Level, | 
|  | LPBYTE pPrintProcessorInfo, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded); | 
|  | #define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory) | 
|  |  | 
|  | BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName, | 
|  | LPSTR pPrintProcessorName, | 
|  | DWORD Level, LPBYTE pDatatypes, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded, | 
|  | LPDWORD pcbReturned); | 
|  | BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName, | 
|  | LPWSTR pPrintProcessorName, | 
|  | DWORD Level, LPBYTE pDatatypes, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded, | 
|  | LPDWORD pcbReturned); | 
|  | #define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes) | 
|  |  | 
|  | BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment, | 
|  | LPSTR pPrintProcessorName); | 
|  | BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment, | 
|  | LPWSTR pPrintProcessorName); | 
|  | #define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor) | 
|  |  | 
|  | DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo); | 
|  | DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo); | 
|  | #define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter) | 
|  |  | 
|  | BOOL WINAPI StartPagePrinter(HANDLE hPrinter); | 
|  | BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf, | 
|  | LPDWORD pcWritten); | 
|  | BOOL WINAPI EndPagePrinter(HANDLE hPrinter); | 
|  | BOOL WINAPI AbortPrinter(HANDLE hPrinter); | 
|  | BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf, | 
|  | LPDWORD pNoBytesRead); | 
|  | BOOL WINAPI EndDocPrinter(HANDLE hPrinter); | 
|  |  | 
|  | BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf, | 
|  | LPDWORD pcbNeeded); | 
|  | BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf, | 
|  | LPDWORD pcbNeeded); | 
|  | #define AddJob WINELIB_NAME_AW(AddJob) | 
|  |  | 
|  | BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID); | 
|  |  | 
|  | LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter, | 
|  | LPSTR pDeviceName, | 
|  | PDEVMODEA pDevModeOutput, | 
|  | PDEVMODEA pDevModeInput); | 
|  | LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter, | 
|  | LPWSTR pDeviceName, | 
|  | PDEVMODEW pDevModeOutput, | 
|  | PDEVMODEW pDevModeInput); | 
|  | #define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties) | 
|  |  | 
|  | DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType, | 
|  | LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded); | 
|  | DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType, | 
|  | LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded); | 
|  | #define GetPrinterData WINELIB_NAME_AW(GetPrinterData) | 
|  |  | 
|  | DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, | 
|  | LPCSTR pValueName, LPDWORD pType, | 
|  | LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded); | 
|  | DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, | 
|  | LPCWSTR pValueName, LPDWORD pType, | 
|  | LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded); | 
|  | #define GetPrinterDataEx WINELIB_NAME_AW(GetPrinterDataEx) | 
|  |  | 
|  | DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, | 
|  | LPCSTR pValueName); | 
|  | DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, | 
|  | LPCWSTR pValueName); | 
|  | #define DeletePrinterDataEx WINELIB_NAME_AW(DeletePrinterDataEx) | 
|  |  | 
|  | DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type, | 
|  | LPBYTE pData, DWORD cbData); | 
|  | DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type, | 
|  | LPBYTE pData, DWORD cbData); | 
|  | #define SetPrinterData WINELIB_NAME_AW(SetPrinterData) | 
|  |  | 
|  | DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, | 
|  | LPCSTR pValueName, DWORD Type, | 
|  | LPBYTE pData, DWORD cbData); | 
|  | DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, | 
|  | LPCWSTR pValueName, DWORD Type, | 
|  | LPBYTE pData, DWORD cbData); | 
|  | #define SetPrinterDataEx WINELIB_NAME_AW(SetPrinterDataEx) | 
|  |  | 
|  | DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags); | 
|  | HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter, | 
|  | DWORD fdwFlags, | 
|  | DWORD fdwOptions, | 
|  | LPVOID pPrinterNotifyOptions); | 
|  | BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange, | 
|  | PDWORD pdwChange, | 
|  | LPVOID pvReserved, | 
|  | LPVOID *ppPrinterNotifyInfo); | 
|  | BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo); | 
|  | BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange); | 
|  |  | 
|  | DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd, | 
|  | LPSTR pText, LPSTR pCaption, DWORD dwType); | 
|  | DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd, | 
|  | LPWSTR pText, LPWSTR pCaption, DWORD dwType); | 
|  | #define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox) | 
|  |  | 
|  | BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm); | 
|  | BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm); | 
|  | #define AddForm WINELIB_NAME_AW(AddForm) | 
|  |  | 
|  | BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName); | 
|  | BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName); | 
|  | #define DeleteForm WINELIB_NAME_AW(DeleteForm) | 
|  |  | 
|  | BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level, | 
|  | LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded); | 
|  | BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level, | 
|  | LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded); | 
|  | #define GetForm WINELIB_NAME_AW(GetForm) | 
|  |  | 
|  | BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level, | 
|  | LPBYTE pForm); | 
|  | BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level, | 
|  | LPBYTE pForm); | 
|  | #define SetForm WINELIB_NAME_AW(SetForm) | 
|  |  | 
|  | BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf, | 
|  | LPDWORD pcbNeeded, LPDWORD pcReturned); | 
|  | BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf, | 
|  | LPDWORD pcbNeeded, LPDWORD pcReturned); | 
|  | #define EnumForms WINELIB_NAME_AW(EnumForms) | 
|  |  | 
|  | BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned); | 
|  | BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned); | 
|  | #define EnumMonitors WINELIB_NAME_AW(EnumMonitors) | 
|  |  | 
|  | DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName, | 
|  | DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData, | 
|  | DWORD cbData, LPDWORD pcbData ); | 
|  | DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName, | 
|  | DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData, | 
|  | DWORD cbData, LPDWORD pcbData ); | 
|  | #define EnumPrinterData WINELIB_NAME_AW(EnumPrinterData) | 
|  |  | 
|  | BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors); | 
|  | BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors); | 
|  | #define AddMonitor WINELIB_NAME_AW(AddMonitor) | 
|  |  | 
|  | BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment, | 
|  | LPSTR pMonitorName); | 
|  | BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment, | 
|  | LPWSTR pMonitorName); | 
|  | #define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor) | 
|  |  | 
|  | BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned); | 
|  | BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts, | 
|  | DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned); | 
|  | #define EnumPorts WINELIB_NAME_AW(EnumPorts) | 
|  |  | 
|  | BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName); | 
|  | BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName); | 
|  | #define AddPort WINELIB_NAME_AW(AddPort) | 
|  |  | 
|  | BOOL WINAPI AddPortExA(HANDLE hMonitor, LPSTR pName, DWORD Level, | 
|  | LPBYTE lpBuffer, LPSTR lpMonitorName); | 
|  | BOOL WINAPI AddPortExW(HANDLE hMonitor, LPWSTR pName, DWORD Level, | 
|  | LPBYTE lpBuffer, LPWSTR lpMonitorName); | 
|  | #define AddPortEx WINELIB_NAME_AW(AddPortEx) | 
|  |  | 
|  | BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName); | 
|  | BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName); | 
|  | #define ConfigurePort WINELIB_NAME_AW(ConfigurePort) | 
|  |  | 
|  | BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName); | 
|  | BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName); | 
|  | #define DeletePort WINELIB_NAME_AW(DeletePort) | 
|  |  | 
|  | BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel, | 
|  | LPBYTE pPortInfo); | 
|  | BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel, | 
|  | LPBYTE pPortInfo); | 
|  | #define SetPort WINELIB_NAME_AW(SetPort) | 
|  |  | 
|  | BOOL WINAPI AddPrinterConnectionA(LPSTR pName); | 
|  | BOOL WINAPI AddPrinterConnectionW(LPWSTR pName); | 
|  | #define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection) | 
|  |  | 
|  | BOOL WINAPI DeletePrinterConnectionA(LPSTR pName); | 
|  | BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName); | 
|  | #define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection) | 
|  |  | 
|  | HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags); | 
|  |  | 
|  | BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo); | 
|  | BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo); | 
|  | #define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor) | 
|  |  | 
|  | BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment, | 
|  | LPSTR pPrintProvidorName); | 
|  | BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment, | 
|  | LPWSTR pPrintProvidorName); | 
|  | #define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor) | 
|  |  | 
|  | DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, | 
|  | LPBYTE pEnumValues, DWORD cbEnumValues, | 
|  | LPDWORD pcbEnumValues, LPDWORD pnEnumValues); | 
|  | DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, | 
|  | LPBYTE pEnumValues, DWORD cbEnumValues, | 
|  | LPDWORD pcbEnumValues, LPDWORD pnEnumValues); | 
|  | #define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx) | 
|  |  | 
|  | LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput, | 
|  | LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile, | 
|  | DWORD fMode); | 
|  |  | 
|  | LPSTR WINAPI StartDocDlgA(HANDLE hPrinter, DOCINFOA *doc); | 
|  | LPWSTR WINAPI StartDocDlgW(HANDLE hPrinter, DOCINFOW *doc); | 
|  | #define StartDocDlg WINELIB_NAME_AW(StartDocDlg) | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } /* extern "C" */ | 
|  | #endif | 
|  |  | 
|  | #endif  /* __WINE_WINSPOOL_H */ |