1 USING: iokit alien alien.syntax alien.c-types kernel system
2 core-foundation core-foundation.arrays core-foundation.data
3 core-foundation.dictionaries core-foundation.run-loop
4 core-foundation.strings core-foundation.time unix.types ;
7 CONSTANT: kIOHIDDeviceKey "IOHIDDevice"
9 CONSTANT: kIOHIDTransportKey "Transport"
10 CONSTANT: kIOHIDVendorIDKey "VendorID"
11 CONSTANT: kIOHIDVendorIDSourceKey "VendorIDSource"
12 CONSTANT: kIOHIDProductIDKey "ProductID"
13 CONSTANT: kIOHIDVersionNumberKey "VersionNumber"
14 CONSTANT: kIOHIDManufacturerKey "Manufacturer"
15 CONSTANT: kIOHIDProductKey "Product"
16 CONSTANT: kIOHIDSerialNumberKey "SerialNumber"
17 CONSTANT: kIOHIDCountryCodeKey "CountryCode"
18 CONSTANT: kIOHIDLocationIDKey "LocationID"
19 CONSTANT: kIOHIDDeviceUsageKey "DeviceUsage"
20 CONSTANT: kIOHIDDeviceUsagePageKey "DeviceUsagePage"
21 CONSTANT: kIOHIDDeviceUsagePairsKey "DeviceUsagePairs"
22 CONSTANT: kIOHIDPrimaryUsageKey "PrimaryUsage"
23 CONSTANT: kIOHIDPrimaryUsagePageKey "PrimaryUsagePage"
24 CONSTANT: kIOHIDMaxInputReportSizeKey "MaxInputReportSize"
25 CONSTANT: kIOHIDMaxOutputReportSizeKey "MaxOutputReportSize"
26 CONSTANT: kIOHIDMaxFeatureReportSizeKey "MaxFeatureReportSize"
27 CONSTANT: kIOHIDReportIntervalKey "ReportInterval"
29 CONSTANT: kIOHIDElementKey "Elements"
31 CONSTANT: kIOHIDElementCookieKey "ElementCookie"
32 CONSTANT: kIOHIDElementTypeKey "Type"
33 CONSTANT: kIOHIDElementCollectionTypeKey "CollectionType"
34 CONSTANT: kIOHIDElementUsageKey "Usage"
35 CONSTANT: kIOHIDElementUsagePageKey "UsagePage"
36 CONSTANT: kIOHIDElementMinKey "Min"
37 CONSTANT: kIOHIDElementMaxKey "Max"
38 CONSTANT: kIOHIDElementScaledMinKey "ScaledMin"
39 CONSTANT: kIOHIDElementScaledMaxKey "ScaledMax"
40 CONSTANT: kIOHIDElementSizeKey "Size"
41 CONSTANT: kIOHIDElementReportSizeKey "ReportSize"
42 CONSTANT: kIOHIDElementReportCountKey "ReportCount"
43 CONSTANT: kIOHIDElementReportIDKey "ReportID"
44 CONSTANT: kIOHIDElementIsArrayKey "IsArray"
45 CONSTANT: kIOHIDElementIsRelativeKey "IsRelative"
46 CONSTANT: kIOHIDElementIsWrappingKey "IsWrapping"
47 CONSTANT: kIOHIDElementIsNonLinearKey "IsNonLinear"
48 CONSTANT: kIOHIDElementHasPreferredStateKey "HasPreferredState"
49 CONSTANT: kIOHIDElementHasNullStateKey "HasNullState"
50 CONSTANT: kIOHIDElementFlagsKey "Flags"
51 CONSTANT: kIOHIDElementUnitKey "Unit"
52 CONSTANT: kIOHIDElementUnitExponentKey "UnitExponent"
53 CONSTANT: kIOHIDElementNameKey "Name"
54 CONSTANT: kIOHIDElementValueLocationKey "ValueLocation"
55 CONSTANT: kIOHIDElementDuplicateIndexKey "DuplicateIndex"
56 CONSTANT: kIOHIDElementParentCollectionKey "ParentCollection"
58 : kIOHIDElementVendorSpecificKey ( -- str )
59 cpu ppc? "VendorSpecifc" "VendorSpecific" ? ; inline
61 CONSTANT: kIOHIDElementCookieMinKey "ElementCookieMin"
62 CONSTANT: kIOHIDElementCookieMaxKey "ElementCookieMax"
63 CONSTANT: kIOHIDElementUsageMinKey "UsageMin"
64 CONSTANT: kIOHIDElementUsageMaxKey "UsageMax"
66 CONSTANT: kIOHIDElementCalibrationMinKey "CalibrationMin"
67 CONSTANT: kIOHIDElementCalibrationMaxKey "CalibrationMax"
68 CONSTANT: kIOHIDElementCalibrationSaturationMinKey "CalibrationSaturationMin"
69 CONSTANT: kIOHIDElementCalibrationSaturationMaxKey "CalibrationSaturationMax"
70 CONSTANT: kIOHIDElementCalibrationDeadZoneMinKey "CalibrationDeadZoneMin"
71 CONSTANT: kIOHIDElementCalibrationDeadZoneMaxKey "CalibrationDeadZoneMax"
72 CONSTANT: kIOHIDElementCalibrationGranularityKey "CalibrationGranularity"
74 CONSTANT: kIOHIDElementTypeInput_Misc 1
75 CONSTANT: kIOHIDElementTypeInput_Button 2
76 CONSTANT: kIOHIDElementTypeInput_Axis 3
77 CONSTANT: kIOHIDElementTypeInput_ScanCodes 4
78 CONSTANT: kIOHIDElementTypeOutput 129
79 CONSTANT: kIOHIDElementTypeFeature 257
80 CONSTANT: kIOHIDElementTypeCollection 513
82 CONSTANT: kIOHIDElementCollectionTypePhysical 0x00
83 CONSTANT: kIOHIDElementCollectionTypeApplication 0x01
84 CONSTANT: kIOHIDElementCollectionTypeLogical 0x02
85 CONSTANT: kIOHIDElementCollectionTypeReport 0x03
86 CONSTANT: kIOHIDElementCollectionTypeNamedArray 0x04
87 CONSTANT: kIOHIDElementCollectionTypeUsageSwitch 0x05
88 CONSTANT: kIOHIDElementCollectionTypeUsageModifier 0x06
90 CONSTANT: kIOHIDReportTypeInput 0
91 CONSTANT: kIOHIDReportTypeOutput 1
92 CONSTANT: kIOHIDReportTypeFeature 2
93 CONSTANT: kIOHIDReportTypeCount 3
95 CONSTANT: kIOHIDOptionsTypeNone 0x00
96 CONSTANT: kIOHIDOptionsTypeSeizeDevice 0x01
98 CONSTANT: kIOHIDQueueOptionsTypeNone 0x00
99 CONSTANT: kIOHIDQueueOptionsTypeEnqueueAll 0x01
101 CONSTANT: kIOHIDElementFlagsConstantMask 0x0001
102 CONSTANT: kIOHIDElementFlagsVariableMask 0x0002
103 CONSTANT: kIOHIDElementFlagsRelativeMask 0x0004
104 CONSTANT: kIOHIDElementFlagsWrapMask 0x0008
105 CONSTANT: kIOHIDElementFlagsNonLinearMask 0x0010
106 CONSTANT: kIOHIDElementFlagsNoPreferredMask 0x0020
107 CONSTANT: kIOHIDElementFlagsNullStateMask 0x0040
108 CONSTANT: kIOHIDElementFlagsVolativeMask 0x0080
109 CONSTANT: kIOHIDElementFlagsBufferedByteMask 0x0100
111 CONSTANT: kIOHIDValueScaleTypeCalibrated 0
112 CONSTANT: kIOHIDValueScaleTypePhysical 1
114 CONSTANT: kIOHIDTransactionDirectionTypeInput 0
115 CONSTANT: kIOHIDTransactionDirectionTypeOutput 1
117 CONSTANT: kIOHIDTransactionOptionDefaultOutputValue 1
119 TYPEDEF: ptrdiff_t IOHIDElementCookie
120 TYPEDEF: int IOHIDElementType
121 TYPEDEF: int IOHIDElementCollectionType
122 TYPEDEF: int IOHIDReportType
123 TYPEDEF: uint IOHIDOptionsType
124 TYPEDEF: uint IOHIDQueueOptionsType
125 TYPEDEF: uint IOHIDElementFlags
126 TYPEDEF: void* IOHIDDeviceRef
127 TYPEDEF: void* IOHIDElementRef
128 TYPEDEF: void* IOHIDQueueRef
129 TYPEDEF: void* IOHIDValueRef
130 TYPEDEF: void* IOHIDManagerRef
131 TYPEDEF: void* IOHIDTransactionRef
132 TYPEDEF: UInt32 IOHIDValueScaleType
133 TYPEDEF: UInt32 IOHIDTransactionDirectionType
135 CALLBACK: void IOHIDCallback ( void* context, IOReturn result, void* sender )
136 CALLBACK: void IOHIDReportCallback ( void* context, IOReturn result, void* sender, IOHIDReportType type, UInt32 reportID, uchar* report, CFIndex reportLength )
137 CALLBACK: void IOHIDValueCallback ( void* context, IOReturn result, void* sender, IOHIDValueRef value )
138 CALLBACK: void IOHIDValueMultipleCallback ( void* context, IOReturn result, void* sender, CFDictionaryRef multiple )
139 CALLBACK: void IOHIDDeviceCallback ( void* context, IOReturn result, void* sender, IOHIDDeviceRef device )
143 FUNCTION: CFTypeID IOHIDDeviceGetTypeID ( )
144 FUNCTION: IOHIDDeviceRef IOHIDDeviceCreate ( CFAllocatorRef allocator, io_service_t service )
145 FUNCTION: IOReturn IOHIDDeviceOpen ( IOHIDDeviceRef device, IOOptionBits options )
146 FUNCTION: IOReturn IOHIDDeviceClose ( IOHIDDeviceRef device, IOOptionBits options )
147 FUNCTION: Boolean IOHIDDeviceConformsTo ( IOHIDDeviceRef device, UInt32 usagePage, UInt32 usage )
148 FUNCTION: CFTypeRef IOHIDDeviceGetProperty ( IOHIDDeviceRef device, CFStringRef key )
149 FUNCTION: Boolean IOHIDDeviceSetProperty ( IOHIDDeviceRef device, CFStringRef key, CFTypeRef property )
150 FUNCTION: CFArrayRef IOHIDDeviceCopyMatchingElements ( IOHIDDeviceRef device, CFDictionaryRef matching, IOOptionBits options )
151 FUNCTION: void IOHIDDeviceScheduleWithRunLoop ( IOHIDDeviceRef device, CFRunLoopRef runLoop, CFStringRef runLoopMode )
152 FUNCTION: void IOHIDDeviceUnscheduleFromRunLoop ( IOHIDDeviceRef device, CFRunLoopRef runLoop, CFStringRef runLoopMode )
153 FUNCTION: void IOHIDDeviceRegisterRemovalCallback ( IOHIDDeviceRef device, IOHIDCallback callback, void* context )
154 FUNCTION: void IOHIDDeviceRegisterInputValueCallback ( IOHIDDeviceRef device, IOHIDValueCallback callback, void* context )
155 FUNCTION: void IOHIDDeviceRegisterInputReportCallback ( IOHIDDeviceRef device, uchar* report, CFIndex reportLength, IOHIDReportCallback callback, void* context )
156 FUNCTION: void IOHIDDeviceSetInputValueMatching ( IOHIDDeviceRef device, CFDictionaryRef matching )
157 FUNCTION: void IOHIDDeviceSetInputValueMatchingMultiple ( IOHIDDeviceRef device, CFArrayRef multiple )
158 FUNCTION: IOReturn IOHIDDeviceSetValue ( IOHIDDeviceRef device, IOHIDElementRef element, IOHIDValueRef value )
159 FUNCTION: IOReturn IOHIDDeviceSetValueMultiple ( IOHIDDeviceRef device, CFDictionaryRef multiple )
160 FUNCTION: IOReturn IOHIDDeviceSetValueWithCallback ( IOHIDDeviceRef device, IOHIDElementRef element, IOHIDValueRef value, CFTimeInterval timeout, IOHIDValueCallback callback, void* context )
161 FUNCTION: IOReturn IOHIDDeviceSetValueMultipleWithCallback ( IOHIDDeviceRef device, CFDictionaryRef multiple, CFTimeInterval timeout, IOHIDValueMultipleCallback callback, void* context )
162 FUNCTION: IOReturn IOHIDDeviceGetValue ( IOHIDDeviceRef device, IOHIDElementRef element, IOHIDValueRef* pValue )
163 FUNCTION: IOReturn IOHIDDeviceCopyValueMultiple ( IOHIDDeviceRef device, CFArrayRef elements, CFDictionaryRef* pMultiple )
164 FUNCTION: IOReturn IOHIDDeviceGetValueWithCallback ( IOHIDDeviceRef device, IOHIDElementRef element, IOHIDValueRef* pValue, CFTimeInterval timeout, IOHIDValueCallback callback, void* context )
165 FUNCTION: IOReturn IOHIDDeviceCopyValueMultipleWithCallback ( IOHIDDeviceRef device, CFArrayRef elements, CFDictionaryRef* pMultiple, CFTimeInterval timeout, IOHIDValueMultipleCallback callback, void* context )
166 FUNCTION: IOReturn IOHIDDeviceSetReport ( IOHIDDeviceRef device, IOHIDReportType reportType, CFIndex reportID, char* report, CFIndex reportLength )
167 FUNCTION: IOReturn IOHIDDeviceSetReportWithCallback ( IOHIDDeviceRef device, IOHIDReportType reportType, CFIndex reportID, char* report, CFIndex reportLength, CFTimeInterval timeout, IOHIDReportCallback callback, void* context )
168 FUNCTION: IOReturn IOHIDDeviceGetReport ( IOHIDDeviceRef device, IOHIDReportType reportType, CFIndex reportID, char* report, CFIndex* pReportLength )
169 FUNCTION: IOReturn IOHIDDeviceGetReportWithCallback ( IOHIDDeviceRef device, IOHIDReportType reportType, CFIndex reportID, char* report, CFIndex* pReportLength, CFTimeInterval timeout, IOHIDReportCallback callback, void* context )
173 FUNCTION: CFTypeID IOHIDManagerGetTypeID ( )
174 FUNCTION: IOHIDManagerRef IOHIDManagerCreate ( CFAllocatorRef allocator, IOOptionBits options )
175 FUNCTION: IOReturn IOHIDManagerOpen ( IOHIDManagerRef manager, IOOptionBits options )
176 FUNCTION: IOReturn IOHIDManagerClose ( IOHIDManagerRef manager, IOOptionBits options )
177 FUNCTION: CFTypeRef IOHIDManagerGetProperty ( IOHIDManagerRef manager, CFStringRef key )
178 FUNCTION: Boolean IOHIDManagerSetProperty ( IOHIDManagerRef manager, CFStringRef key, CFTypeRef value )
179 FUNCTION: void IOHIDManagerScheduleWithRunLoop ( IOHIDManagerRef manager, CFRunLoopRef runLoop, CFStringRef runLoopMode )
180 FUNCTION: void IOHIDManagerUnscheduleFromRunLoop ( IOHIDManagerRef manager, CFRunLoopRef runLoop, CFStringRef runLoopMode )
181 FUNCTION: void IOHIDManagerSetDeviceMatching ( IOHIDManagerRef manager, CFDictionaryRef matching )
182 FUNCTION: void IOHIDManagerSetDeviceMatchingMultiple ( IOHIDManagerRef manager, CFArrayRef multiple )
183 FUNCTION: CFSetRef IOHIDManagerCopyDevices ( IOHIDManagerRef manager )
184 FUNCTION: void IOHIDManagerRegisterDeviceMatchingCallback ( IOHIDManagerRef manager, IOHIDDeviceCallback callback, void* context )
185 FUNCTION: void IOHIDManagerRegisterDeviceRemovalCallback ( IOHIDManagerRef manager, IOHIDDeviceCallback callback, void* context )
186 FUNCTION: void IOHIDManagerRegisterInputReportCallback ( IOHIDManagerRef manager, IOHIDReportCallback callback, void* context )
187 FUNCTION: void IOHIDManagerRegisterInputValueCallback ( IOHIDManagerRef manager, IOHIDValueCallback callback, void* context )
188 FUNCTION: void IOHIDManagerSetInputValueMatching ( IOHIDManagerRef manager, CFDictionaryRef matching )
189 FUNCTION: void IOHIDManagerSetInputValueMatchingMultiple ( IOHIDManagerRef manager, CFArrayRef multiple )
193 FUNCTION: CFTypeID IOHIDElementGetTypeID ( )
194 FUNCTION: IOHIDElementRef IOHIDElementCreateWithDictionary ( CFAllocatorRef allocator, CFDictionaryRef dictionary )
195 FUNCTION: IOHIDDeviceRef IOHIDElementGetDevice ( IOHIDElementRef element )
196 FUNCTION: IOHIDElementRef IOHIDElementGetParent ( IOHIDElementRef element )
197 FUNCTION: CFArrayRef IOHIDElementGetChildren ( IOHIDElementRef element )
198 FUNCTION: void IOHIDElementAttach ( IOHIDElementRef element, IOHIDElementRef toAttach )
199 FUNCTION: void IOHIDElementDetach ( IOHIDElementRef element, IOHIDElementRef toDetach )
200 FUNCTION: CFArrayRef IOHIDElementCopyAttached ( IOHIDElementRef element )
201 FUNCTION: IOHIDElementCookie IOHIDElementGetCookie ( IOHIDElementRef element )
202 FUNCTION: IOHIDElementType IOHIDElementGetType ( IOHIDElementRef element )
203 FUNCTION: IOHIDElementCollectionType IOHIDElementGetCollectionType ( IOHIDElementRef element )
204 FUNCTION: UInt32 IOHIDElementGetUsagePage ( IOHIDElementRef element )
205 FUNCTION: UInt32 IOHIDElementGetUsage ( IOHIDElementRef element )
206 FUNCTION: Boolean IOHIDElementIsVirtual ( IOHIDElementRef element )
207 FUNCTION: Boolean IOHIDElementIsRelative ( IOHIDElementRef element )
208 FUNCTION: Boolean IOHIDElementIsWrapping ( IOHIDElementRef element )
209 FUNCTION: Boolean IOHIDElementIsArray ( IOHIDElementRef element )
210 FUNCTION: Boolean IOHIDElementIsNonLinear ( IOHIDElementRef element )
211 FUNCTION: Boolean IOHIDElementHasPreferredState ( IOHIDElementRef element )
212 FUNCTION: Boolean IOHIDElementHasNullState ( IOHIDElementRef element )
213 FUNCTION: CFStringRef IOHIDElementGetName ( IOHIDElementRef element )
214 FUNCTION: UInt32 IOHIDElementGetReportID ( IOHIDElementRef element )
215 FUNCTION: UInt32 IOHIDElementGetReportSize ( IOHIDElementRef element )
216 FUNCTION: UInt32 IOHIDElementGetReportCount ( IOHIDElementRef element )
217 FUNCTION: UInt32 IOHIDElementGetUnit ( IOHIDElementRef element )
218 FUNCTION: UInt32 IOHIDElementGetUnitExponent ( IOHIDElementRef element )
219 FUNCTION: CFIndex IOHIDElementGetLogicalMin ( IOHIDElementRef element )
220 FUNCTION: CFIndex IOHIDElementGetLogicalMax ( IOHIDElementRef element )
221 FUNCTION: CFIndex IOHIDElementGetPhysicalMin ( IOHIDElementRef element )
222 FUNCTION: CFIndex IOHIDElementGetPhysicalMax ( IOHIDElementRef element )
223 FUNCTION: CFTypeRef IOHIDElementGetProperty ( IOHIDElementRef element, CFStringRef key )
224 FUNCTION: Boolean IOHIDElementSetProperty ( IOHIDElementRef element, CFStringRef key, CFTypeRef property )
228 FUNCTION: CFTypeID IOHIDValueGetTypeID ( )
229 FUNCTION: IOHIDValueRef IOHIDValueCreateWithIntegerValue ( CFAllocatorRef allocator, IOHIDElementRef element, ulonglong timeStamp, CFIndex value )
230 FUNCTION: IOHIDValueRef IOHIDValueCreateWithBytes ( CFAllocatorRef allocator, IOHIDElementRef element, ulonglong timeStamp, c-string bytes, CFIndex length )
231 FUNCTION: IOHIDValueRef IOHIDValueCreateWithBytesNoCopy ( CFAllocatorRef allocator, IOHIDElementRef element, ulonglong timeStamp, c-string bytes, CFIndex length )
232 FUNCTION: IOHIDElementRef IOHIDValueGetElement ( IOHIDValueRef value )
233 FUNCTION: ulonglong IOHIDValueGetTimeStamp ( IOHIDValueRef value )
234 FUNCTION: CFIndex IOHIDValueGetLength ( IOHIDValueRef value )
235 FUNCTION: uchar* IOHIDValueGetBytePtr ( IOHIDValueRef value )
236 FUNCTION: CFIndex IOHIDValueGetIntegerValue ( IOHIDValueRef value )
237 FUNCTION: double IOHIDValueGetScaledValue ( IOHIDValueRef value, IOHIDValueScaleType type )
241 FUNCTION: CFTypeID IOHIDTransactionGetTypeID ( )
242 FUNCTION: IOHIDTransactionRef IOHIDTransactionCreate ( CFAllocatorRef allocator, IOHIDDeviceRef device, IOHIDTransactionDirectionType direction, IOOptionBits options )
243 FUNCTION: IOHIDDeviceRef IOHIDTransactionGetDevice ( IOHIDTransactionRef transaction )
244 FUNCTION: IOHIDTransactionDirectionType IOHIDTransactionGetDirection ( IOHIDTransactionRef transaction )
245 FUNCTION: void IOHIDTransactionSetDirection ( IOHIDTransactionRef transaction, IOHIDTransactionDirectionType direction )
246 FUNCTION: void IOHIDTransactionAddElement ( IOHIDTransactionRef transaction, IOHIDElementRef element )
247 FUNCTION: void IOHIDTransactionRemoveElement ( IOHIDTransactionRef transaction, IOHIDElementRef element )
248 FUNCTION: Boolean IOHIDTransactionContainsElement ( IOHIDTransactionRef transaction, IOHIDElementRef element )
249 FUNCTION: void IOHIDTransactionScheduleWithRunLoop ( IOHIDTransactionRef transaction, CFRunLoopRef runLoop, CFStringRef runLoopMode )
250 FUNCTION: void IOHIDTransactionUnscheduleFromRunLoop ( IOHIDTransactionRef transaction, CFRunLoopRef runLoop, CFStringRef runLoopMode )
251 FUNCTION: void IOHIDTransactionSetValue ( IOHIDTransactionRef transaction, IOHIDElementRef element, IOHIDValueRef value, IOOptionBits options )
252 FUNCTION: IOHIDValueRef IOHIDTransactionGetValue ( IOHIDTransactionRef transaction, IOHIDElementRef element, IOOptionBits options )
253 FUNCTION: IOReturn IOHIDTransactionCommit ( IOHIDTransactionRef transaction )
254 FUNCTION: IOReturn IOHIDTransactionCommitWithCallback ( IOHIDTransactionRef transaction, CFTimeInterval timeout, IOHIDCallback callback, void* context )
255 FUNCTION: void IOHIDTransactionClear ( IOHIDTransactionRef transaction )
259 FUNCTION: CFTypeID IOHIDQueueGetTypeID ( )
260 FUNCTION: IOHIDDeviceRef IOHIDQueueGetDevice ( IOHIDQueueRef queue )