master
 1/*
 2
 3	directx/dinput_private.h - DirectInput DATAFORMATs Definitions
 4
 5	Written by Filip Navara <xnavara@volny.cz>
 6
 7	This library is distributed in the hope that it will be useful,
 8	but WITHOUT ANY WARRANTY; without even the implied warranty of
 9	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#ifndef _DINPUT_PRIVATE_H
14#define _DINPUT_PRIVATE_H
15
16#include <windows.h>
17
18#define DIDOI_FFACTUATOR	0x00000001
19#define DIDOI_FFEFFECTTRIGGER	0x00000002
20#define DIDOI_POLLED	0x00008000
21#define DIDOI_ASPECTPOSITION	0x00000100
22#define DIDOI_ASPECTVELOCITY	0x00000200
23#define DIDOI_ASPECTACCEL	0x00000300
24#define DIDOI_ASPECTFORCE	0x00000400
25#define DIDOI_ASPECTMASK	0x00000F00
26#define DIDOI_GUIDISUSAGE	0x00010000
27#define DIDF_ABSAXIS	0x00000001
28#define DIDF_RELAXIS	0x00000002
29#define DIDFT_RELAXIS	0x00000001
30#define DIDFT_ABSAXIS	0x00000002
31#define DIDFT_AXIS	0x00000003
32#define DIDFT_PSHBUTTON	0x00000004
33#define DIDFT_TGLBUTTON	0x00000008
34#define DIDFT_BUTTON	0x0000000C
35#define DIDFT_POV	0x00000010
36#define DIDFT_COLLECTION	0x00000040
37#define DIDFT_NODATA	0x00000080
38#define DIDFT_ANYINSTANCE	0x00FFFF00
39#define DIDFT_FFACTUATOR	0x01000000
40#define DIDFT_FFEFFECTTRIGGER	0x02000000
41#define DIDFT_OUTPUT	0x10000000
42#define DIDFT_VENDORDEFINED	0x04000000
43#define DIDFT_ALIAS	0x08000000
44#define DIDFT_OPTIONAL	0x80000000
45#define DIDFT_MAKEINSTANCE(n)	((WORD)(n) << 8)
46
47typedef struct _DIOBJECTDATAFORMAT {
48	const GUID *pguid;
49	DWORD dwOfs;
50	DWORD dwType;
51	DWORD dwFlags;
52} DIOBJECTDATAFORMAT, *LPDIOBJECTDATAFORMAT;
53
54typedef struct _DIDATAFORMAT {
55	DWORD dwSize;
56	DWORD dwObjSize;
57	DWORD dwFlags;
58	DWORD dwDataSize;
59	DWORD dwNumObjs;
60	LPDIOBJECTDATAFORMAT rgodf;
61} DIDATAFORMAT, *LPDIDATAFORMAT;
62
63extern GUID GUID_XAxis;
64extern GUID GUID_YAxis;
65extern GUID GUID_ZAxis;
66extern GUID GUID_RxAxis;
67extern GUID GUID_RyAxis;
68extern GUID GUID_RzAxis;
69extern GUID GUID_Slider;
70extern GUID GUID_Key;
71extern GUID GUID_POV;
72
73#if defined (__WATCOMC__)
74#define ATTRIBUTE_TEXT_SECTION __based( __segname( "_CODE" ) )
75#elif defined (__GNUC__)
76#define ATTRIBUTE_TEXT_SECTION  __attribute__ ((section(".text")))
77#else
78#define ATTRIBUTE_TEXT_SECTION
79#endif
80
81#endif