Usermode/libaxwin4 - Handle demarshal failure
[tpg/acess2.git] / KernelLand / Modules / USB / HID / hid_reports.h
1 /*
2  * Acess2 USB Stack - HID Driver
3  * - By John Hodge (thePowersGang)
4  *
5  * hid_reports.h
6  * - Report parsing definitions
7  */
8 #ifndef _USB_HID_REPORTS_H_
9 #define _USB_HID_REPORTS_H_
10
11 #include <usb_core.h>
12
13 typedef struct sHID_ReportCallbacks     tHID_ReportCallbacks;
14 typedef struct sHID_ReportGlobalState   tHID_ReportGlobalState;
15 typedef struct sHID_ReportLocalState    tHID_ReportLocalState;
16
17 struct sHID_ReportCallbacks
18 {
19         void    (*Input)(
20                 tUSBInterface *Dev,
21                 tHID_ReportGlobalState *Global, tHID_ReportLocalState *Local, Uint32 Data
22                 );
23         void    (*Output)(
24                 tUSBInterface *Dev,
25                 tHID_ReportGlobalState *Global, tHID_ReportLocalState *Local, Uint32 Data
26                 );
27         void    (*Feature)(
28                 tUSBInterface *Dev,
29                 tHID_ReportGlobalState *Global, tHID_ReportLocalState *Local, Uint32 Data
30                 );
31         
32         tHID_ReportCallbacks    *(*Collection)(
33                 tUSBInterface *Dev,
34                 tHID_ReportGlobalState *Global, tHID_ReportLocalState *Local, Uint32 Data
35                 );
36         
37         void    (*EndCollection)(tUSBInterface *Dev);
38 };
39
40 struct sHID_ReportGlobalState
41 {
42         Uint32  UsagePage;
43         Uint32  LogMin;
44         Uint32  LogMax;
45         Uint32  PhysMin;
46         Uint32  PhysMax;
47         
48         Uint8   UnitExp;
49         Uint8   Unit;
50         
51         Uint32  ReportSize;
52         Uint32  ReportID;
53         Uint32  ReportCount;
54 };
55
56 struct sHID_IntList
57 {
58          int    Space;
59          int    nItems;
60         Uint32  *Items;
61 };
62
63 struct sHID_ReportLocalState
64 {
65         struct sHID_IntList     Usages;
66         Uint32  UsageMin;
67         struct sHID_IntList     Designators;
68         Uint32  DesignatorMin;
69         struct sHID_IntList     Strings;
70         Uint32  StringMin;
71
72 };
73
74 #endif
75

UCC git Repository :: git.ucc.asn.au