@struct IOUSBHostCompletion
@discussion Struture describing the completion callback for an asynchronous bulk, control, or interrupt IO operation
@field owner Pointer to an object that owns the transfer. May be used as <code>this</code> for an action passed via OSMemberFunctionCast.
@field action IOUSBHostCompletionAction to run when the IO request completes.
@field parameter Pointer to be used as context within the completion action.
@struct IOUSBHostBundledCompletion
@discussion Struture describing the completion callback for an asynchronous bulk, control, or interrupt IO operation
@field owner Pointer to an object that owns the transfer. May be used as <code>this</code> for an action passed via OSMemberFunctionCast.
@field action IOUSBHostBundledCompletion to run when the IO request completes.
@field parameter Pointer to be used as context within the completion action.
@struct IOUSBHostIsochronousFrame
@discussion Structure representing a single frame in an isochronous transfer. Use of this structure is discouraged, use @link IOUSBHostIsochronousTransaction @/link instead.
@field status Completion status for this individual frame. IOUSBHostFamily will initialize this to kIOReturnInvalid and will update the field with a valid status code upon completion of the frame.
@field requestCount The number of bytes requested to transfer for this frame. This field must be initialized by the caller before this structure is submitted to IOUSBHostFamily.
@field completeCount The number of bytes actually transferred for this frame. IOUSBHostFamily will update this field upon completion of the frame.
@field reserved Reserved for future use.
@field timeStamp The observed AbsoluteTime for this frame's completion. Note that interrupt latency and system load may result in more than one frame completing with the same timestamp.
@struct IOUSBHostIsochronousTransaction
@discussion Structure representing a single frame or microframe in an isochronous transfer.
@field status Completion status for this individual transaction. IOUSBHostFamily will initialize this to kIOReturnInvalid and will update the field with a valid status code upon completion of the transaction.
@field requestCount The number of bytes requested to transfer for this transaction. This field must be initialized by the caller before this structure is submitted to IOUSBHostFamily.
@field offset The number of bytes between the start of the memory descriptor in which this transaction resides and the start of the transaction. The offset cannot exceed 4GB.
@field completeCount The number of bytes actually transferred for this transaction. IOUSBHostFamily will update this field upon completion of the transaction.
@field timeStamp The observed AbsoluteTime for this transaction's completion. Note that interrupt latency and system load may result in more than one transaction completing with the same timestamp.
@field options Flags that specify additional transaction behavior. See @link tIsochronousTransactionOptions @/link for more details.
@struct IOUSBHostIsochronousCompletion
@discussion Struture describing the completion callback for an asynchronous isochronous operation
@field owner Pointer to an object that owns the transfer. May be used as <code>this</code> for an action passed via OSMemberFunctionCast.
@field action IOUSBHostIsochronousCompletionAction to run when the IO request completes.
@field parameter Pointer to be used as context within the completion action.
@struct IOUSBHostIsochronousTransactionCompletion
@discussion Structure describing the completion callback for an asynchronous isochronous operation
@field owner Pointer to an object that owns the transfer. May be used as <code>this</code> for an action passed via OSMemberFunctionCast.
@field action IOUSBHostIsochronousTransactionCompletionAction to run when the IO request completes.
@field parameter Pointer to be used as context within the completion action.
@enum tIsochronousTransferOptions
@brief Options for controlling isochronous transfer behavior
@constant kIsochronousTransferOptionsNone No options are selected for this transfer
@enum tIsochronousTransactionOptions
@brief Options for <code>IOUSBHostIsochronousTransaction</code>
@constant kIsochronousTransactionOptionsNone No options are selected for this transaction
@constant kIsochronousTransactionOptionsWrap This transaction's data reaches the end of the memory descriptor and continues at the descriptor's start. If this option is selected, the transaction's offset + requestCount should exceed the memory descriptor's length. This option is not supported on UHCI or UserHCI controllers.
@struct tPacketFilterMetadata
@discussion Struture providing information about the IOUSBHostIOSource's parents
@field deviceAddress Address of the parent IOUSBHostDevice.
@field interfaceClass If enpointAddress is non-zero, the class of the parent IOUSBHostInteface.
@field interfaceSubClass If enpointAddress is non-zero, the sub-class of the parent IOUSBHostInteface.
@field interfaceProtocol If enpointAddress is non-zero, the protocol of the parent IOUSBHostInteface.
@field interfaceAltSetting Current alternate setting of the parent IOUSBHostInterface.
@field endpointAddress The address of the endpoint including the direction.
@field endpointType See tEndpointType in IOUSBHostFamily.h.
@field speed See tUSBHostConnectionSpeed in IOUSBHostFamily.h.
@field vid Vendor ID of the parent IOUSBHostDevice.
@field pid Product ID of the parent IOUSBHostDevice.
@field locationID USB locationID of the parent IOUSBHostDevice.