Release 940714
[wine] / include / driver.h
1 /*
2  * Drivers definitions
3  */
4
5 #define DRV_LOAD                0x0001
6 #define DRV_ENABLE              0x0002
7 #define DRV_OPEN                0x0003
8 #define DRV_CLOSE               0x0004
9 #define DRV_DISABLE             0x0005
10 #define DRV_FREE                0x0006
11 #define DRV_CONFIGURE           0x0007
12 #define DRV_QUERYCONFIGURE      0x0008
13 #define DRV_INSTALL             0x0009
14 #define DRV_REMOVE              0x000A
15 #define DRV_EXITSESSION         0x000B
16 #define DRV_EXITAPPLICATION     0x000C
17 #define DRV_POWER               0x000F
18
19 #define DRV_RESERVED            0x0800
20 #define DRV_USER                0x4000
21
22 #define DRVCNF_CANCEL           0x0000
23 #define DRVCNF_OK               0x0001
24 #define DRVCNF_RESTART                  0x0002
25
26 #define DRVEA_NORMALEXIT                0x0001
27 #define DRVEA_ABNORMALEXIT              0x0002
28
29 #define GND_FIRSTINSTANCEONLY   0x00000001
30
31 #define GND_FORWARD                     0x00000000
32 #define GND_REVERSE                     0x00000002
33
34 typedef struct {
35         DWORD   dwDCISize;
36         LPCSTR  lpszDCISectionName;
37         LPCSTR  lpszDCIAliasName;
38         } DRVCONFIGINFO;
39 typedef DRVCONFIGINFO FAR* LPDRVCONFIGINFO;
40
41 typedef struct {
42         UINT    length;
43         HDRVR   hDriver;
44         HINSTANCE hModule;
45         char    szAliasName[128];
46         } DRIVERINFOSTRUCT;
47 typedef DRIVERINFOSTRUCT FAR* LPDRIVERINFOSTRUCT;
48
49 typedef LRESULT (CALLBACK* DRIVERPROC)(DWORD, HDRVR, UINT, LPARAM, LPARAM);
50
51 typedef struct {
52         DRIVERINFOSTRUCT dis;
53         WORD            count;
54         void            *lpPrevItem;
55         void            *lpNextItem;
56         DRIVERPROC      lpDrvProc;
57         } DRIVERITEM;
58 typedef DRIVERITEM FAR* LPDRIVERITEM;
59
60 LRESULT DefDriverProc(DWORD dwDevID, HDRVR hDriv, WORD wMsg, 
61                                                 DWORD dwParam1, DWORD dwParam2);
62 HDRVR   WINAPI OpenDriver(LPSTR szDriverName, LPSTR szSectionName, LPARAM lParam2);
63 LRESULT WINAPI CloseDriver(HDRVR hDriver, LPARAM lParam1, LPARAM lParam2);
64 LRESULT WINAPI SendDriverMessage(HDRVR hDriver, WORD message, LPARAM lParam1, LPARAM lParam2);
65 HINSTANCE WINAPI GetDriverModuleHandle(HDRVR hDriver);
66 HDRVR   WINAPI GetNextDriver(HDRVR, DWORD);
67 BOOL    WINAPI GetDriverInfo(HDRVR, DRIVERINFOSTRUCT FAR*);
68
69
70