#include <IOKit/hidsystem/IOHIDDescriptorParser.h>

IOKit/hidsystem/IOHIDDescriptorParser.h Kernel.framework

!defined(KERNEL) || defined(KERNEL_PRIVATE)
includes: TargetConditionals.h, IOKit/IOTypes.h
29 functions · 19 typedefs · 8 structs · 3 enums

enum(anonymous)

underlying type int
kHIDSuccess0
kHIDBaseError-13950HID assigned error numbers are -13949 .. -13900
kHIDNullStateErr-13949
kHIDBufferTooSmallErr-13948
kHIDValueOutOfRangeErr-13947
kHIDUsageNotFoundErr-13946
kHIDNotValueArrayErr-13945
kHIDInvalidPreparsedDataErr-13944
kHIDIncompatibleReportErr-13943
kHIDBadLogPhysValuesErr-13942
kHIDInvalidReportTypeErr-13941
kHIDInvalidReportLengthErr-13940
kHIDNullPointerErr-13939
kHIDBadParameterErr-13938
kHIDNotEnoughMemoryErr-13937
kHIDEndOfDescriptorErr-13936
kHIDUsagePageZeroErr-13935
kHIDBadLogicalMinimumErr-13934
kHIDBadLogicalMaximumErr-13933
kHIDInvertedLogicalRangeErr-13932
kHIDInvertedPhysicalRangeErr-13931
kHIDUnmatchedUsageRangeErr-13930
kHIDInvertedUsageRangeErr-13929
kHIDUnmatchedStringRangeErr-13928
kHIDUnmatchedDesignatorRangeErr-13927
kHIDReportSizeZeroErr-13926
kHIDReportCountZeroErr-13925
kHIDReportIDZeroErr-13924
kHIDInvalidRangePageErr-13923
kHIDDeviceNotReady-13910The device is still initializing, try again later
kHIDVersionIncompatibleErr-13909

enum(anonymous)

types of HID reports (input, output, feature)
underlying type unsigned int
kHIDInputReport1
kHIDOutputReport2
kHIDFeatureReport3
kHIDUnknownReport255

enum(anonymous)

flags passed to HIDOpenReportDescriptor
underlying type unsigned int
kHIDFlag_StrictErrorChecking1

typedefHIDReportType

typedef UInt32 HIDReportType

typedefHIDUsage

typedef UInt32 HIDUsage

typedefHIDPreparsedDataRef

typedef void *HIDPreparsedDataRef

structHIDUsageAndPage

@typedef HIDUsageAndPage @abstract The HIDUsageAndPage data structure is used by HID clients when obtaining status of buttons to hold the usage page and usage of a button that is down. @discussion Clients use the HIDUSageAndPage structure with the HIDGetButtonsEx function to obtain both the usage page and usage identifiers of each button that is down. @field usage Specifies the usage identifier within the usage page specified by usagePage of a button that is down. @field usagePage Specifies the usage page identifier of a button that is down.
size 8, align 4
HIDUsageusage
HIDUsageusagePage

typedefHIDUsageAndPage

typedef struct HIDUsageAndPage HIDUsageAndPage

typedefHIDUsageAndPagePtr

typedef struct HIDUsageAndPage HIDUsageAndPage, *HIDUsageAndPagePtr

structHIDCaps

