annotate src/joystick/darwin/10.3.9-FIX/IOHIDLib.h @ 4384:6800e2560310 SDL-1.2

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