| /* Definitions for printing | |
| * | |
| * Copyright 1998 Huw Davies, Andreas Mohr | |
| * | |
| * Portions Copyright (c) 1999 Corel Corporation | |
| * (Paul Quinn, Albert Den Haan) | |
| */ | |
| #ifndef __WINE_WINSPOOL_H | |
| #define __WINE_WINSPOOL_H | |
| #include "windef.h" | |
| #include "winbase.h" | |
| #include "wingdi.h" | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| /* DEFINES */ | |
| #define INT_PD_DEFAULT_DEVMODE 1 | |
| #define INT_PD_DEFAULT_MODEL 2 | |
| #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_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 | |
| /* 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 _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. | |
| * unfortunatly <X11/ICE/ICElib.h> #defines Status to the type 'int' | |
| * therfore 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_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) | |
| #endif /* Status */ | |
| /* DECLARATIONS */ | |
| DWORD WINAPI DrvGetPrinterData16(LPSTR lpPrinter, LPSTR lpProfile, | |
| LPDWORD lpType, LPBYTE lpPrinterData, int cbData, LPDWORD lpNeeded); | |
| DWORD WINAPI DrvSetPrinterData16(LPSTR lpPrinter, LPSTR lpProfile, | |
| DWORD lpType, LPBYTE lpPrinterData, DWORD dwSize); | |
| HANDLE16 WINAPI OpenJob16(LPSTR lpOutput, LPSTR lpTitle, HDC16 hDC); | |
| int WINAPI CloseJob16(HANDLE16 hJob); | |
| int WINAPI WriteSpool16(HANDLE16 hJob, LPSTR lpData, WORD cch); | |
| int WINAPI DeleteJob16(HANDLE16 hJob, WORD wNotUsed); | |
| int WINAPI StartSpoolPage16(HANDLE16 hJob); | |
| int WINAPI EndSpoolPage16(HANDLE16 hJob); | |
| DWORD WINAPI GetSpoolJob16(int nOption, LONG param); | |
| int WINAPI WriteDialog16(HANDLE16 hJob, LPSTR lpMsg, WORD cchMsg); | |
| INT WINAPI DeviceCapabilitiesA(LPCSTR printer,LPCSTR target,WORD z, | |
| LPSTR a,LPDEVMODEA b); | |
| 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 ClosePrinter (HANDLE phPrinter); | |
| 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); | |
| #ifdef __cplusplus | |
| } /* extern "C" */ | |
| #endif | |
| #endif /* __WINE_WINSPOOL_H */ | |