@typedef HIDCaps @abstract The HIDCaps data structure is used by HID clients to hold the capabilities of a HID device. @discussion This structure holds the parsed capabilities and data maximums returned for a device by the HIDGetCaps function. @field usage Specifies the specific class of functionality that this device provides. This value is dependent and specific to the value provided in the usagePage field. For example, a keyboard could have a usagePage of kHIDUsagePage_Generic and a usage of kHIDUsage_Generic_Keyboard. @field usagePage Specifies the usage page identifier for this top level collection. @field inputReportByteLength Specifies the maximum length, in bytes, of an input report for this device, including the report ID which is unilaterally prepended to the device data. @field outputReportByteLength Specifies the maximum length, in bytes, of an output report for this device, including the report ID which is unilaterally prepended to the device data. @field featureReportByteLength Specifies the maximum length, in bytes, of a feature report for this device, including the report ID which is unilaterally prepended to the device data. @field numberCollectionNodes Specifies the number of HIDCollectionNode structures that are returned for this top level collection by the HIDGetConnectionNodes function. @field numberInputButtonCaps Specifies the number of input buttons. @field numberInputValueCaps Specifies the number of input values. @field numberOutputButtonCaps Specifies the number of output buttons. @field numberOutputValueCaps Specifies the number of output values @field numberFeatureButtonCaps Specifies the number of feature buttons. @field numberFeatureValueCaps Specifies the number of feature values.
size 64, align 8
HIDUsageusage
HIDUsageusagePage
IOByteCountinputReportByteLength
IOByteCountoutputReportByteLength
IOByteCountfeatureReportByteLength
UInt32numberCollectionNodes
UInt32numberInputButtonCaps
UInt32numberInputValueCaps
UInt32numberOutputButtonCaps
UInt32numberOutputValueCaps
UInt32numberFeatureButtonCaps
UInt32numberFeatureValueCaps

typedefHIDCaps

typedef struct HIDCaps HIDCaps

typedefHIDCapsPtr

typedef struct HIDCaps HIDCaps, * HIDCapsPtr

structHIDCapabilities

size 64, align 8
HIDUsageusage
HIDUsageusagePage
IOByteCountinputReportByteLength
IOByteCountoutputReportByteLength
IOByteCountfeatureReportByteLength
UInt32numberCollectionNodes
UInt32numberInputButtonCaps
UInt32numberInputValueCaps
UInt32numberOutputButtonCaps
UInt32numberOutputValueCaps
UInt32numberFeatureButtonCaps
UInt32numberFeatureValueCaps

typedefHIDCapabilities

typedef struct HIDCapabilities HIDCapabilities

typedefHIDCapabilitiesPtr

typedef struct HIDCapabilities HIDCapabilities, * HIDCapabilitiesPtr

structHIDCollectionNode

size 24, align 4
HIDUsagecollectionUsage
HIDUsagecollectionUsagePage
UInt32parent
UInt32numberOfChildren
UInt32nextSibling
UInt32firstChild

typedefHIDCollectionNode

typedef struct HIDCollectionNode HIDCollectionNode

typedefHIDCollectionNodePtr

typedef struct HIDCollectionNode HIDCollectionNode, * HIDCollectionNodePtr

structHIDButtonCaps

size 56, align 4
HIDUsageusagePage
UInt32reportID
UInt32bitField
UInt32collection
HIDUsagecollectionUsage
HIDUsagecollectionUsagePage
BooleanisRange
BooleanisStringRange
BooleanisDesignatorRange
BooleanisAbsolute
SInt32startBitAdded esb 9-29-99
unnamed union at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:239:2u
unnamed struct at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:241:3range
HIDUsageusageMin
HIDUsageusageMax
UInt32stringMin
UInt32stringMax
UInt32designatorMin
UInt32designatorMax
unnamed struct at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:250:3notRange
HIDUsageusage
HIDUsagereserved1
UInt32stringIndex
UInt32reserved2
UInt32designatorIndex
UInt32reserved3

typedefHIDButtonCaps

typedef struct HIDButtonCaps HIDButtonCaps

typedefHIDButtonCapsPtr

typedef struct HIDButtonCaps HIDButtonCaps, * HIDButtonCapsPtr

structHIDButtonCapabilities

size 68, align 4
HIDUsageusagePage
UInt32reportID
UInt32bitField
UInt32collection
HIDUsagecollectionUsage
HIDUsagecollectionUsagePage
BooleanisRange
BooleanisStringRange
BooleanisDesignatorRange
BooleanisAbsolute
SInt32unitExponentAdded KH 1/25/01
SInt32unitsAdded KH 1/25/01
SInt32startBitUInt32 reserved; // Not added KH 1/25/01 Added esb 9-29-99
UInt32pbVersionAdded KH 1/25/01
unnamed union at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:282:2u
unnamed struct at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:284:3range
HIDUsageusageMin
HIDUsageusageMax
UInt32stringMin
UInt32stringMax
UInt32designatorMin
UInt32designatorMax
unnamed struct at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:293:3notRange
HIDUsageusage
HIDUsagereserved1
UInt32stringIndex
UInt32reserved2
UInt32designatorIndex
UInt32reserved3

