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