| /* |
| * Drivers definitions |
| */ |
| |
| #ifndef __WINE_DRIVER_H |
| #define __WINE_DRIVER_H |
| |
| #define DRV_LOAD 0x0001 |
| #define DRV_ENABLE 0x0002 |
| #define DRV_OPEN 0x0003 |
| #define DRV_CLOSE 0x0004 |
| #define DRV_DISABLE 0x0005 |
| #define DRV_FREE 0x0006 |
| #define DRV_CONFIGURE 0x0007 |
| #define DRV_QUERYCONFIGURE 0x0008 |
| #define DRV_INSTALL 0x0009 |
| #define DRV_REMOVE 0x000A |
| #define DRV_EXITSESSION 0x000B |
| #define DRV_EXITAPPLICATION 0x000C |
| #define DRV_POWER 0x000F |
| |
| #define DRV_RESERVED 0x0800 |
| #define DRV_USER 0x4000 |
| |
| #define DRVCNF_CANCEL 0x0000 |
| #define DRVCNF_OK 0x0001 |
| #define DRVCNF_RESTART 0x0002 |
| |
| #define DRVEA_NORMALEXIT 0x0001 |
| #define DRVEA_ABNORMALEXIT 0x0002 |
| |
| #define DRV_SUCCESS 0x0001 |
| #define DRV_FAILURE 0x0000 |
| |
| #define GND_FIRSTINSTANCEONLY 0x00000001 |
| |
| #define GND_FORWARD 0x00000000 |
| #define GND_REVERSE 0x00000002 |
| |
| typedef struct { |
| DWORD dwDCISize; |
| LPCSTR lpszDCISectionName; |
| LPCSTR lpszDCIAliasName; |
| } DRVCONFIGINFO16, *LPDRVCONFIGINFO16; |
| |
| typedef struct { |
| DWORD dwDCISize; |
| LPCWSTR lpszDCISectionName; |
| LPCWSTR lpszDCIAliasName; |
| } DRVCONFIGINFO, *LPDRVCONFIGINFO; |
| |
| |
| /* GetDriverInfo16 references this structure, so this a struct defined |
| * in the Win16 API. |
| * GetDriverInfo has been deprecated in Win32. |
| */ |
| typedef struct |
| { |
| UINT16 length; |
| HDRVR16 hDriver; |
| HINSTANCE16 hModule; |
| CHAR szAliasName[128]; |
| } DRIVERINFOSTRUCT16, *LPDRIVERINFOSTRUCT16; |
| |
| LRESULT WINAPI DefDriverProc16(DWORD dwDevID, HDRVR16 hDriv, UINT16 wMsg, |
| LPARAM dwParam1, LPARAM dwParam2); |
| LRESULT WINAPI DefDriverProc(DWORD dwDriverIdentifier, HDRVR hdrvr, |
| UINT Msg, LPARAM lParam1, LPARAM lParam2); |
| HDRVR16 WINAPI OpenDriver16(LPCSTR szDriverName, LPCSTR szSectionName, |
| LPARAM lParam2); |
| HDRVR WINAPI OpenDriverA(LPCSTR szDriverName, LPCSTR szSectionName, |
| LPARAM lParam2); |
| HDRVR WINAPI OpenDriverW(LPCWSTR szDriverName, LPCWSTR szSectionName, |
| LPARAM lParam2); |
| #define OpenDriver WINELIB_NAME_AW(OpenDriver) |
| LRESULT WINAPI CloseDriver16(HDRVR16 hDriver, LPARAM lParam1, LPARAM lParam2); |
| LRESULT WINAPI CloseDriver(HDRVR hDriver, LPARAM lParam1, LPARAM lParam2); |
| LRESULT WINAPI SendDriverMessage16( HDRVR16 hDriver, UINT16 message, |
| LPARAM lParam1, LPARAM lParam2 ); |
| LRESULT WINAPI SendDriverMessage( HDRVR hDriver, UINT message, |
| LPARAM lParam1, LPARAM lParam2 ); |
| HMODULE16 WINAPI GetDriverModuleHandle16(HDRVR16 hDriver); |
| HMODULE WINAPI GetDriverModuleHandle(HDRVR hDriver); |
| |
| /* only win31 version for those below ? */ |
| HDRVR16 WINAPI GetNextDriver16(HDRVR16, DWORD); |
| BOOL16 WINAPI GetDriverInfo16(HDRVR16, DRIVERINFOSTRUCT16 *); |
| |
| /* The following definitions are WINE internals */ |
| /* FIXME: This is a WINE internal struct and should be moved in include/wine directory */ |
| /* Please note that WINE shares 16 and 32 bit drivers on a single list... */ |
| /* Basically, we maintain an external double view on drivers, so that a 16 bit drivers |
| * can be loaded/used... by 32 functions transparently |
| */ |
| typedef struct tagWINE_DRIVER |
| { |
| char szAliasName[128]; |
| /* as usual LPWINE_DRIVER == hDriver32 */ |
| HDRVR16 hDriver16; |
| union { |
| struct { |
| HMODULE16 hModule; |
| DRIVERPROC16 lpDrvProc; |
| } d16; |
| struct { |
| HMODULE hModule; |
| DRIVERPROC lpDrvProc; |
| } d32; |
| } d; |
| DWORD dwDriverID; |
| DWORD dwFlags; |
| struct tagWINE_DRIVER* lpPrevItem; |
| struct tagWINE_DRIVER* lpNextItem; |
| } WINE_DRIVER, *LPWINE_DRIVER; |
| |
| /* values for dwFlags */ |
| #define WINE_DI_TYPE_MASK 0x00000007ul |
| #define WINE_DI_TYPE_16 0x00000001ul |
| #define WINE_DI_TYPE_32 0x00000002ul |
| |
| LPWINE_DRIVER DRIVER_RegisterDriver16(LPCSTR, HMODULE16, DRIVERPROC16, LPARAM); |
| LPWINE_DRIVER DRIVER_RegisterDriver32(LPCSTR, HMODULE, DRIVERPROC, LPARAM); |
| |
| #if 0 |
| #errro "it's never used" |
| /* internal */ |
| typedef struct |
| { |
| UINT length; |
| HDRVR hDriver; |
| HMODULE hModule; |
| CHAR szAliasName[128]; |
| } DRIVERINFOSTRUCTA, *LPDRIVERINFOSTRUCTA; |
| #endif |
| |
| #endif /* __WINE_DRIVER_H */ |