typedefHIDButtonCapabilities

typedef struct HIDButtonCapabilities HIDButtonCapabilities

typedefHIDButtonCapabilitiesPtr

typedef struct HIDButtonCapabilities HIDButtonCapabilities, * HIDButtonCapabilitiesPtr

structHIDValueCaps

size 80, align 4
HIDUsageusagePage
UInt32reportID
UInt32bitField
UInt32collection
HIDUsagecollectionUsage
HIDUsagecollectionUsagePage
BooleanisRange
BooleanisStringRange
BooleanisDesignatorRange
BooleanisAbsolute
UInt32startBitAdded by esb 9-28-99
UInt32bitSize
UInt32reportCount
SInt32logicalMin
SInt32logicalMax
SInt32physicalMin
SInt32physicalMax
unnamed union at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:329:2u
unnamed struct at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:331:3range
HIDUsageusageMin
HIDUsageusageMax
UInt32stringMin
UInt32stringMax
UInt32designatorMin
UInt32designatorMax
unnamed struct at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:340:3notRange
HIDUsageusage
HIDUsagereserved1
UInt32stringIndex
UInt32reserved2
UInt32designatorIndex
UInt32reserved3

typedefHIDValueCaps

typedef struct HIDValueCaps HIDValueCaps

typedefHIDValueCapsPtr

typedef struct HIDValueCaps HIDValueCaps, * HIDValueCapsPtr

structHIDValueCapabilities

size 92, align 4
HIDUsageusagePage
UInt32reportID
UInt32bitField
UInt32collection
HIDUsagecollectionUsage
HIDUsagecollectionUsagePage
BooleanisRange
BooleanisStringRange
BooleanisDesignatorRange
BooleanisAbsolute
UInt32bitSize
UInt32reportCount
SInt32logicalMin
SInt32logicalMax
SInt32physicalMin
SInt32physicalMax
SInt32unitExponentAdded KH 1/25/01
SInt32unitsAdded KH 1/25/01
SInt32startBitUInt32 reserved; // Not added KH 1/25/01 Added esb 9-29-99 // Moved here KH 1/25/01
UInt32pbVersionAdded KH 1/25/01
unnamed union at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:381:2u
unnamed struct at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:383:3range
HIDUsageusageMin
HIDUsageusageMax
UInt32stringMin
UInt32stringMax
UInt32designatorMin
UInt32designatorMax
unnamed struct at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:392:3notRange
HIDUsageusage
HIDUsagereserved1
UInt32stringIndex
UInt32reserved2
UInt32designatorIndex
UInt32reserved3

typedefHIDValueCapabilities

typedef struct HIDValueCapabilities HIDValueCapabilities

typedefHIDValueCapabilitiesPtr

typedef struct HIDValueCapabilities HIDValueCapabilities, * HIDValueCapabilitiesPtr

