blob: 3aff85d79a6750570b6bd8a03c7a580477e16ff4 [file] [log] [blame]
Lionel Ulmer6301e942000-11-05 20:25:02 +00001#ifndef __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H
2#define __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H
3
4#include "winbase.h"
5#include "dinput.h"
6
7/* Implementation specification */
8typedef struct IDirectInputAImpl IDirectInputAImpl;
9struct IDirectInputAImpl
10{
11 ICOM_VFIELD(IDirectInputA);
12 DWORD ref;
13
14 /* Used to have an unique sequence number for all the events */
15 DWORD evsequence;
16};
17
18/* Function called by all devices that Wine supports */
19typedef struct dinput_device {
Marcus Meissnerc9b3b2e2000-12-12 00:38:58 +000020 INT pref;
Lionel Ulmer6301e942000-11-05 20:25:02 +000021 BOOL (*enum_device)(DWORD dwDevType, DWORD dwFlags, LPCDIDEVICEINSTANCEA lpddi);
22 HRESULT (*create_device)(IDirectInputAImpl *dinput, REFGUID rguid, REFIID riid, LPDIRECTINPUTDEVICEA* pdev);
23} dinput_device;
24
25extern void dinput_register_device(dinput_device *device) ;
26
27#endif /* __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H */