Mercurial > sdl-ios-xcode
annotate src/joystick/darwin/10.3.9-FIX/IOHIDLib.h @ 2247:93994f65c74c
Removed hermes since it's LGPL and not compatible with a commercial license.
Prepping for using MMX and SSE intrinsics instead of inline assembly.
.. except for memcpy equivalents which only get faster if they can
exploit the parallelism of loading into multiple SIMD registers. :)
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 15 Aug 2007 08:21:10 +0000 |
parents | 2c835d58faad |
children |
rev | line source |
---|---|
2120 | 1 /* *INDENT-OFF* */ |
2110
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
2 /* |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
3 * |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
4 * @APPLE_LICENSE_HEADER_START@ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
5 * |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
7 * |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
8 * This file contains Original Code and/or Modifications of Original Code |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
9 * as defined in and that are subject to the Apple Public Source License |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 * Version 2.0 (the 'License'). You may not use this file except in |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
11 * compliance with the License. Please obtain a copy of the License at |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
12 * http://www.opensource.apple.com/apsl/ and read it before using this |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
13 * file. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
14 * |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
15 * The Original Code and all software distributed under the License are |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
20 * Please see the License for the specific language governing rights and |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
21 * limitations under the License. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
22 * |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
23 * @APPLE_LICENSE_HEADER_END@ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
24 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
25 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
26 #ifndef _IOKIT_HID_IOHIDLIB_H_ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
27 #define _IOKIT_HID_IOHIDLIB_H_ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
28 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
29 #include <sys/cdefs.h> |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
30 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 __BEGIN_DECLS |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
32 #include <CoreFoundation/CoreFoundation.h> |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
33 #if COREFOUNDATION_CFPLUGINCOM_SEPARATE |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
34 #include <CoreFoundation/CFPlugInCOM.h> |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
35 #endif |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
36 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
37 #include <IOKit/IOTypes.h> |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
38 #include <IOKit/IOReturn.h> |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
39 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
40 #include <IOKit/hid/IOHIDKeys.h> |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
41 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
42 struct IOHIDEventStruct |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
43 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
44 IOHIDElementType type; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
45 IOHIDElementCookie elementCookie; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
46 SInt32 value; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
47 AbsoluteTime timestamp; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
48 UInt32 longValueSize; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
49 void * longValue; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
50 }; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
51 typedef struct IOHIDEventStruct IOHIDEventStruct; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
52 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
53 /* FA12FA38-6F1A-11D4-BA0C-0005028F18D5 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
54 #define kIOHIDDeviceUserClientTypeID CFUUIDGetConstantUUIDWithBytes(NULL, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
55 0xFA, 0x12, 0xFA, 0x38, 0x6F, 0x1A, 0x11, 0xD4, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
56 0xBA, 0x0C, 0x00, 0x05, 0x02, 0x8F, 0x18, 0xD5) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
57 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
58 /* 13AA9C44-6F1B-11D4-907C-0005028F18D5 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
59 #define kIOHIDDeviceFactoryID CFUUIDGetConstantUUIDWithBytes(NULL, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
60 0x13, 0xAA, 0x9C, 0x44, 0x6F, 0x1B, 0x11, 0xD4, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
61 0x90, 0x7C, 0x00, 0x05, 0x02, 0x8F, 0x18, 0xD5) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
62 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
63 /* 78BD420C-6F14-11D4-9474-0005028F18D5 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
64 /*! @defined kIOHIDDeviceInterfaceID |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
65 @discussion Interface ID for the IOHIDDeviceInterface. Corresponds to an |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
66 available HID device. */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
67 #define kIOHIDDeviceInterfaceID CFUUIDGetConstantUUIDWithBytes(NULL, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
68 0x78, 0xBD, 0x42, 0x0C, 0x6F, 0x14, 0x11, 0xD4, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
69 0x94, 0x74, 0x00, 0x05, 0x02, 0x8F, 0x18, 0xD5) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
70 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
71 /* 7D0B510E-16D5-11D7-9E9B-000393992E38 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
72 /*! @defined kIOHIDDeviceInterfaceID121 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
73 @discussion Interface ID for the IOHIDDeviceInterface121. Corresponds to |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
74 an available HID device that includes methods from |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
75 IOHIDDeviceInterface. This interface is available on |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
76 IOHIDLib 1.2.1 and Mac OS X 10.2.3 or later.*/ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
77 #define kIOHIDDeviceInterfaceID121 CFUUIDGetConstantUUIDWithBytes(NULL, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
78 0x7d, 0xb, 0x51, 0xe, 0x16, 0xd5, 0x11, 0xd7, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
79 0x9e, 0x9b, 0x0, 0x3, 0x93, 0x99, 0x2e, 0x38) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
80 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
81 /* B70ABF31-16D5-11D7-AB35-000393992E38 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
82 /*! @defined kIOHIDDeviceInterfaceID122 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
83 @discussion Interface ID for the IOHIDDeviceInterface122. Corresponds to |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
84 an available HID device that includes methods from |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
85 IOHIDDeviceInterface and IOHIDDeviceInterface121. This |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
86 interface is available on IOHIDLib 1.2.2 and Mac OS X 10.3 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
87 or later.*/ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
88 #define kIOHIDDeviceInterfaceID122 CFUUIDGetConstantUUIDWithBytes(NULL, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
89 0xb7, 0xa, 0xbf, 0x31, 0x16, 0xd5, 0x11, 0xd7, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
90 0xab, 0x35, 0x0, 0x3, 0x93, 0x99, 0x2e, 0x38) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
91 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
92 /* 8138629E-6F14-11D4-970E-0005028F18D5 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
93 /*! @defined kIOHIDQueueInterfaceID |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
94 @discussion Interface ID for the kIOHIDQueueInterfaceID. Corresponds to a |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
95 queue for a specific HID device. */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
96 #define kIOHIDQueueInterfaceID CFUUIDGetConstantUUIDWithBytes(NULL, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
97 0x81, 0x38, 0x62, 0x9E, 0x6F, 0x14, 0x11, 0xD4, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
98 0x97, 0x0E, 0x00, 0x05, 0x02, 0x8F, 0x18, 0xD5) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
99 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
100 /* 80CDCC00-755D-11D4-8E0F-0005028F18D5 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
101 /*! @defined kIOHIDOutputTransactionInterfaceID |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
102 @discussion Interface ID for the kIOHIDOutputTransactionInterfaceID. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
103 Corresponds to an output transaction for one or more report IDs |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
104 on a specific device. */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
105 #define kIOHIDOutputTransactionInterfaceID CFUUIDGetConstantUUIDWithBytes(NULL,\ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
106 0x80, 0xCD, 0xCC, 0x00, 0x75, 0x5D, 0x11, 0xD4, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
107 0x80, 0xEF, 0x00, 0x05, 0x02, 0x8F, 0x18, 0xD5) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
108 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
109 /*! @typedef IOHIDCallbackFunction |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
110 @discussion Type and arguments of callout C function that is used when a |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
111 completion routine is called, see |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
112 IOHIDLib.h:setRemovalCallback(). |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
113 @param target void * pointer to your data, often a pointer to an object. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
114 @param result Completion result of desired operation. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
115 @param refcon void * pointer to more data. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
116 @param sender Interface instance sending the completion routine. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
117 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
118 typedef void (*IOHIDCallbackFunction) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
119 (void * target, IOReturn result, void * refcon, void * sender); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
120 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
121 /*! @typedef IOHIDElementCallbackFunction |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
122 @discussion Type and arguments of callout C function that is used when a |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
123 completion routine is called, see IOHIDLib.h:setElementValue(). |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
124 @param target void * pointer to your data, often a pointer to an object. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
125 @param result Completion result of desired operation. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
126 @param refcon void * pointer to more data. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
127 @param sender Interface instance sending the completion routine. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
128 @param elementCookie Element within interface instance sending completion. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
129 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
130 typedef void (*IOHIDElementCallbackFunction) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
131 (void * target, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
132 IOReturn result, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
133 void * refcon, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
134 void * sender, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
135 IOHIDElementCookie elementCookie); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
136 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
137 /*! @typedef IOHIDReportCallbackFunction |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
138 @discussion Type and arguments of callout C function that is used when a |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
139 completion routine is called, see IOHIDLib.h:setReport(). |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
140 @param target void * pointer to your data, often a pointer to an object. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
141 @param result Completion result of desired operation. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
142 @param refcon void * pointer to more data. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
143 @param sender Interface instance sending the completion routine. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
144 @param bufferSize Size of the buffer received upon completion. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
145 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
146 typedef void (*IOHIDReportCallbackFunction) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
147 (void * target, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
148 IOReturn result, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
149 void * refcon, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
150 void * sender, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
151 UInt32 bufferSize); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
152 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
153 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
154 /* Forward declarations of the queue and output transaction interfaces */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
155 struct IOHIDQueueInterface; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
156 struct IOHIDOutputTransactionInterface; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
157 typedef struct IOHIDQueueInterface IOHIDQueueInterface; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
158 typedef struct IOHIDOutputTransactionInterface IOHIDOutputTransactionInterface; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
159 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
160 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
161 // IOHIDDeviceInterface Functions available in version 1.0 (10.0) and higher of Mac OS X |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
162 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
163 #define IOHIDDEVICEINTERFACE_FUNCS_100 \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
164 IOReturn (*createAsyncEventSource)(void * self, CFRunLoopSourceRef * source); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
165 CFRunLoopSourceRef (*getAsyncEventSource)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
166 IOReturn (*createAsyncPort)(void * self, mach_port_t * port); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
167 mach_port_t (*getAsyncPort)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
168 IOReturn (*open)(void * self, UInt32 flags); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
169 IOReturn (*close)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
170 IOReturn (*setRemovalCallback)(void * self, IOHIDCallbackFunction removalCallback, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
171 void * removalTarget, void * removalRefcon); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
172 IOReturn (*getElementValue)(void * self, IOHIDElementCookie elementCookie, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
173 IOHIDEventStruct * valueEvent); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
174 IOReturn (*setElementValue)(void * self, IOHIDElementCookie elementCookie, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
175 IOHIDEventStruct * valueEvent, UInt32 timeoutMS, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
176 IOHIDElementCallbackFunction callback, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
177 void * callbackTarget, void * callbackRefcon); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
178 IOReturn (*queryElementValue)(void * self, IOHIDElementCookie elementCookie, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
179 IOHIDEventStruct * valueEvent, UInt32 timeoutMS, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
180 IOHIDElementCallbackFunction callback, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
181 void * callbackTarget, void * callbackRefcon); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
182 IOReturn (*startAllQueues)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
183 IOReturn (*stopAllQueues)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
184 IOHIDQueueInterface ** (*allocQueue) (void *self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
185 IOHIDOutputTransactionInterface ** (*allocOutputTransaction) (void *self) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
186 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
187 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
188 // IOHIDDeviceInterface Functions available in version 1.2.1 (10.2.3) and higher of Mac OS X |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
189 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
190 #define IOHIDDEVICEINTERFACE_FUNCS_121 \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
191 IOReturn (*setReport)(void * self, IOHIDReportType reportType, UInt32 reportID, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
192 void * reportBuffer, UInt32 reportBufferSize, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
193 UInt32 timeoutMS, IOHIDReportCallbackFunction callback, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
194 void * callbackTarget, void * callbackRefcon); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
195 IOReturn (*getReport)(void * self, IOHIDReportType reportType, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
196 UInt32 reportID, void * reportBuffer, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
197 UInt32 * reportBufferSize, UInt32 timeoutMS, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
198 IOHIDReportCallbackFunction callback, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
199 void * callbackTarget, void * callbackRefcon) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
200 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
201 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
202 // IOHIDDeviceInterface Functions available in version 1.2.2 (10.3) and higher of Mac OS X |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
203 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
204 #define IOHIDDEVICEINTERFACE_FUNCS_122 \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
205 IOReturn (*copyMatchingElements)(void * self, CFDictionaryRef matchingDict, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
206 CFArrayRef * elements); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
207 IOReturn (*setInterruptReportHandlerCallback)(void * self, void * reportBuffer, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
208 UInt32 reportBufferSize, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
209 IOHIDReportCallbackFunction callback, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
210 void * callbackTarget, void * callbackRefcon) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
211 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
212 typedef struct IOHIDDeviceInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
213 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
214 IUNKNOWN_C_GUTS; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
215 IOHIDDEVICEINTERFACE_FUNCS_100; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
216 IOHIDDEVICEINTERFACE_FUNCS_121; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
217 } IOHIDDeviceInterface; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
218 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
219 typedef struct IOHIDDeviceInterface121 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
220 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
221 IUNKNOWN_C_GUTS; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
222 IOHIDDEVICEINTERFACE_FUNCS_100; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
223 IOHIDDEVICEINTERFACE_FUNCS_121; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
224 } IOHIDDeviceInterface121; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
225 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
226 typedef struct IOHIDDeviceInterface122 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
227 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
228 IUNKNOWN_C_GUTS; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
229 IOHIDDEVICEINTERFACE_FUNCS_100; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
230 IOHIDDEVICEINTERFACE_FUNCS_121; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
231 IOHIDDEVICEINTERFACE_FUNCS_122; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
232 } IOHIDDeviceInterface122; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
233 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
234 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
235 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
236 // IOHIDQueueInterface Functions available in version 1.0 (10.0) and higher of Mac OS X |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
237 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
238 #define IOHIDQUEUEINTERFACE_FUNCS_100 \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
239 IOReturn (*createAsyncEventSource)(void * self, CFRunLoopSourceRef * source); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
240 CFRunLoopSourceRef (*getAsyncEventSource)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
241 IOReturn (*createAsyncPort)(void * self, mach_port_t * port); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
242 mach_port_t (*getAsyncPort)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
243 IOReturn (*create)(void * self, UInt32 flags, UInt32 depth); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
244 IOReturn (*dispose)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
245 IOReturn (*addElement)(void * self, IOHIDElementCookie elementCookie, UInt32 flags);\ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
246 IOReturn (*removeElement)(void * self, IOHIDElementCookie elementCookie); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
247 Boolean (*hasElement)(void * self, IOHIDElementCookie elementCookie); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
248 IOReturn (*start)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
249 IOReturn (*stop)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
250 IOReturn (*getNextEvent)(void * self, IOHIDEventStruct * event, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
251 AbsoluteTime maxTime, UInt32 timeoutMS); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
252 IOReturn (*setEventCallout)(void * self, IOHIDCallbackFunction callback, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
253 void * callbackTarget, void * callbackRefcon); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
254 IOReturn (*getEventCallout)(void * self, IOHIDCallbackFunction * outCallback, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
255 void ** outCallbackTarget, void ** outCallbackRefcon) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
256 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
257 struct IOHIDQueueInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
258 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
259 IUNKNOWN_C_GUTS; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
260 IOHIDQUEUEINTERFACE_FUNCS_100; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
261 }; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
262 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
263 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
264 // IOHIDOutputTransactionInterface Functions available in version 1.2 (10.2) and higher of Mac OS X |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
265 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
266 #define IOHIDOUTPUTTRANSACTIONINTERFACE_FUNCS_120 \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
267 IOReturn (*createAsyncEventSource)(void * self, CFRunLoopSourceRef * source); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
268 CFRunLoopSourceRef (*getAsyncEventSource)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
269 IOReturn (*createAsyncPort)(void * self, mach_port_t * port); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
270 mach_port_t (*getAsyncPort)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
271 IOReturn (*create)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
272 IOReturn (*dispose)(void * self); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
273 IOReturn (*addElement)(void * self, IOHIDElementCookie elementCookie); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
274 IOReturn (*removeElement)(void * self, IOHIDElementCookie elementCookie); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
275 Boolean (*hasElement)(void * self, IOHIDElementCookie elementCookie); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
276 IOReturn (*setElementDefault)(void *self, IOHIDElementCookie elementCookie, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
277 IOHIDEventStruct * valueEvent); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
278 IOReturn (*getElementDefault)(void * self, IOHIDElementCookie elementCookie, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
279 IOHIDEventStruct * outValueEvent); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
280 IOReturn (*setElementValue)(void * self, IOHIDElementCookie elementCookie, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
281 IOHIDEventStruct * valueEvent); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
282 IOReturn (*getElementValue)(void * self, IOHIDElementCookie elementCookie, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
283 IOHIDEventStruct * outValueEvent); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
284 IOReturn (*commit)(void * self, UInt32 timeoutMS, IOHIDCallbackFunction callback, \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
285 void * callbackTarget, void * callbackRefcon); \ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
286 IOReturn (*clear)(void * self) |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
287 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
288 struct IOHIDOutputTransactionInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
289 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
290 IUNKNOWN_C_GUTS; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
291 IOHIDOUTPUTTRANSACTIONINTERFACE_FUNCS_120; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
292 }; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
293 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
294 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
295 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
296 // BEGIN READABLE STRUCTURE DEFINITIONS |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
297 // |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
298 // This portion of uncompiled code provides a more reader friendly representation of |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
299 // the CFPlugin methods defined above. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
300 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
301 #if 0 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
302 /*! @class IOHIDDeviceInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
303 @discussion CFPlugin object subclass which provides the primary interface to |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
304 HID devices. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
305 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
306 typedef struct IOHIDDeviceInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
307 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
308 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
309 IUNKNOWN_C_GUTS; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
310 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
311 /*! @function createAsyncEventSource |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
312 @abstract Creates async eventsource. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
313 @discussion This method will create an async mach port, if one |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
314 has not already been created. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
315 @param source Reference to CFRunLoopSourceRef that is created. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
316 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
317 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
318 IOReturn (*createAsyncEventSource)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
319 CFRunLoopSourceRef * source); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
320 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
321 /*! @function getAsyncEventSource |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
322 @abstract Gets the created async event source. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
323 @result Returns a CFRunLoopSourceRef. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
324 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
325 CFRunLoopSourceRef (*getAsyncEventSource)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
326 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
327 /*! @function createAsyncPort |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
328 @abstract Creates an async port. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
329 @discussion The port must be created before any callbacks can be used. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
330 @param port Reference to mach port that is created. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
331 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
332 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
333 IOReturn (*createAsyncPort)(void * self, mach_port_t * port); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
334 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
335 /*! @function getAsyncPort |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
336 @abstract Gets the current async port. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
337 @result Returns a mach_port_t. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
338 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
339 mach_port_t (*getAsyncPort)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
340 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
341 /*! @function open |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
342 @abstract Opens the device. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
343 @param flags Flags to be passed down to the user client. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
344 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
345 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
346 IOReturn (*open)(void * self, UInt32 flags); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
347 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
348 /*! @function close |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
349 @abstract Closes the device. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
350 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
351 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
352 IOReturn (*close)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
353 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
354 /*! @function setRemovalCallback |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
355 @abstract Sets callback to be used when device is removed. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
356 @param removalCallback Called when the device is removed. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
357 @param removeTarget Passed to the callback. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
358 @param removalRefcon Passed to the callback. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
359 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
360 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
361 IOReturn (*setRemovalCallback)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
362 IOHIDCallbackFunction removalCallback, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
363 void * removalTarget, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
364 void * removalRefcon); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
365 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
366 /*! @function getElementValue |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
367 @abstract Obtains the most recent value of an element. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
368 @discussion This call is most useful for interrupt driven elements, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
369 such as input type elements. Since feature type element values |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
370 need to be polled from the device, it is recommended to use the |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
371 queryElementValue method to obtain the current value. The |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
372 timestamp field in the event details the last time the element |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
373 value was altered. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
374 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
375 @param valueEvent The event that will be filled. If a long value is |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
376 present, it is up to the caller to deallocate it. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
377 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
378 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
379 IOReturn (*getElementValue)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
380 IOHIDElementCookie elementCookie, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
381 IOHIDEventStruct * valueEvent); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
382 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
383 /*! @function setElementValue |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
384 @abstract Sets an element value on the device. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
385 @discussion This call is most useful for feature type elements. It is |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
386 recommended to use IOOutputTransaction for output type elements. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
387 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
388 @param valueEvent The event that will be filled. If a long value is |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
389 present, it will be copied. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
390 @param timeoutMS UNSUPPORTED. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
391 @param callback UNSUPPORTED. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
392 @param callbackTarget UNSUPPORTED. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
393 @param callbackRefcon UNSUPPORTED. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
394 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
395 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
396 IOReturn (*setElementValue)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
397 IOHIDElementCookie elementCookie, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
398 IOHIDEventStruct * valueEvent, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
399 UInt32 timeoutMS, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
400 IOHIDElementCallbackFunction callback, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
401 void * callbackTarget, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
402 void * callbackRefcon); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
403 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
404 /*! @function queryElementValue |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
405 @abstract Obtains the current value of an element. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
406 @discussion This call is most useful for feature type elements. This |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
407 method will poll the device for the current element value. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
408 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
409 @param valueEvent The event that will be filled. If a long value is |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
410 present, it is up to the caller to deallocate it. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
411 @param timeoutMS UNSUPPORTED. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
412 @param callback UNSUPPORTED. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
413 @param callbackTarget UNSUPPORTED. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
414 @param callbackRefcon UNSUPPORTED. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
415 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
416 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
417 IOReturn (*queryElementValue)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
418 IOHIDElementCookie elementCookie, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
419 IOHIDEventStruct * valueEvent, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
420 UInt32 timeoutMS, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
421 IOHIDElementCallbackFunction callback, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
422 void * callbackTarget, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
423 void * callbackRefcon); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
424 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
425 /*! @function startAllQueues |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
426 @abstract Starts data delivery on all queues for this device. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
427 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
428 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
429 IOReturn (*startAllQueues)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
430 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
431 /*! @function stopAllQueues |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
432 @abstract Stops data delivery on all queues for this device. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
433 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
434 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
435 IOReturn (*stopAllQueues)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
436 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
437 /*! @function allocQueue |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
438 @abstract Wrapper to return instances of the IOHIDQueueInterface. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
439 @result Returns the created IOHIDQueueInterface. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
440 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
441 IOHIDQueueInterface ** (*allocQueue) (void *self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
442 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
443 /*! @function allocOutputTransaction |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
444 @abstract Wrapper to return instances of the IOHIDOutputTransactionInterface. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
445 @result Returns the created IOHIDOutputTransactionInterface. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
446 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
447 IOHIDOutputTransactionInterface ** (*allocOutputTransaction) (void *self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
448 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
449 } IOHIDDeviceInterface; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
450 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
451 /*! @class IOHIDDeviceInterface121 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
452 @discussion CFPlugin object subclass which provides the primary interface to |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
453 HID devices. This class is a subclass of IOHIDDeviceInterface. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
454 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
455 typedef struct IOHIDDeviceInterface121 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
456 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
457 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
458 IUNKNOWN_C_GUTS; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
459 IOHIDDEVICEINTERFACE_FUNCS_100; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
460 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
461 /*! @function setReport |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
462 @abstract Sends a report to the device. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
463 @param reportType The report type. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
464 @param reportID The report id. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
465 @param reportBuffer Pointer to a preallocated buffer. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
466 @param reportBufferSize Size of the reportBuffer in bytes. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
467 @param timeoutMS |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
468 @param callback If null, this method will behave synchronously. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
469 @param callbackTarget The callback target passed to the callback. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
470 @param callbackRefcon The callback refcon passed to the callback. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
471 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
472 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
473 IOReturn (*setReport) (void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
474 IOHIDReportType reportType, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
475 UInt32 reportID, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
476 void * reportBuffer, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
477 UInt32 reportBufferSize, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
478 UInt32 timeoutMS, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
479 IOHIDReportCallbackFunction callback, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
480 void * callbackTarget, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
481 void * callbackRefcon); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
482 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
483 /*! @function getReport |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
484 @abstract Obtains a report from the device. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
485 @param reportType The report type. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
486 @param reportID The report ID. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
487 @param reportBuffer Pointer to a preallocated buffer. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
488 @param reportBufferSize Size of the reportBuffer in bytes. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
489 When finished, will contain the actual size of the report. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
490 @param timeoutMS |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
491 @param callback If null, this method will behave synchronously. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
492 @param callbackTarget The callback target passed to the callback. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
493 @param callbackRefcon The callback refcon passed to the callback. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
494 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
495 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
496 IOReturn (*getReport) (void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
497 IOHIDReportType reportType, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
498 UInt32 reportID, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
499 void * reportBuffer, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
500 UInt32 * reportBufferSize, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
501 UInt32 timeoutMS, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
502 IOHIDReportCallbackFunction callback, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
503 void * callbackTarget, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
504 void * callbackRefcon); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
505 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
506 }IOHIDDeviceInterface121; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
507 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
508 /*! @class IOHIDDeviceInterface122 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
509 @discussion CFPlugin object subclass which provides the primary interface to |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
510 HID devices. This class is a subclass of IOHIDDeviceInterface121. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
511 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
512 typedef struct IOHIDDeviceInterface122 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
513 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
514 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
515 IUNKNOWN_C_GUTS; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
516 IOHIDDEVICEINTERFACE_FUNCS_100; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
517 IOHIDDEVICEINTERFACE_FUNCS_121; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
518 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
519 /*! @function copyMatchingElements |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
520 @abstract Obtains specific elements defined by the device. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
521 @discussion Using keys defined in IOHIDKeys.h for elements, create a |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
522 matching dictonary containing items that you wish to search for. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
523 A null array indicates that no elements matching that criteria |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
524 were found. Each item in the array is a reference to the same |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
525 dictionary item that represents each element in the I/O Registry. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
526 It is up to the caller to release the returned array of elements. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
527 @param matchingDict Dictionary containg key/value pairs to match on. Pass |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
528 a null value to match on all elements. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
529 @param elements Pointer to a CFArrayRef that will be returned by this |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
530 method. It is up to the caller to release it when finished. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
531 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
532 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
533 IOReturn (*copyMatchingElements)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
534 CFDictionaryRef matchingDict, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
535 CFArrayRef * elements); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
536 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
537 /*! @function setInterruptReportHandlerCallback |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
538 @abstract Sets the report handler callout to be called when the data |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
539 is received from the Interrupt-In pipe. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
540 @discussion In order for this to work correctly, you must call |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
541 createAsyncPort and createAsyncEventSource. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
542 @param reportBuffer Pointer to a preallocated buffer. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
543 @param reportBufferSize Size of the reportBuffer in bytes. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
544 @param callback If non-NULL, is a callback to be called when data |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
545 is received from the device. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
546 @param callbackTarget The callback target passed to the callback |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
547 @param callbackRefcon The callback refcon passed to the callback. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
548 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
549 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
550 IOReturn (*setInterruptReportHandlerCallback)( |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
551 void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
552 void * reportBuffer, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
553 UInt32 reportBufferSize, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
554 IOHIDReportCallbackFunction callback, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
555 void * callbackTarget, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
556 void * callbackRefcon); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
557 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
558 }IOHIDDeviceInterface122; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
559 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
560 /*! @class IOHIDQueueInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
561 @discussion CFPlugin object subclass which provides an interface for input |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
562 queues from HID devices. Created by an IOHIDDeviceInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
563 object. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
564 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
565 typedef struct IOHIDQueueInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
566 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
567 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
568 IUNKNOWN_C_GUTS; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
569 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
570 /*! @function createAsyncEventSource |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
571 @abstract Creates an async event source. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
572 @discussion This will be used with setEventCallout. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
573 @param source The newly created event source. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
574 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
575 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
576 IOReturn (*createAsyncEventSource)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
577 CFRunLoopSourceRef * source); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
578 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
579 /*! @function getAsyncEventSource |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
580 @abstract Obtains the current event source. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
581 @result Returns a CFRunLoopSourceRef. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
582 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
583 CFRunLoopSourceRef (*getAsyncEventSource)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
584 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
585 /*! @function createAsyncPort |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
586 @abstract Creates an async port. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
587 @discussion This will be used with createAsyncEventSource. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
588 @param port The newly created async port. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
589 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
590 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
591 IOReturn (*createAsyncPort)(void * self, mach_port_t * port); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
592 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
593 /*! @function getAsyncPort |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
594 @abstract Obtains the current async port. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
595 @result Returns a mach_port_t. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
596 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
597 mach_port_t (*getAsyncPort)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
598 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
599 /*! @function create |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
600 @abstract Creates the current queue. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
601 @param flags |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
602 @param depth The maximum number of elements in the queue |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
603 before the oldest elements in the queue begin to be lost. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
604 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
605 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
606 IOReturn (*create)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
607 UInt32 flags, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
608 UInt32 depth); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
609 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
610 /*! @function create |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
611 @abstract Disposes of the current queue. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
612 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
613 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
614 IOReturn (*dispose)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
615 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
616 /*! @function addElement |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
617 @abstract Adds an element to the queue. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
618 @discussion If the element has already been added to queue, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
619 an error will be returned. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
620 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
621 @param flags |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
622 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
623 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
624 IOReturn (*addElement)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
625 IOHIDElementCookie elementCookie, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
626 UInt32 flags); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
627 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
628 /*! @function removeElement |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
629 @abstract Removes an element from the queue. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
630 @discussion If the element has not been added to queue, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
631 an error will be returned. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
632 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
633 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
634 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
635 IOReturn (*removeElement)(void * self, IOHIDElementCookie elementCookie); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
636 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
637 /*! @function hasElement |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
638 @abstract Checks whether an element has been added to |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
639 the queue. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
640 @discussion Will return true if present, otherwise will return false. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
641 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
642 @result Returns a Boolean value. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
643 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
644 Boolean (*hasElement)(void * self, IOHIDElementCookie elementCookie); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
645 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
646 /*! @function start |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
647 @abstract Starts event delivery to the queue. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
648 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
649 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
650 IOReturn (*start)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
651 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
652 /*! @function stop |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
653 @abstract Stops event delivery to the queue. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
654 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
655 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
656 IOReturn (*stop)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
657 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
658 /*! @function getNextEvent |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
659 @abstract Reads next event from the queue. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
660 @param event The event that will be filled. If a long value is |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
661 present, it is up to the caller to deallocate it. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
662 @param maxtime UNSUPPORTED. If non-zero, limits read events to |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
663 those that occured on or before maxTime. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
664 @param timoutMS UNSUPPORTED. The timeout in milliseconds, a zero |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
665 timeout will cause this call to be non-blocking (returning |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
666 queue empty) if there is a NULL callback, and blocking forever |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
667 until the queue is non-empty if there is a valid callback. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
668 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
669 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
670 IOReturn (*getNextEvent)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
671 IOHIDEventStruct * event, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
672 AbsoluteTime maxTime, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
673 UInt32 timeoutMS); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
674 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
675 /*! @function setEventCallout |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
676 @abstract Sets the event callout to be called when the queue |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
677 transitions to non-empty. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
678 @discussion In order for this to work correctly, you must call |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
679 createAsyncPort and createAsyncEventSource. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
680 @param callback if non-NULL is a callback to be called when data |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
681 is inserted to the queue |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
682 @param callbackTarget The callback target passed to the callback |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
683 @param callbackRefcon The callback refcon passed to the callback. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
684 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
685 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
686 IOReturn (*setEventCallout)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
687 IOHIDCallbackFunction callback, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
688 void * callbackTarget, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
689 void * callbackRefcon); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
690 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
691 /*! @function getEventCallout |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
692 @abstract Gets the event callout. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
693 @discussion This callback will be called the queue transitions |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
694 to non-empty. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
695 @param callback if non-NULL is a callback to be called when data |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
696 is inserted to the queue |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
697 @param callbackTarget The callback target passed to the callback |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
698 @param callbackRefcon The callback refcon passed to the callback |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
699 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
700 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
701 IOReturn (*getEventCallout)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
702 IOHIDCallbackFunction * outCallback, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
703 void ** outCallbackTarget, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
704 void ** outCallbackRefcon); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
705 } IOHIDQueueInterface; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
706 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
707 /*! @class IOHIDOutputTransactionInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
708 @discussion CFPlugin object subclass which privides interface for output |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
709 transactions to HID devices. Created by a IOHIDDeviceInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
710 object. */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
711 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
712 typedef struct IOHIDOutputTransactionInterface |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
713 { |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
714 IUNKNOWN_C_GUTS; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
715 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
716 /*! @function createAsyncEventSource |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
717 @abstract Creates an async event source. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
718 @discussion This will be used with setEventCallout. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
719 @param source The newly created event source |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
720 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
721 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
722 IOReturn (*createAsyncEventSource)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
723 CFRunLoopSourceRef * source); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
724 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
725 /*! @function getAsyncEventSource |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
726 @abstract Obtains the current event source. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
727 @result Returns a CFRunLoopSourceRef. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
728 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
729 CFRunLoopSourceRef (*getAsyncEventSource)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
730 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
731 /*! @function createAsyncPort |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
732 @abstract Creates an async port. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
733 @discussion This will be used with createAsyncEventSource. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
734 @param port The newly created async port. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
735 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
736 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
737 IOReturn (*createAsyncPort)(void * self, mach_port_t * port); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
738 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
739 /*! @function getAsyncPort |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
740 @abstract Obtains the current async port. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
741 @result Returns a mach_port_t. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
742 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
743 mach_port_t (*getAsyncPort)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
744 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
745 /*! @function create |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
746 @abstract Creates the current transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
747 @discussion This method will free any memory that has been |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
748 allocated for this transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
749 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
750 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
751 IOReturn (*create)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
752 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
753 /*! @function dispose |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
754 @abstract Disposes of the current transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
755 @discussion The transaction will have to be recreated, in order |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
756 to perform any operations on the transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
757 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
758 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
759 IOReturn (*dispose)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
760 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
761 /*! @function addElement |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
762 @abstract Adds an element to the transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
763 @discussion If the element has already been added to transaction, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
764 an error will be returned. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
765 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
766 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
767 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
768 IOReturn (*addElement) (void * self, IOHIDElementCookie elementCookie); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
769 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
770 /*! @function removeElement |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
771 @abstract Removes an element from the transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
772 @discussion If the element has not been added to transaction, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
773 an error will be returned. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
774 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
775 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
776 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
777 IOReturn (*removeElement) (void * self, IOHIDElementCookie elementCookie); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
778 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
779 /*! @function hasElement |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
780 @abstract Checks whether an element has been added to |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
781 the transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
782 @discussion Will return true if present, otherwise will return false. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
783 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
784 @result Returns a Boolean value. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
785 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
786 Boolean (*hasElement) (void * self, IOHIDElementCookie elementCookie); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
787 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
788 /*! @function setElementDefault |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
789 @abstract Sets the default value of an element in a |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
790 transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
791 @discussion An error will be returned if the element has not been |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
792 added to the transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
793 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
794 @param valueEvent The event that will be filled. If a long value is |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
795 present, it will be copied. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
796 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
797 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
798 IOReturn (*setElementDefault)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
799 IOHIDElementCookie elementCookie, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
800 IOHIDEventStruct * valueEvent); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
801 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
802 /*! @function getElementDefault |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
803 @abstract Obtains the default value of an element in a |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
804 transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
805 @discussion An error will be returned if the element has not been |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
806 added to the transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
807 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
808 @param outValueEvent The event that will be filled. If a long value is |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
809 present, it is up to the caller to deallocate it. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
810 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
811 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
812 IOReturn (*getElementDefault)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
813 IOHIDElementCookie elementCookie, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
814 IOHIDEventStruct * outValueEvent); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
815 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
816 /*! @function setElementValue |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
817 @abstract Sets the value of an element in a transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
818 @discussion An error will be returned if the element has not been |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
819 added to the transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
820 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
821 @param valueEvent The event that will be filled. If a long value is |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
822 present, it will be copied. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
823 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
824 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
825 IOReturn (*setElementValue)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
826 IOHIDElementCookie elementCookie, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
827 IOHIDEventStruct * valueEvent); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
828 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
829 /*! @function getElementValue |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
830 @abstract Obtains the value of an element in a transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
831 @discussion An error will be returned if the element has not been |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
832 added to the transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
833 @param elementCookie The element of interest. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
834 @param outValueEvent The event that will be filled. If a long value is |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
835 present, it is up to the caller to deallocate it. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
836 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
837 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
838 IOReturn (*getElementValue)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
839 IOHIDElementCookie elementCookie, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
840 IOHIDEventStruct * outValueEvent); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
841 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
842 /*! @function commit |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
843 @abstract Commits the transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
844 @discussion Transaction element values, if set, will be sent to the |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
845 device. Otherwise, the default element value will be used. If |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
846 neither are set, that element will be omitted from the commit. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
847 After a transaction is committed, transaction element values |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
848 will be cleared. Default values will be preserved. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
849 @param timeoutMS UNSUPPORTED |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
850 @param callback UNSUPPORTED |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
851 @param callbackTarget UNSUPPORTED |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
852 @param callbackRefcon UNSUPPORTED |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
853 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
854 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
855 IOReturn (*commit)(void * self, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
856 UInt32 timeoutMS, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
857 IOHIDCallbackFunction callback, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
858 void * callbackTarget, |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
859 void * callbackRefcon); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
860 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
861 /*! @function clear |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
862 @abstract Clears the transaction. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
863 @discussion Transaction element values will cleared. Default |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
864 values will be preserved. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
865 @result Returns an IOReturn code. |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
866 */ |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
867 IOReturn (*clear)(void * self); |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
868 } IOHIDOutputTransactionInterface; |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
869 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
870 #endif |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
871 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
872 __END_DECLS |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
873 |
21942f552734
Fixed build issues on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
874 #endif /* !_IOKIT_HID_IOHIDLIB_H_ */ |