functionHIDOpenReportDescriptor

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDOpenReportDescriptor(
	void * hidReportDescriptor,
	IOByteCount descriptorLength,
	HIDPreparsedDataRef * preparsedDataRef,
	UInt32 flags
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Allocates the memory the HID parser needs for the given report descriptor and parses it, returning a HIDPreparsedDataRef consumed by the other HID* parser calls. hidReportDescriptor points to the raw HID report descriptor from the device firmware, descriptorLength gives its length, and flags may include kHIDFlag_StrictErrorChecking. Release the preparsed data with HIDCloseReportDescriptor when no longer needed. Returns noErr on success or an error code.

functionHIDCloseReportDescriptor

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDCloseReportDescriptor(HIDPreparsedDataRef preparsedDataRef)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Disposes of the memory the parser allocated for HIDOpenReportDescriptor. After the call the preparsedDataRef is invalid and must not be used. Returns noErr on success or an error code.

functionHIDGetButtonCaps

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetButtonCaps(
	HIDReportType reportType,
	HIDButtonCapsPtr buttonCaps,
	UInt32 * buttonCapsSize,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the button capabilities for a HID device from the preparsed data: fills a caller-allocated array of HIDButtonCaps structures for all buttons of the given report type (kHIDInputReport, kHIDOutputReport, or kHIDFeatureReport). buttonCapsSize gives the array capacity on input and the number of elements filled on return. Older counterpart of HIDGetButtonCapabilities. Returns noErr on success or an error code.

functionHIDGetButtonCapabilities

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetButtonCapabilities(
	HIDReportType reportType,
	HIDButtonCapabilitiesPtr buttonCaps,
	UInt32 * buttonCapsSize,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the button capabilities for a HID device from the preparsed data: fills a caller-allocated array of HIDButtonCapabilities structures for all buttons of the given report type (kHIDInputReport, kHIDOutputReport, or kHIDFeatureReport). buttonCapsSize gives the array capacity on input and the number of elements filled on return. Newer counterpart of HIDGetButtonCaps. Returns noErr on success or an error code.

functionHIDGetCaps

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetCaps(HIDPreparsedDataRef preparsedDataRef, HIDCapsPtr capabilities)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the capabilities of a HID device based on the given preparsed data, filling a caller-allocated HIDCaps structure with the parsed capability information, including the element counts used to size the arrays for HIDGetButtonCaps, HIDGetValueCaps and HIDGetCollectionNodes. Older counterpart of HIDGetCapabilities. Returns noErr on success or an error code.

functionHIDGetCapabilities

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetCapabilities(
	HIDPreparsedDataRef preparsedDataRef,
	HIDCapabilitiesPtr capabilities
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the capabilities of a HID device based on the given preparsed data, filling a caller-allocated HIDCapabilities structure with the parsed capability information. Newer counterpart of HIDGetCaps. Returns noErr on success or an error code.

functionHIDGetCollectionNodes

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetCollectionNodes(
	HIDCollectionNodePtr collectionNodes,
	UInt32 * collectionNodesSize,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns an array of HIDCollectionNode structures describing the relationships and layout of the link collections within the top level collection, one entry per collection (a group of input, output and feature items with a common relationship, such as the x, y and button items of a pointer). collectionNodesSize gives the array capacity in elements on input and the number initialized on return; the required length is the numberCollectionNodes member of the HIDCaps returned by HIDGetCaps. Returns noErr on success or an error code.

functionHIDGetScaledUsageValue

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetScaledUsageValue(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	SInt32 * usageValue,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the scaled value for the given usage page and usage from a device report of the given type; collection optionally restricts the search to one link collection. On return usageValue holds the signed, scaled value retrieved from the report. HIDGetUsageValue returns the value without applying the sign; usages holding multiple data items (HID byte arrays) require HIDGetUsageValueArray. Returns noErr on success or an error code.

functionHIDGetSpecificButtonCaps

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetSpecificButtonCaps(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	HIDButtonCapsPtr buttonCaps,
	UInt32 * buttonCapsSize,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDButtonCaps) for buttons of the given report type that meet the search criteria: a non-zero usagePage, collection, or usage restricts the results to buttons matching it; all three zero is equivalent to HIDGetButtonCaps. buttonCapsSize gives the array capacity in elements on input and the number returned on output; the required length is available from HIDGetCaps. Returns noErr on success or an error code.

functionHIDGetSpecificButtonCapabilities

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetSpecificButtonCapabilities(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	HIDButtonCapabilitiesPtr buttonCaps,
	UInt32 * buttonCapsSize,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDButtonCapabilities) for buttons of the given report type that meet the search criteria: a non-zero usagePage, collection, or usage restricts the results to buttons matching it; all three zero is equivalent to HIDGetButtonCapabilities. buttonCapsSize gives the array capacity in elements on input and the number returned on output. Newer counterpart of HIDGetSpecificButtonCaps. Returns noErr on success or an error code.

functionHIDGetSpecificValueCaps

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetSpecificValueCaps(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	HIDValueCapsPtr valueCaps,
	UInt32 * valueCapsSize,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDValueCaps) for values of the given report type that meet the search criteria: a non-zero usagePage, collection, or usage restricts the results to values matching it; all three zero is equivalent to HIDGetValueCaps. valueCapsSize gives the array capacity in elements on input and the number returned on output; the required length is available from HIDGetCaps. Returns noErr on success or an error code.

functionHIDGetSpecificValueCapabilities

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetSpecificValueCapabilities(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	HIDValueCapabilitiesPtr valueCaps,
	UInt32 * valueCapsSize,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDValueCapabilities) for values of the given report type that meet the search criteria: a non-zero usagePage, collection, or usage restricts the results to values matching it; all three zero is equivalent to HIDGetValueCapabilities. valueCapsSize gives the array capacity in elements on input and the number returned on output. Newer counterpart of HIDGetSpecificValueCaps. Returns noErr on success or an error code.

functionHIDGetButtonsOnPage

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetButtonsOnPage(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage * usageList,
	UInt32 * usageListSize,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves the state of the buttons on the specified usage page from a device report: on return usageList holds the usages of all pressed buttons on that page. A non-zero collection restricts the result to buttons in that link collection. usageListSize gives the array capacity in elements on input and the number of button states set on return; on kHIDBufferTooSmallErr it holds the number of elements required. HIDMaxUsageListLength gives the maximum possible for a report type. Returns noErr on success or an error code.

functionHIDGetButtons

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetButtons(
	HIDReportType reportType,
	UInt32 collection,
	HIDUsageAndPagePtr usageList,
	UInt32 * usageListSize,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Takes a device report and returns the current state of the buttons in it: on return usageList holds a HIDUsageAndPage (usage and usage page) entry for every pressed button. A non-zero collection restricts the result to buttons in that link collection. usageListSize gives the array capacity in elements on input and the number of button states set on return; on kHIDBufferTooSmallErr it holds the number required. HIDMaxUsageListLength gives the maximum possible for a report type. Returns noErr on success or an error code.

functionHIDGetNextButtonInfo

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetNextButtonInfo(
	HIDReportType reportType,
	HIDUsage usagePage,
	HIDUsage usage,
	UInt32 * collection,
	UInt8 * reportID,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Undocumented in the IOHIDFamily header; the implementation is not part of xnu. From the signature: given a report type, usage page and usage, returns through collection and reportID information locating the next matching button in the preparsed data. Returns an OSStatus.

functionHIDGetNextUsageValueInfo

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetNextUsageValueInfo(
	HIDReportType reportType,
	HIDUsage usagePage,
	HIDUsage usage,
	UInt32 * collection,
	UInt8 * reportID,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Undocumented in the IOHIDFamily header; the implementation is not part of xnu. From the signature: given a report type, usage page and usage, returns through collection and reportID information locating the next matching usage value in the preparsed data. Returns an OSStatus.

functionHIDGetReportLength

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetReportLength(
	HIDReportType reportType,
	UInt8 reportID,
	IOByteCount *reportLength,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Undocumented in the IOHIDFamily header; the implementation is not part of xnu. From the signature: returns through reportLength the length in bytes of the report with the given type and report ID described by the preparsed data. Returns an OSStatus.

functionHIDGetUsageValue

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetUsageValue(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	SInt32 * usageValue,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns a value from a device report for the given usage page and usage; collection optionally restricts the search to one link collection. On return usageValue holds the value from the report. The sign bit is not applied; use HIDGetScaledUsageValue for automatic sign handling, or apply it manually at the position given in the HIDValueCaps structure. Usages holding multiple data items (HID byte arrays) require HIDGetUsageValueArray. Returns noErr on success or an error code.

functionHIDGetUsageValueArray

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetUsageValueArray(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	UInt8 * usageValueBuffer,
	IOByteCount usageValueBufferSize,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves the data for a usage comprising multiple data items (a HID byte array) from a device report into the caller's buffer, filled in little-endian order without regard to byte alignment, shifted so the least significant bit of the usage data is the first bit of the buffer. The correct buffer length is the reportCount times bitSize fields of the value's HIDValueCaps, rounded up to the nearest byte. Returns noErr on success or an error code.

functionHIDGetValueCaps

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetValueCaps(
	HIDReportType reportType,
	HIDValueCapsPtr valueCaps,
	UInt32 * valueCapsSize,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDValueCaps) for all values in the top level collection for the given report type, without regard to usage, usage page or collection; HIDGetSpecificValueCaps filters by those criteria. valueCapsSize gives the array capacity in elements on input and the number returned on output; the required length is available from HIDGetCaps. Returns noErr on success or an error code.

functionHIDGetValueCapabilities

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDGetValueCapabilities(
	HIDReportType reportType,
	HIDValueCapabilitiesPtr valueCaps,
	UInt32 * valueCapsSize,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDValueCapabilities) for all values in the top level collection for the given report type, without regard to usage, usage page or collection; HIDGetSpecificValueCapabilities filters by those criteria. valueCapsSize gives the array capacity in elements on input and the number returned on output. Newer counterpart of HIDGetValueCaps. Returns noErr on success or an error code.

functionHIDInitReport

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDInitReport(
	HIDReportType reportType,
	UInt8 reportID,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Undocumented in the IOHIDFamily header; the implementation is not part of xnu. From the signature: initializes the caller-provided report buffer of reportLength bytes for the given report type and report ID using the preparsed data. Returns an OSStatus.

functionHIDMaxUsageListLength

__iohid_deprecated("Use DriverKit")
extern UInt32 HIDMaxUsageListLength(
	HIDReportType reportType,
	HIDUsage usagePage,
	HIDPreparsedDataRef preparsedDataRef
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the maximum number of buttons that can be returned from the given report type for the top level collection; a zero usagePage counts buttons for the entire collection regardless of usage page. Sizes the usage lists passed to HIDGetButtons, HIDGetButtonsOnPage and HIDSetButtons. Returns the count as a UInt32.

functionHIDSetScaledUsageValue

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDSetScaledUsageValue(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	SInt32 usageValue,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Takes a signed physical (scaled) number, converts it to the logical device representation, and inserts it into the given report for the specified usage page and usage; a non-zero collection distinguishes values with identical usage page and usage. Handles the sign bit automatically, unlike HIDSetUsageValue. Returns noErr on success or an error code.

functionHIDSetButtons

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDSetButtons(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage * usageList,
	UInt32 * usageListSize,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Sets an array of buttons in the given report: usageList holds the usages on the given usage page to set, and a non-zero collection restricts the search to one link collection. If an error is returned, usageListSize holds the index in the array where the failure occurred; entries before it were successfully set. Single-button counterpart is HIDSetButton. Returns noErr on success or an error code.

functionHIDSetUsageValue

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDSetUsageValue(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	SInt32 usageValue,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Sets a value in the given report for the specified usage page and usage; a non-zero collection distinguishes values with identical usage page and usage. Does not handle the sign bit: set it manually at the position given in the value's HIDValueCaps structure, or use HIDSetScaledUsageValue. Returns noErr on success or an error code.

functionHIDSetUsageValueArray

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDSetUsageValueArray(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	UInt8 * usageValueBuffer,
	IOByteCount usageValueBufferLength,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Sets the data for a usage comprising multiple data items (a HID byte array) in the given report from the caller's buffer; the correct buffer length is the reportCount times bitSize fields of the value's HIDValueCaps, rounded up to the nearest byte. Does not handle the sign bit; see HIDSetScaledUsageValue. Returns noErr on success or an error code.

functionHIDUsageListDifference

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDUsageListDifference(
	HIDUsage * previousUsageList,
	HIDUsage * currentUsageList,
	HIDUsage * breakUsageList,
	HIDUsage * makeUsageList,
	UInt32 usageListsSize
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Compares two button usage lists: on return breakUsageList holds the usages set in previousUsageList but not in currentUsageList (released buttons), and makeUsageList holds the usages set in currentUsageList but not in previousUsageList (newly pressed buttons). usageListsSize gives the length in elements of the input lists. Returns noErr on success or an error code.

functionHIDSetButton

__iohid_deprecated("Use DriverKit")
extern OSStatus HIDSetButton(
	HIDReportType reportType,
	HIDUsage usagePage,
	UInt32 collection,
	HIDUsage usage,
	HIDPreparsedDataRef preparsedDataRef,
	void * report,
	IOByteCount reportLength
)
deprecated
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Sets the state of a single button in the given report, identified by usage page and usage; a non-zero collection distinguishes buttons in a specific link collection. HIDSetButtons sets several buttons at once. Returns noErr on success or an error code.