]> git.sesse.net Git - vlc/blob - libs/loader/wine/driver.h
dc8661aa3a806d1eea699b82f88cf80d1a10f785
[vlc] / libs / loader / wine / driver.h
1 /*
2  * Drivers definitions
3  */
4
5 #ifndef __WINE_DRIVER_H
6 #define __WINE_DRIVER_H
7
8 #include "windef.h"
9
10 #define MMSYSERR_BASE          0
11
12 #define MMSYSERR_NOERROR        0                    /* no error */
13 #define MMSYSERR_ERROR          (MMSYSERR_BASE + 1)  /* unspecified error */
14 #define MMSYSERR_BADDEVICEID    (MMSYSERR_BASE + 2)  /* device ID out of range */
15 #define MMSYSERR_NOTENABLED     (MMSYSERR_BASE + 3)  /* driver failed enable */
16 #define MMSYSERR_ALLOCATED      (MMSYSERR_BASE + 4)  /* device already allocated */
17 #define MMSYSERR_INVALHANDLE    (MMSYSERR_BASE + 5)  /* device handle is invalid */
18 #define MMSYSERR_NODRIVER       (MMSYSERR_BASE + 6)  /* no device driver present */
19 #define MMSYSERR_NOMEM          (MMSYSERR_BASE + 7)  /* memory allocation error */
20 #define MMSYSERR_NOTSUPPORTED   (MMSYSERR_BASE + 8)  /* function isn't supported */
21 #define MMSYSERR_BADERRNUM      (MMSYSERR_BASE + 9)  /* error value out of range */
22 #define MMSYSERR_INVALFLAG      (MMSYSERR_BASE + 10) /* invalid flag passed */
23 #define MMSYSERR_INVALPARAM     (MMSYSERR_BASE + 11) /* invalid parameter passed */
24 #define MMSYSERR_LASTERROR      (MMSYSERR_BASE + 11) /* last error in range */
25
26 #define DRV_LOAD                0x0001
27 #define DRV_ENABLE              0x0002
28 #define DRV_OPEN                0x0003
29 #define DRV_CLOSE               0x0004
30 #define DRV_DISABLE             0x0005
31 #define DRV_FREE                0x0006
32 #define DRV_CONFIGURE           0x0007
33 #define DRV_QUERYCONFIGURE      0x0008
34 #define DRV_INSTALL             0x0009
35 #define DRV_REMOVE              0x000A
36 #define DRV_EXITSESSION         0x000B
37 #define DRV_EXITAPPLICATION     0x000C
38 #define DRV_POWER               0x000F
39
40 #define DRV_RESERVED            0x0800
41 #define DRV_USER                0x4000
42
43 #define DRVCNF_CANCEL           0x0000
44 #define DRVCNF_OK               0x0001
45 #define DRVCNF_RESTART          0x0002
46
47 #define DRVEA_NORMALEXIT        0x0001
48 #define DRVEA_ABNORMALEXIT      0x0002
49
50 #define DRV_SUCCESS             0x0001
51 #define DRV_FAILURE             0x0000
52
53 #define GND_FIRSTINSTANCEONLY   0x00000001
54
55 #define GND_FORWARD             0x00000000
56 #define GND_REVERSE             0x00000002
57
58 typedef struct {
59     DWORD                       dwDCISize;
60     LPCSTR                      lpszDCISectionName;
61     LPCSTR                      lpszDCIAliasName;
62 } DRVCONFIGINFO16, *LPDRVCONFIGINFO16;
63
64 typedef struct {
65     DWORD                       dwDCISize;
66     LPCWSTR                     lpszDCISectionName;
67     LPCWSTR                     lpszDCIAliasName;
68 } DRVCONFIGINFO, *LPDRVCONFIGINFO;
69
70
71 /* GetDriverInfo16 references this structure, so this a struct defined
72  * in the Win16 API.
73  * GetDriverInfo has been deprecated in Win32.
74  */
75 typedef struct
76 {
77     UINT16                      length;
78     HDRVR16                     hDriver;
79     HINSTANCE16                 hModule;
80     CHAR                        szAliasName[128];
81 } DRIVERINFOSTRUCT16, *LPDRIVERINFOSTRUCT16;
82
83 LRESULT WINAPI DefDriverProc16(DWORD dwDevID, HDRVR16 hDriv, UINT16 wMsg, 
84                                LPARAM dwParam1, LPARAM dwParam2);
85 LRESULT WINAPI DefDriverProc(DWORD dwDriverIdentifier, HDRVR hdrvr,
86                                UINT Msg, LPARAM lParam1, LPARAM lParam2);
87 HDRVR16 WINAPI OpenDriver16(LPCSTR szDriverName, LPCSTR szSectionName,
88                             LPARAM lParam2);
89 HDRVR WINAPI OpenDriverA(LPCSTR szDriverName, LPCSTR szSectionName,
90                              LPARAM lParam2);
91 HDRVR WINAPI OpenDriverW(LPCWSTR szDriverName, LPCWSTR szSectionName,
92                              LPARAM lParam2);
93 #define OpenDriver WINELIB_NAME_AW(OpenDriver)
94 LRESULT WINAPI CloseDriver16(HDRVR16 hDriver, LPARAM lParam1, LPARAM lParam2);
95 LRESULT WINAPI CloseDriver(HDRVR hDriver, LPARAM lParam1, LPARAM lParam2);
96 LRESULT WINAPI SendDriverMessage16( HDRVR16 hDriver, UINT16 message,
97                                     LPARAM lParam1, LPARAM lParam2 );
98 LRESULT WINAPI SendDriverMessage( HDRVR hDriver, UINT message,
99                                     LPARAM lParam1, LPARAM lParam2 );
100 HMODULE16 WINAPI GetDriverModuleHandle16(HDRVR16 hDriver);
101 HMODULE WINAPI GetDriverModuleHandle(HDRVR hDriver);
102
103 DWORD WINAPI GetDriverFlags( HDRVR hDriver );
104 #ifdef __WINE__
105 /* this call (GetDriverFlags) is not documented, nor the flags returned.
106  * here are Wine only definitions
107  */
108 #define WINE_GDF_EXIST  0x80000000
109 #define WINE_GDF_16BIT  0x10000000
110 #endif
111
112 #endif  /* __WINE_DRIVER_H */