Documentation
¶
Overview ¶
Package iousbhost provides purego-based Go bindings for the macOS IOUSBHost framework.
Apple documentation: https://developer.apple.com/documentation/iousbhost
Index ¶
- Constants
- func IOUSBGetBillboardDescriptor(bosDescriptor unsafe.Pointer) unsafe.Pointer
- func IOUSBGetConfigurationMaxPowerMilliAmps(usbDeviceSpeed uint32, descriptor unsafe.Pointer) uint32
- func IOUSBGetContainerIDDescriptor(bosDescriptor unsafe.Pointer) unsafe.Pointer
- func IOUSBGetEndpointAddress(descriptor unsafe.Pointer) uint8
- func IOUSBGetEndpointBurstSize(usbDeviceSpeed uint32, descriptor unsafe.Pointer, ...) uint32
- func IOUSBGetEndpointDirection(descriptor unsafe.Pointer) uint8
- func IOUSBGetEndpointIntervalEncodedMicroframes(usbDeviceSpeed uint32, descriptor unsafe.Pointer) uint32
- func IOUSBGetEndpointIntervalFrames(usbDeviceSpeed uint32, descriptor unsafe.Pointer) uint32
- func IOUSBGetEndpointIntervalMicroframes(usbDeviceSpeed uint32, descriptor unsafe.Pointer) uint32
- func IOUSBGetEndpointMaxPacketSize(usbDeviceSpeed uint32, descriptor unsafe.Pointer) uint16
- func IOUSBGetEndpointMaxStreams(usbDeviceSpeed uint32, descriptor unsafe.Pointer, ...) uint32
- func IOUSBGetEndpointMaxStreamsEncoded(usbDeviceSpeed uint32, descriptor unsafe.Pointer, ...) uint32
- func IOUSBGetEndpointMult(usbDeviceSpeed uint32, descriptor unsafe.Pointer, ...) uint8
- func IOUSBGetEndpointNumber(descriptor unsafe.Pointer) uint8
- func IOUSBGetEndpointSynchronizationType(descriptor unsafe.Pointer) uint8
- func IOUSBGetEndpointType(descriptor unsafe.Pointer) uint8
- func IOUSBGetEndpointUsageType(descriptor unsafe.Pointer) uint8
- func IOUSBGetNextAssociatedDescriptor(configurationDescriptor unsafe.Pointer, parentDescriptor unsafe.Pointer, ...) unsafe.Pointer
- func IOUSBGetNextAssociatedDescriptorWithType(configurationDescriptor unsafe.Pointer, parentDescriptor unsafe.Pointer, ...) unsafe.Pointer
- func IOUSBGetNextCapabilityDescriptor(bosDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer) unsafe.Pointer
- func IOUSBGetNextCapabilityDescriptorWithType(bosDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer, type_ uint8) unsafe.Pointer
- func IOUSBGetNextDescriptor(configurationDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer) unsafe.Pointer
- func IOUSBGetNextDescriptorWithType(configurationDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer, ...) unsafe.Pointer
- func IOUSBGetNextEndpointDescriptor(configurationDescriptor unsafe.Pointer, interfaceDescriptor unsafe.Pointer, ...) unsafe.Pointer
- func IOUSBGetNextInterfaceAssociationDescriptor(configurationDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer) unsafe.Pointer
- func IOUSBGetNextInterfaceDescriptor(configurationDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer) unsafe.Pointer
- func IOUSBGetPlatformCapabilityDescriptor(bosDescriptor unsafe.Pointer) unsafe.Pointer
- func IOUSBGetPlatformCapabilityDescriptorWithUUID(bosDescriptor unsafe.Pointer, uuid *uint8) unsafe.Pointer
- func IOUSBGetSuperSpeedDeviceCapabilityDescriptor(bosDescriptor unsafe.Pointer) unsafe.Pointer
- func IOUSBGetSuperSpeedPlusDeviceCapabilityDescriptor(bosDescriptor unsafe.Pointer) unsafe.Pointer
- func IOUSBGetUSB20ExtensionDeviceCapabilityDescriptor(bosDescriptor unsafe.Pointer) unsafe.Pointer
- func IOUSBHostCIControllerStateToString(controllerState IOUSBHostCIControllerState) string
- func IOUSBHostCIDeviceSpeedToString(speed IOUSBHostCIDeviceSpeed) string
- func IOUSBHostCIDeviceStateToString(deviceState IOUSBHostCIDeviceState) string
- func IOUSBHostCIEndpointStateToString(endpointState IOUSBHostCIEndpointState) string
- func IOUSBHostCIExceptionTypeToString(exceptionType IOUSBHostCIExceptionType) string
- func IOUSBHostCILinkStateEnabled(linkState IOUSBHostCILinkState) bool
- func IOUSBHostCILinkStateToString(linkState IOUSBHostCILinkState) string
- func IOUSBHostCIMessageStatusToIOReturn(status IOUSBHostCIMessageStatus) int
- func IOUSBHostCIMessageStatusToString(status IOUSBHostCIMessageStatus) string
- func IOUSBHostCIMessageTypeToString(type_ IOUSBHostCIMessageType) string
- func IOUSBHostCIPortStateToString(portState IOUSBHostCIPortState) string
- func IOUSBHostDefaultControlCompletionTimeout() float64
- func IOUSBHostDeviceCreateMatchingDictionaryWithVendorIDProductIDBcdDeviceDeviceClassDeviceSubclassDeviceProtocolSpeedProductIDArray(vendorID *foundation.NSNumber, productID *foundation.NSNumber, ...) unsafe.Pointer
- func IOUSBHostDevicePropertyKeyContainerID() *foundation.NSString
- func IOUSBHostDevicePropertyKeyCurrentConfiguration() *foundation.NSString
- func IOUSBHostDevicePropertyKeySerialNumberString() *foundation.NSString
- func IOUSBHostDevicePropertyKeyVendorString() *foundation.NSString
- func IOUSBHostDeviceRequestType(direction unsafe.Pointer, type_ unsafe.Pointer, recipient unsafe.Pointer) uint8
- func IOUSBHostErrorDomain() *foundation.NSString
- func IOUSBHostInterfaceCreateMatchingDictionaryWithVendorIDProductIDBcdDeviceInterfaceNumberConfigurationValueInterfaceClassInterfaceSubclassInterfaceProtocolSpeedProductIDArray(vendorID *foundation.NSNumber, productID *foundation.NSNumber, ...) unsafe.Pointer
- func IOUSBHostInterfacePropertyKeyAlternateSetting() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyConfigurationValue() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyDeviceClass() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyDeviceProtocol() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyDeviceReleaseNumber() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyDeviceSubClass() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyInterfaceClass() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyInterfaceNumber() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyInterfaceProtocol() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyInterfaceSubClass() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyProductID() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyProductIDArray() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyProductIDMask() *foundation.NSString
- func IOUSBHostMatchingPropertyKeySpeed() *foundation.NSString
- func IOUSBHostMatchingPropertyKeyVendorID() *foundation.NSString
- func IOUSBHostPropertyKeyLocationID() *foundation.NSString
- func IOUSBHostVersionNumber() float64
- func IOUSBHostVersionString() []unsafe.Pointer
- func SymbolAvailable(symbol string) bool
- type Acl_entry_id_t
- type Acl_flag_t
- type Acl_perm_t
- type Acl_tag_t
- type Acl_type_t
- type Clockid_t
- type Dispatch_autorelease_frequency_t
- type Dispatch_block_flags_t
- type Filesec_property_t
- type IOUSBHostAbortOption
- type IOUSBHostCIControllerState
- type IOUSBHostCIControllerStateMachine
- func (o *IOUSBHostCIControllerStateMachine) ControllerInterface() *IOUSBHostControllerInterface
- func (o *IOUSBHostCIControllerStateMachine) ControllerState() IOUSBHostCIControllerState
- func (o *IOUSBHostCIControllerStateMachine) EnqueueUpdatedFrameTimestampError(frame uint64, timestamp uint64) (bool, error)
- func (o *IOUSBHostCIControllerStateMachine) InitWithInterfaceError(interface_ *IOUSBHostControllerInterface) (*IOUSBHostCIControllerStateMachine, error)
- func (o *IOUSBHostCIControllerStateMachine) InspectCommandError(command *IOUSBHostCIMessage) (bool, error)
- func (o *IOUSBHostCIControllerStateMachine) RespondToCommandStatusError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus) (bool, error)
- func (o *IOUSBHostCIControllerStateMachine) RespondToCommandStatusFrameTimestampError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus, frame uint64, ...) (bool, error)
- type IOUSBHostCIDeviceSpeed
- type IOUSBHostCIDeviceState
- type IOUSBHostCIDeviceStateMachine
- func (o *IOUSBHostCIDeviceStateMachine) CompleteRoute() uint
- func (o *IOUSBHostCIDeviceStateMachine) ControllerInterface() *IOUSBHostControllerInterface
- func (o *IOUSBHostCIDeviceStateMachine) DeviceAddress() uint
- func (o *IOUSBHostCIDeviceStateMachine) DeviceState() IOUSBHostCIDeviceState
- func (o *IOUSBHostCIDeviceStateMachine) InitWithInterfaceCommandError(interface_ *IOUSBHostControllerInterface, command *IOUSBHostCIMessage) (*IOUSBHostCIDeviceStateMachine, error)
- func (o *IOUSBHostCIDeviceStateMachine) InspectCommandError(command *IOUSBHostCIMessage) (bool, error)
- func (o *IOUSBHostCIDeviceStateMachine) RespondToCommandStatusDeviceAddressError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus, ...) (bool, error)
- func (o *IOUSBHostCIDeviceStateMachine) RespondToCommandStatusError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus) (bool, error)
- type IOUSBHostCIEndpointState
- type IOUSBHostCIEndpointStateMachine
- func (o *IOUSBHostCIEndpointStateMachine) ControllerInterface() *IOUSBHostControllerInterface
- func (o *IOUSBHostCIEndpointStateMachine) CurrentTransferMessage() *IOUSBHostCIMessage
- func (o *IOUSBHostCIEndpointStateMachine) DeviceAddress() uint
- func (o *IOUSBHostCIEndpointStateMachine) EndpointAddress() uint
- func (o *IOUSBHostCIEndpointStateMachine) EndpointState() IOUSBHostCIEndpointState
- func (o *IOUSBHostCIEndpointStateMachine) EnqueueTransferCompletionForMessageStatusTransferLengthError(message *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus, ...) (bool, error)
- func (o *IOUSBHostCIEndpointStateMachine) InitWithInterfaceCommandError(interface_ *IOUSBHostControllerInterface, command *IOUSBHostCIMessage) (*IOUSBHostCIEndpointStateMachine, error)
- func (o *IOUSBHostCIEndpointStateMachine) InspectCommandError(command *IOUSBHostCIMessage) (bool, error)
- func (o *IOUSBHostCIEndpointStateMachine) ProcessDoorbellError(doorbell uint32) (bool, error)
- func (o *IOUSBHostCIEndpointStateMachine) RespondToCommandStatusError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus) (bool, error)
- type IOUSBHostCIExceptionType
- type IOUSBHostCILinkState
- type IOUSBHostCIMessage
- type IOUSBHostCIMessageStatus
- type IOUSBHostCIMessageType
- type IOUSBHostCIPortState
- type IOUSBHostCIPortStateMachine
- func (o *IOUSBHostCIPortStateMachine) Connected() bool
- func (o *IOUSBHostCIPortStateMachine) ControllerInterface() *IOUSBHostControllerInterface
- func (o *IOUSBHostCIPortStateMachine) InitWithInterfacePortNumberError(interface_ *IOUSBHostControllerInterface, portNumber uint) (*IOUSBHostCIPortStateMachine, error)
- func (o *IOUSBHostCIPortStateMachine) InspectCommandError(command *IOUSBHostCIMessage) (bool, error)
- func (o *IOUSBHostCIPortStateMachine) LinkState() IOUSBHostCILinkState
- func (o *IOUSBHostCIPortStateMachine) Overcurrent() bool
- func (o *IOUSBHostCIPortStateMachine) PortNumber() uint
- func (o *IOUSBHostCIPortStateMachine) PortState() IOUSBHostCIPortState
- func (o *IOUSBHostCIPortStateMachine) PortStatus() uint32
- func (o *IOUSBHostCIPortStateMachine) Powered() bool
- func (o *IOUSBHostCIPortStateMachine) RespondToCommandStatusError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus) (bool, error)
- func (o *IOUSBHostCIPortStateMachine) SetConnected(connected bool)
- func (o *IOUSBHostCIPortStateMachine) SetOvercurrent(overcurrent bool)
- func (o *IOUSBHostCIPortStateMachine) SetPowered(powered bool)
- func (o *IOUSBHostCIPortStateMachine) Speed() IOUSBHostCIDeviceSpeed
- func (o *IOUSBHostCIPortStateMachine) UpdateLinkStateSpeedInhibitLinkStateChangeError(linkState IOUSBHostCILinkState, speed IOUSBHostCIDeviceSpeed, ...) (bool, error)
- type IOUSBHostCIUserClientVersion
- type IOUSBHostControllerInterface
- func (o *IOUSBHostControllerInterface) Capabilities() *IOUSBHostCIMessage
- func (o *IOUSBHostControllerInterface) CapabilitiesForPort(port uint) *IOUSBHostCIMessage
- func (o *IOUSBHostControllerInterface) ControllerStateMachine() *IOUSBHostCIControllerStateMachine
- func (o *IOUSBHostControllerInterface) DescriptionForMessage(message *IOUSBHostCIMessage) *foundation.NSString
- func (o *IOUSBHostControllerInterface) Destroy()
- func (o *IOUSBHostControllerInterface) EnqueueInterruptError(interrupt *IOUSBHostCIMessage) (bool, error)
- func (o *IOUSBHostControllerInterface) EnqueueInterruptExpediteError(interrupt *IOUSBHostCIMessage, expedite bool) (bool, error)
- func (o *IOUSBHostControllerInterface) EnqueueInterruptsCountError(interrupts *IOUSBHostCIMessage, count uint) (bool, error)
- func (o *IOUSBHostControllerInterface) EnqueueInterruptsCountExpediteError(interrupts *IOUSBHostCIMessage, count uint, expedite bool) (bool, error)
- func (o *IOUSBHostControllerInterface) GetPortStateMachineForCommandError(command *IOUSBHostCIMessage) (*IOUSBHostCIPortStateMachine, error)
- func (o *IOUSBHostControllerInterface) GetPortStateMachineForPortError(port uint) (*IOUSBHostCIPortStateMachine, error)
- func (o *IOUSBHostControllerInterface) InitWithCapabilitiesQueueInterruptRateHzErrorCommandHandlerDoorbellHandlerInterestHandler(capabilities *foundation.NSData, queue *foundation.NSObject, ...) *IOUSBHostControllerInterface
- func (o *IOUSBHostControllerInterface) InterruptRateHz() uint
- func (o *IOUSBHostControllerInterface) Queue() *foundation.NSObject
- func (o *IOUSBHostControllerInterface) SetInterruptRateHz(interruptRateHz uint)
- func (o *IOUSBHostControllerInterface) Uuid() *foundation.NSUUID
- type IOUSBHostDevice
- func (o *IOUSBHostDevice) ConfigurationDescriptor() unsafe.Pointer
- func (o *IOUSBHostDevice) ConfigureWithValueError(value uint) (bool, error)
- func (o *IOUSBHostDevice) ConfigureWithValueMatchInterfacesError(value uint, matchInterfaces bool) (bool, error)
- func (o *IOUSBHostDevice) ResetWithError() (bool, error)
- type IOUSBHostIOSource
- type IOUSBHostIOSourceDescriptors
- type IOUSBHostInterface
- func (o *IOUSBHostInterface) ConfigurationDescriptor() unsafe.Pointer
- func (o *IOUSBHostInterface) CopyPipeWithAddressError(address uint) (*IOUSBHostPipe, error)
- func (o *IOUSBHostInterface) IdleTimeout() float64
- func (o *IOUSBHostInterface) InitWithIOServiceOptionsQueueErrorInterestHandler(ioService uint, options IOUSBHostObjectInitOptions, queue *foundation.NSObject, ...) *IOUSBHostInterface
- func (o *IOUSBHostInterface) InterfaceDescriptor() unsafe.Pointer
- func (o *IOUSBHostInterface) SelectAlternateSettingError(alternateSetting uint) (bool, error)
- func (o *IOUSBHostInterface) SetIdleTimeoutError(idleTimeout float64) (bool, error)
- type IOUSBHostIsochronousFrame
- type IOUSBHostIsochronousTransaction
- type IOUSBHostIsochronousTransactionOptions
- type IOUSBHostIsochronousTransferOptions
- type IOUSBHostObject
- func (o *IOUSBHostObject) AbortDeviceRequestsWithError() (bool, error)
- func (o *IOUSBHostObject) AbortDeviceRequestsWithOptionError(option IOUSBHostAbortOption) (bool, error)
- func (o *IOUSBHostObject) CapabilityDescriptors() unsafe.Pointer
- func (o *IOUSBHostObject) ConfigurationDescriptorWithConfigurationValueError(configurationValue uint) (unsafe.Pointer, error)
- func (o *IOUSBHostObject) ConfigurationDescriptorWithIndexError(index uint) (unsafe.Pointer, error)
- func (o *IOUSBHostObject) CurrentMicroframeWithTimeError(time_ *uint64) (uint64, error)
- func (o *IOUSBHostObject) DescriptorWithTypeLengthError(type_ unsafe.Pointer, length *uint) (unsafe.Pointer, error)
- func (o *IOUSBHostObject) DescriptorWithTypeLengthIndexLanguageIDError(type_ unsafe.Pointer, length *uint, index uint, languageID uint) (unsafe.Pointer, error)
- func (o *IOUSBHostObject) DescriptorWithTypeLengthIndexLanguageIDRequestTypeRequestRecipientError(type_ unsafe.Pointer, length *uint, index uint, languageID uint, ...) (unsafe.Pointer, error)
- func (o *IOUSBHostObject) Destroy()
- func (o *IOUSBHostObject) DestroyWithOptions(options IOUSBHostObjectDestroyOptions)
- func (o *IOUSBHostObject) DeviceAddress() uint
- func (o *IOUSBHostObject) DeviceDescriptor() unsafe.Pointer
- func (o *IOUSBHostObject) EnqueueDeviceRequestDataCompletionTimeoutErrorCompletionHandler(request unsafe.Pointer, data *foundation.NSMutableData, ...) bool
- func (o *IOUSBHostObject) EnqueueDeviceRequestDataErrorCompletionHandler(request unsafe.Pointer, data *foundation.NSMutableData, error_ unsafe.Pointer, ...) bool
- func (o *IOUSBHostObject) EnqueueDeviceRequestErrorCompletionHandler(request unsafe.Pointer, error_ unsafe.Pointer, ...) bool
- func (o *IOUSBHostObject) FrameNumberWithTime(time_ *uint64) uint64
- func (o *IOUSBHostObject) InitWithIOServiceOptionsQueueErrorInterestHandler(ioService uint, options IOUSBHostObjectInitOptions, queue *foundation.NSObject, ...) *IOUSBHostObject
- func (o *IOUSBHostObject) InitWithIOServiceQueueErrorInterestHandler(ioService uint, queue *foundation.NSObject, error_ unsafe.Pointer, ...) *IOUSBHostObject
- func (o *IOUSBHostObject) IoDataWithCapacityError(capacity uint) (*foundation.NSMutableData, error)
- func (o *IOUSBHostObject) IoService() uint
- func (o *IOUSBHostObject) Queue() *foundation.NSObject
- func (o *IOUSBHostObject) ReferenceMicroframeWithTimeError(time_ *uint64) (uint64, error)
- func (o *IOUSBHostObject) SendDeviceRequestDataBytesTransferredCompletionTimeoutError(request unsafe.Pointer, data *foundation.NSMutableData, bytesTransferred *uint, ...) (bool, error)
- func (o *IOUSBHostObject) SendDeviceRequestDataBytesTransferredError(request unsafe.Pointer, data *foundation.NSMutableData, bytesTransferred *uint) (bool, error)
- func (o *IOUSBHostObject) SendDeviceRequestError(request unsafe.Pointer) (bool, error)
- func (o *IOUSBHostObject) StringWithIndexError(index uint) (*foundation.NSString, error)
- func (o *IOUSBHostObject) StringWithIndexLanguageIDError(index uint, languageID uint) (*foundation.NSString, error)
- type IOUSBHostObjectDestroyOptions
- type IOUSBHostObjectInitOptions
- type IOUSBHostPipe
- func (o *IOUSBHostPipe) AbortWithError() (bool, error)
- func (o *IOUSBHostPipe) AbortWithOptionError(option IOUSBHostAbortOption) (bool, error)
- func (o *IOUSBHostPipe) AdjustPipeWithDescriptorsError(descriptors *IOUSBHostIOSourceDescriptors) (bool, error)
- func (o *IOUSBHostPipe) ClearStallWithError() (bool, error)
- func (o *IOUSBHostPipe) CopyStreamWithStreamIDError(streamID uint) (*IOUSBHostStream, error)
- func (o *IOUSBHostPipe) Descriptors() *IOUSBHostIOSourceDescriptors
- func (o *IOUSBHostPipe) DisableStreamsWithError() (bool, error)
- func (o *IOUSBHostPipe) EnableStreamsWithError() (bool, error)
- func (o *IOUSBHostPipe) EnqueueControlRequestDataCompletionTimeoutErrorCompletionHandler(request unsafe.Pointer, data *foundation.NSMutableData, ...) bool
- func (o *IOUSBHostPipe) EnqueueControlRequestDataErrorCompletionHandler(request unsafe.Pointer, data *foundation.NSMutableData, error_ unsafe.Pointer, ...) bool
- func (o *IOUSBHostPipe) EnqueueControlRequestErrorCompletionHandler(request unsafe.Pointer, error_ unsafe.Pointer, ...) bool
- func (o *IOUSBHostPipe) EnqueueIORequestWithDataCompletionTimeoutErrorCompletionHandler(data *foundation.NSMutableData, completionTimeout float64, ...) bool
- func (o *IOUSBHostPipe) EnqueueIORequestWithDataFrameListFrameListCountFirstFrameNumberErrorCompletionHandler(data *foundation.NSMutableData, frameList *IOUSBHostIsochronousFrame, ...) bool
- func (o *IOUSBHostPipe) EnqueueIORequestWithDataTransactionListTransactionListCountFirstFrameNumberOptionsErrorCompletionHandler(data *foundation.NSMutableData, ...) bool
- func (o *IOUSBHostPipe) IdleTimeout() float64
- func (o *IOUSBHostPipe) OriginalDescriptors() *IOUSBHostIOSourceDescriptors
- func (o *IOUSBHostPipe) SendControlRequestDataBytesTransferredCompletionTimeoutError(request unsafe.Pointer, data *foundation.NSMutableData, bytesTransferred *uint, ...) (bool, error)
- func (o *IOUSBHostPipe) SendControlRequestDataBytesTransferredError(request unsafe.Pointer, data *foundation.NSMutableData, bytesTransferred *uint) (bool, error)
- func (o *IOUSBHostPipe) SendControlRequestError(request unsafe.Pointer) (bool, error)
- func (o *IOUSBHostPipe) SendIORequestWithDataBytesTransferredCompletionTimeoutError(data *foundation.NSMutableData, bytesTransferred *uint, ...) (bool, error)
- func (o *IOUSBHostPipe) SendIORequestWithDataFrameListFrameListCountFirstFrameNumberError(data *foundation.NSMutableData, frameList *IOUSBHostIsochronousFrame, ...) (bool, error)
- func (o *IOUSBHostPipe) SendIORequestWithDataTransactionListTransactionListCountFirstFrameNumberOptionsError(data *foundation.NSMutableData, ...) (bool, error)
- func (o *IOUSBHostPipe) SetIdleTimeoutError(idleTimeout float64) (bool, error)
- type IOUSBHostStream
- func (o *IOUSBHostStream) AbortWithError() (bool, error)
- func (o *IOUSBHostStream) AbortWithOptionError(option IOUSBHostAbortOption) (bool, error)
- func (o *IOUSBHostStream) EnqueueIORequestWithDataErrorCompletionHandler(data *foundation.NSMutableData, error_ unsafe.Pointer, ...) bool
- func (o *IOUSBHostStream) HostPipe() *IOUSBHostPipe
- func (o *IOUSBHostStream) SendIORequestWithDataBytesTransferredError(data *foundation.NSMutableData, bytesTransferred *uint) (bool, error)
- func (o *IOUSBHostStream) StreamID() uint
- type Idtype_t
- type Ipc_info_object_type_t
- type Launch_data_type_t
- type MDLabelDomain
- type MDQueryOptionFlags
- type MDQuerySortOptionFlags
- type Mach_vm_range_flags_t
- type Mach_vm_range_flavor_t
- type Mach_vm_range_tag_t
- type Mpo_flags_t
- type Os_clockid_t
- type Ptrauth_key
- type Qos_class_t
- type Virtual_memory_guard_exception_code_t
- type Xpc_listener_create_flags_t
- type Xpc_session_create_flags_t
Constants ¶
const ( IOUSBHostCICapabilitiesMessageControlPortCount = 983040 IOUSBHostCICapabilitiesMessageControlPortCountPhase = 16 IOUSBHostCICapabilitiesMessageData0CommandTimeoutThreshold = 3 IOUSBHostCICapabilitiesMessageData0CommandTimeoutThresholdPhase = 0 IOUSBHostCICapabilitiesMessageData0ConnectionLatency = 240 IOUSBHostCICapabilitiesMessageData0ConnectionLatencyPhase = 4 )
const ( IOUSBHostCICommandMessageControlStatus = 3840 IOUSBHostCICommandMessageControlStatusPhase = 8 IOUSBHostCICommandMessageData0DeviceAddress = 255 IOUSBHostCICommandMessageData0DeviceAddressPhase = 0 IOUSBHostCICommandMessageData0EndpointAddress = 65280 IOUSBHostCICommandMessageData0EndpointAddressPhase = 8 IOUSBHostCICommandMessageData0RootPort = 15 IOUSBHostCICommandMessageData0RootPortPhase = 0 IOUSBHostCICommandMessageData0StreamID = 4294901760 IOUSBHostCICommandMessageData0StreamIDPhase = 16 )
const ( IOUSBHostCIDeviceCreateCommandData0RootPort = 15 IOUSBHostCIDeviceCreateCommandData0RootPortPhase = 0 IOUSBHostCIDeviceCreateCommandData0Route = 16777200 IOUSBHostCIDeviceCreateCommandData0RoutePhase = 4 )
const ( IOUSBHostCIDeviceCreateCommandData1DeviceAddress = 255 IOUSBHostCIDeviceCreateCommandData1DeviceAddressPhase = 0 )
const ( IOUSBHostCIDeviceUpdateCommandData1DescriptorAddress = 18446744073709551615 IOUSBHostCIDeviceUpdateCommandData1DescriptorAddressPhase = 0 )
const ( IOUSBHostCIDoorbellDeviceAddress = 255 IOUSBHostCIDoorbellDeviceAddressPhase = 0 IOUSBHostCIDoorbellEndpointAddress = 65280 IOUSBHostCIDoorbellEndpointAddressPhase = 8 IOUSBHostCIDoorbellStreamID = 4294901760 IOUSBHostCIDoorbellStreamIDPhase = 16 )
const ( IOUSBHostCIEndpointCreateCommandData1Descriptor = 18446744073709551615 IOUSBHostCIEndpointCreateCommandData1DescriptorPhase = 0 )
const ( IOUSBHostCIEndpointSetNextTransferCommandData1Address = 18446744073709551615 IOUSBHostCIEndpointSetNextTransferCommandData1AddressPhase = 0 )
const ( IOUSBHostCIEndpointUpdateCommandData1Descriptor = 18446744073709551615 IOUSBHostCIEndpointUpdateCommandData1DescriptorPhase = 0 )
const ( IOUSBHostCIIsochronousTransferControlASAP = 16777216 IOUSBHostCIIsochronousTransferControlFrameNumber = 16711680 IOUSBHostCIIsochronousTransferControlFrameNumberPhase = 16 )
const ( IOUSBHostCIIsochronousTransferData0Length = 268435455 IOUSBHostCIIsochronousTransferData0LengthPhase = 0 )
const ( IOUSBHostCIIsochronousTransferData1Buffer = 18446744073709551615 IOUSBHostCIIsochronousTransferData1BufferPhase = 0 )
const ( IOUSBHostCILinkData1TransferStructureAddress = 18446744073709551615 IOUSBHostCILinkData1TransferStructureAddressPhase = 0 )
const ( IOUSBHostCIMessageControlNoResponse = 16384 IOUSBHostCIMessageControlStatus = 3840 IOUSBHostCIMessageControlStatusPhase = 8 IOUSBHostCIMessageControlType = 63 IOUSBHostCIMessageControlTypePhase = 0 IOUSBHostCIMessageControlValid = 32768 )
const ( IOUSBHostCINormalTransferData0Length = 268435455 IOUSBHostCINormalTransferData0LengthPhase = 0 )
const ( IOUSBHostCINormalTransferData1Buffer = 18446744073709551615 IOUSBHostCINormalTransferData1BufferPhase = 0 )
const ( IOUSBHostCIPortCapabilitiesMessageControlConnectorType = 4278190080 IOUSBHostCIPortCapabilitiesMessageControlConnectorTypePhase = 24 IOUSBHostCIPortCapabilitiesMessageControlInternalConnector = 8388608 IOUSBHostCIPortCapabilitiesMessageControlPortNumber = 983040 IOUSBHostCIPortCapabilitiesMessageControlPortNumberPhase = 16 IOUSBHostCIPortCapabilitiesMessageData0MaxPower = 255 IOUSBHostCIPortCapabilitiesMessageData0MaxPowerPhase = 0 )
const ( IOUSBHostCIPortEventMessageData0PortNumber = 15 IOUSBHostCIPortEventMessageData0PortNumberPhase = 0 )
const ( IOUSBHostCIPortStatusCommandData1ChangeMask = 1441792 IOUSBHostCIPortStatusCommandData1ConnectChange = 262144 IOUSBHostCIPortStatusCommandData1Connected = 4 IOUSBHostCIPortStatusCommandData1LinkState = 240 IOUSBHostCIPortStatusCommandData1LinkStateChange = 1048576 IOUSBHostCIPortStatusCommandData1LinkStatePhase = 4 IOUSBHostCIPortStatusCommandData1Overcurrent = 2 IOUSBHostCIPortStatusCommandData1OvercurrentChange = 131072 IOUSBHostCIPortStatusCommandData1Powered = 1 IOUSBHostCIPortStatusCommandData1Speed = 1792 IOUSBHostCIPortStatusCommandData1SpeedPhase = 8 )
const ( IOUSBHostCIPortStatusChangeMask = 1441792 IOUSBHostCIPortStatusConnectChange = 262144 IOUSBHostCIPortStatusConnected = 4 IOUSBHostCIPortStatusLinkState = 240 IOUSBHostCIPortStatusLinkStateChange = 1048576 IOUSBHostCIPortStatusLinkStatePhase = 4 IOUSBHostCIPortStatusOvercurrent = 2 IOUSBHostCIPortStatusOvercurrentChange = 131072 IOUSBHostCIPortStatusPowered = 1 IOUSBHostCIPortStatusSpeed = 1792 IOUSBHostCIPortStatusSpeedPhase = 8 )
const ( IOUSBHostCISetupTransferData1bRequest = 65280 IOUSBHostCISetupTransferData1bRequestPhase = 8 IOUSBHostCISetupTransferData1bmRequestType = 255 IOUSBHostCISetupTransferData1bmRequestTypePhase = 0 IOUSBHostCISetupTransferData1wIndex = 281470681743360 IOUSBHostCISetupTransferData1wIndexPhase = 32 IOUSBHostCISetupTransferData1wLength = 18446462598732840960 IOUSBHostCISetupTransferData1wLengthPhase = 48 IOUSBHostCISetupTransferData1wValue = 4294901760 IOUSBHostCISetupTransferData1wValuePhase = 16 )
const ( IOUSBHostCITransferCompletionMessageControlDeviceAddress = 16711680 IOUSBHostCITransferCompletionMessageControlDeviceAddressPhase = 16 IOUSBHostCITransferCompletionMessageControlEndpointAddress = 4278190080 IOUSBHostCITransferCompletionMessageControlEndpointAddressPhase = 24 IOUSBHostCITransferCompletionMessageControlStatus = 3840 IOUSBHostCITransferCompletionMessageControlStatusPhase = 8 )
const ( IOUSBHostCITransferCompletionMessageData0TransferLength = 268435455 IOUSBHostCITransferCompletionMessageData0TransferLengthPhase = 0 )
const ( IOUSBHostCITransferCompletionMessageData1TransferStructure = 18446744073709551615 IOUSBHostCITransferCompletionMessageData1TransferStructurePhase = 0 )
const (
IOUSBHostCIEndpointResetCommandData1ClearState = 1
)
Variables ¶
This section is empty.
Functions ¶
func IOUSBGetBillboardDescriptor ¶
@brief Find the first BillboardCapabilityDescriptor in a BOS descriptor @discussion This method uses getNextCapabilityDescriptorWithType to fetch the first BillboardCapabilityDescriptor @param bosDescriptor BOS descriptor that contains the descriptors to iterate through @return BillboardCapabilityDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetConfigurationMaxPowerMilliAmps ¶
func IOUSBGetConfigurationMaxPowerMilliAmps(usbDeviceSpeed uint32, descriptor unsafe.Pointer) uint32
@brief Extract the maximum bus current required by a configuration descriptor @discussion This method parses a configuration descriptor and returns the number of milliamps required to power the device @param usbDeviceSpeed The operational speed of the device @param descriptor The ConfigurationDescriptor to parse @return uint32_t milliamps required
func IOUSBGetContainerIDDescriptor ¶
@brief Find the first ContainerIDCapabilityDescriptor in a BOS descriptor @discussion This method uses getNextCapabilityDescriptorWithType to fetch the first ContainerIDCapabilityDescriptor @param bosDescriptor BOS descriptor that contains the descriptors to iterate through @return ContainerIDCapabilityDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetEndpointAddress ¶
@brief Extract the direction and number of an endpoint from an endpoint descriptor @discussion This method parses an endpoint descriptor to determine its address @param descriptor The descriptor to parse @return uint8_t representing direction and endpoint number
func IOUSBGetEndpointBurstSize ¶
func IOUSBGetEndpointBurstSize(usbDeviceSpeed uint32, descriptor unsafe.Pointer, companionDescriptor unsafe.Pointer, sspCompanionDescriptor unsafe.Pointer) uint32
@brief Extract the burst size from endpoint descriptors @discussion This method parses endpoint descriptors to determine burst size, which includes mult and burst factors as applicable. SuperSpeed Plus isochronous endpoints will return the dwBytesPerInterval field from the SuperSpeedPlusIsochronousEndpointCompanionDescriptor parameter. @param usbDeviceSpeed The operational speed of the device @param descriptor The EndpointDescriptor to parse @param companionDescriptor The SuperSpeedEndpointCompanionDescriptor to parse, or NULL @param sspCompanionDescriptor The SuperSpeedPlusIsochronousEndpointCompanionDescriptor to parse, or NULL @return uint32_t The burst size in bytes
func IOUSBGetEndpointDirection ¶
@brief Extract the direction of an endpoint from an endpoint descriptor @discussion This method parses an endpoint descriptor to determine its transfer direction @param descriptor The descriptor to parse @return tEndpointDirection indicating the direction found. Control endpoints return tEndpointDirection.
func IOUSBGetEndpointIntervalEncodedMicroframes ¶
func IOUSBGetEndpointIntervalEncodedMicroframes(usbDeviceSpeed uint32, descriptor unsafe.Pointer) uint32
@brief Extract the interval of an endpoint descriptor @discussion This method parses an endpoint descriptor and returns the service interval as n in (2^(n-1)) microframes @param usbDeviceSpeed The operational speed of the device @param descriptor The EndpointDescriptor to parse @return uint32_t Encoded endpoint interval
func IOUSBGetEndpointIntervalFrames ¶
@brief Extract the interval of an endpoint descriptor @discussion This method parses an endpoint descriptor and returns the service interval in frames @param usbDeviceSpeed The operational speed of the device @param descriptor The EndpointDescriptor to parse @return uint32_t Endpoint interval in frames
func IOUSBGetEndpointIntervalMicroframes ¶
@brief Extract the interval of an endpoint descriptor @discussion This method parses an endpoint descriptor and returns the service interval in microframes @param usbDeviceSpeed The operational speed of the device @param descriptor The EndpointDescriptor to parse @return uint32_t Endpoint interval in microframes
func IOUSBGetEndpointMaxPacketSize ¶
@brief Extract the max packet size from an endpoint descriptor @discussion This method parses an endpoint descriptor to determine its max packet size, which does not take into account mult or burst factors. @param usbDeviceSpeed The operational speed of the device @param descriptor The descriptor to parse @return uint16_t The max packet size in bytes
func IOUSBGetEndpointMaxStreams ¶
func IOUSBGetEndpointMaxStreams(usbDeviceSpeed uint32, descriptor unsafe.Pointer, companionDescriptor unsafe.Pointer) uint32
@brief Extract the number of streams supported by an endpoint @discussion This method parses endpoint descriptors and returns the number of streams supported @param usbDeviceSpeed The operational speed of the device @param descriptor The EndpointDescriptor to parse @param companionDescriptor The SuperSpeedEndpointCompanionDescriptor to parse @return uint32_t Number of streams
func IOUSBGetEndpointMaxStreamsEncoded ¶
func IOUSBGetEndpointMaxStreamsEncoded(usbDeviceSpeed uint32, descriptor unsafe.Pointer, companionDescriptor unsafe.Pointer) uint32
@brief Extract the number of streams supported by an endpoint @discussion This method parses endpoint descriptors and returns the number of streams supported as n in (2^n) @param usbDeviceSpeed The operational speed of the device @param descriptor The EndpointDescriptor to parse @param companionDescriptor The SuperSpeedEndpointCompanionDescriptor to parse @return uint32_t Encoded number of streams
func IOUSBGetEndpointMult ¶
func IOUSBGetEndpointMult(usbDeviceSpeed uint32, descriptor unsafe.Pointer, companionDescriptor unsafe.Pointer, sspCompanionDescriptor unsafe.Pointer) uint8
@brief Extract the mult count from endpoint descriptors @discussion This method parses endpoint descriptors to determine mult @param usbDeviceSpeed The operational speed of the device @param descriptor The EndpointDescriptor to parse @param companionDescriptor The SuperSpeedEndpointCompanionDescriptor to parse, or NULL @param sspCompanionDescriptor The SuperSpeedPlusIsochronousEndpointCompanionDescriptor to parse, or NULL @return uint8_t The mult count
func IOUSBGetEndpointNumber ¶
@brief Extract the number of an endpoint from an endpoint descriptor @discussion This method parses an endpoint descriptor to determine its number, excluding direction @param descriptor The descriptor to parse @return uint8_t representing endpoint number
func IOUSBGetEndpointSynchronizationType ¶
@brief Extract the synchronization type of an endpoint from an endpoint descriptor @discussion This method parses an endpoint descriptor to determine its synchronization type. Only Isochronous endpoints have non-zero synchronization types @param descriptor The descriptor to parse @return tEndpointSynchronizationType indicating the type found.
func IOUSBGetEndpointType ¶
@brief Extract the type of an endpoint from an endpoint descriptor @discussion This method parses an endpoint descriptor to determine its type @param descriptor The descriptor to parse @return tEndpointType indicating the type found.
func IOUSBGetEndpointUsageType ¶
@brief Extract the usage type of an endpoint from an endpoint descriptor @discussion This method parses an endpoint descriptor to determine its usage type. Only periodic endpoints have usage types @param descriptor The descriptor to parse @return tEndpointUsageType indicating the type found.
func IOUSBGetNextAssociatedDescriptor ¶
func IOUSBGetNextAssociatedDescriptor(configurationDescriptor unsafe.Pointer, parentDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer) unsafe.Pointer
@brief Get the next descriptor in a configuration descriptor that belongs to another container descriptor @discussion This method uses getNextDescriptor, but will return NULL if another descriptor is found whose bDescriptorType field matches the value used for parentDescriptor's bDescriptorType. Using NULL for currentDescriptor will return the first descriptor after parentDescriptor. @param configurationDescriptor Configuration descriptor that contains the descriptors to iterate through @param parentDescriptor A descriptor pointer within the bounds of configurationDescriptor @param currentDescriptor A descriptor pointer within the bounds of configurationDescriptor, or NULL @return Descriptor pointer, or NULL if no descriptor can be returned
func IOUSBGetNextAssociatedDescriptorWithType ¶
func IOUSBGetNextAssociatedDescriptorWithType(configurationDescriptor unsafe.Pointer, parentDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer, type_ uint8) unsafe.Pointer
@brief Find the next descriptor matching a given type within a configuration descriptor that belongs to another container descriptor @discussion This method uses getNextAssociatedDescriptor, and further validates that the returned descriptor's bDescriptorType field matches the type passed parameter. @param configurationDescriptor Configuration descriptor that contains the descriptors to iterate through @param parentDescriptor A descriptor pointer within the bounds of configurationDescriptor @param currentDescriptor A descriptor pointer within the bounds of configurationDescriptor, or NULL @param type tDescriptorType representing the descriptor type to find @return Descriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetNextCapabilityDescriptor ¶
func IOUSBGetNextCapabilityDescriptor(bosDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer) unsafe.Pointer
@brief Get the next device capability descriptor in a BOS descriptor @discussion This method will advance currentDescriptor by its bLength, and validate that the new descriptor fits withing the bounds of bosDescriptor. Using NULL for currentDescriptor will return the first descriptor after the BOS descriptor. @param bosDescriptor BOS descriptor that contains the descriptors to iterate through @param currentDescriptor A descriptor pointer within the bounds of bosDescriptor, or NULL @return DeviceCapabilityDescriptor pointer, or NULL if no descriptor can be returned
func IOUSBGetNextCapabilityDescriptorWithType ¶
func IOUSBGetNextCapabilityDescriptorWithType(bosDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer, type_ uint8) unsafe.Pointer
@brief Find the next descriptor matching a given type within a BOS descriptor @discussion This method uses getNextCapabilityDescriptor, and further validates that the returned descriptor's bDevCapabilityType field matches the type parameter. @param bosDescriptor BOS descriptor that contains the descriptors to iterate through @param currentDescriptor A descriptor pointer within the bounds of bosDescriptor, or NULL @param type tDeviceCapabilityType representing the descriptor type to find @return DeviceCapabilityDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetNextDescriptor ¶
func IOUSBGetNextDescriptor(configurationDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer) unsafe.Pointer
@brief Get the next descriptor in a configuration descriptor @discussion This method will advance currentDescriptor by its bLength, and validate that the new descriptor fits withing the bounds of configurationDescriptor. Using NULL for currentDescriptor will return the first descriptor after the configuration descriptor. @param configurationDescriptor Configuration descriptor that contains the descriptors to iterate through @param currentDescriptor A descriptor pointer within the bounds of configurationDescriptor, or NULL @return Descriptor pointer, or NULL if no descriptor can be returned
func IOUSBGetNextDescriptorWithType ¶
func IOUSBGetNextDescriptorWithType(configurationDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer, type_ uint8) unsafe.Pointer
@brief Find the next descriptor matching a given type within a configuration descriptor @discussion This method uses getNextDescriptor, and further validates that the returned descriptor's bDescriptorType field matches the type parameter. @param configurationDescriptor Configuration descriptor that contains the descriptors to iterate through @param currentDescriptor A descriptor pointer within the bounds of configurationDescriptor, or NULL @param type tDescriptorType representing the descriptor type to find @return Descriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetNextEndpointDescriptor ¶
func IOUSBGetNextEndpointDescriptor(configurationDescriptor unsafe.Pointer, interfaceDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer) unsafe.Pointer
@brief Find the next endpoint descriptor associated with an interface descriptor @discussion This method uses getNextAssociatedDescriptorWithType to fetch the next endpoint descriptor associated with a specific interface descriptor @param configurationDescriptor Configuration descriptor that contains the descriptors to iterate through @param interfaceDescriptor An interface descriptor within the bounds of configurationDescriptor @param currentDescriptor A descriptor pointer within the bounds of configurationDescriptor, or NULL @return EndpointDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetNextInterfaceAssociationDescriptor ¶
func IOUSBGetNextInterfaceAssociationDescriptor(configurationDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer) unsafe.Pointer
@brief Find the next interface association descriptor in a configuration descriptor @discussion This method uses getNextDescriptorWithType to fetch the next interface association descriptor @param configurationDescriptor Configuration descriptor that contains the descriptors to iterate through @param currentDescriptor A descriptor pointer within the bounds of configurationDescriptor, or NULL @return InterfaceAssociationDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetNextInterfaceDescriptor ¶
func IOUSBGetNextInterfaceDescriptor(configurationDescriptor unsafe.Pointer, currentDescriptor unsafe.Pointer) unsafe.Pointer
@brief Find the next interface descriptor in a configuration descriptor @discussion This method uses getNextDescriptorWithType to fetch the next interface descriptor @param configurationDescriptor Configuration descriptor that contains the descriptors to iterate through @param currentDescriptor A descriptor pointer within the bounds of configurationDescriptor, or NULL @return InterfaceDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetPlatformCapabilityDescriptor ¶
@brief Find the first PlatformCapabilityDescriptor in a BOS descriptor @discussion This method uses getNextCapabilityDescriptorWithType to fetch the first PlatformCapabilityDescriptor @param bosDescriptor BOS descriptor that contains the descriptors to iterate through @return PlatformCapabilityDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetPlatformCapabilityDescriptorWithUUID ¶
func IOUSBGetPlatformCapabilityDescriptorWithUUID(bosDescriptor unsafe.Pointer, uuid *uint8) unsafe.Pointer
@brief Find the first PlatformCapabilityDescriptor in a BOS descriptor @discussion This method uses getNextCapabilityDescriptorWithType to fetch the first PlatformCapabilityDescriptor @param bosDescriptor BOS descriptor that contains the descriptors to iterate through @param uuid UUID associated with the platform capability @return PlatformCapabilityDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetSuperSpeedDeviceCapabilityDescriptor ¶
@brief Find the first SuperSpeedUSBDeviceCapabilityDescriptor in a BOS descriptor @discussion This method uses getNextCapabilityDescriptorWithType to fetch the first SuperSpeedUSBDeviceCapabilityDescriptor @param bosDescriptor BOS descriptor that contains the descriptors to iterate through @return SuperSpeedUSBDeviceCapabilityDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetSuperSpeedPlusDeviceCapabilityDescriptor ¶
@brief Find the first SuperSpeedPlusUSBDeviceCapabilityDescriptor in a BOS descriptor @discussion This method uses getNextCapabilityDescriptorWithType to fetch the first SuperSpeedPlusUSBDeviceCapabilityDescriptor @param bosDescriptor BOS descriptor that contains the descriptors to iterate through @return SuperSpeedPlusUSBDeviceCapabilityDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBGetUSB20ExtensionDeviceCapabilityDescriptor ¶
@brief Find the first USB20ExtensionCapabilityDescriptor in a BOS descriptor @discussion This method uses getNextCapabilityDescriptorWithType to fetch the first USB20ExtensionCapabilityDescriptor @param bosDescriptor BOS descriptor that contains the descriptors to iterate through @return USB20ExtensionCapabilityDescriptor pointer, or NULL if no matching descriptor can be found
func IOUSBHostCIControllerStateToString ¶
func IOUSBHostCIControllerStateToString(controllerState IOUSBHostCIControllerState) string
func IOUSBHostCIDeviceSpeedToString ¶
func IOUSBHostCIDeviceSpeedToString(speed IOUSBHostCIDeviceSpeed) string
func IOUSBHostCIDeviceStateToString ¶
func IOUSBHostCIDeviceStateToString(deviceState IOUSBHostCIDeviceState) string
func IOUSBHostCIEndpointStateToString ¶
func IOUSBHostCIEndpointStateToString(endpointState IOUSBHostCIEndpointState) string
func IOUSBHostCIExceptionTypeToString ¶
func IOUSBHostCIExceptionTypeToString(exceptionType IOUSBHostCIExceptionType) string
func IOUSBHostCILinkStateEnabled ¶
func IOUSBHostCILinkStateEnabled(linkState IOUSBHostCILinkState) bool
func IOUSBHostCILinkStateToString ¶
func IOUSBHostCILinkStateToString(linkState IOUSBHostCILinkState) string
func IOUSBHostCIMessageStatusToIOReturn ¶
func IOUSBHostCIMessageStatusToIOReturn(status IOUSBHostCIMessageStatus) int
func IOUSBHostCIMessageStatusToString ¶
func IOUSBHostCIMessageStatusToString(status IOUSBHostCIMessageStatus) string
func IOUSBHostCIMessageTypeToString ¶
func IOUSBHostCIMessageTypeToString(type_ IOUSBHostCIMessageType) string
func IOUSBHostCIPortStateToString ¶
func IOUSBHostCIPortStateToString(portState IOUSBHostCIPortState) string
func IOUSBHostDefaultControlCompletionTimeout ¶
func IOUSBHostDefaultControlCompletionTimeout() float64
func IOUSBHostDeviceCreateMatchingDictionaryWithVendorIDProductIDBcdDeviceDeviceClassDeviceSubclassDeviceProtocolSpeedProductIDArray ¶
func IOUSBHostDeviceCreateMatchingDictionaryWithVendorIDProductIDBcdDeviceDeviceClassDeviceSubclassDeviceProtocolSpeedProductIDArray(vendorID *foundation.NSNumber, productID *foundation.NSNumber, bcdDevice *foundation.NSNumber, deviceClass *foundation.NSNumber, deviceSubclass *foundation.NSNumber, deviceProtocol *foundation.NSNumber, speed *foundation.NSNumber, productIDArray *foundation.NSArray[objc.ID]) unsafe.Pointer
@brief Creates a matching dictionary for an IOUSBHostDevice to be passed into IOServiceGetMatchingService @param vendorID NSNumber representation of device vendorID @param productID NSNumber representation of device productID @param bcdDevice NSNumber representation of device release number @param deviceClass NSNumber representation of device class @param deviceSubclass NSNumber representation of device subclass @param deviceProtocol NSNumber representation of device protocol @param speed NSNumber representation of device speed @param productIDArray NSArray of NSNumbers representing all productIDs interested in. If used do not specify the NSNumber productID field @return CFMutableDictionaryRef to be used with IOService matching methods. To be released by caller.
func IOUSBHostDevicePropertyKeyContainerID ¶
func IOUSBHostDevicePropertyKeyContainerID() *foundation.NSString
func IOUSBHostDevicePropertyKeyCurrentConfiguration ¶
func IOUSBHostDevicePropertyKeyCurrentConfiguration() *foundation.NSString
func IOUSBHostDevicePropertyKeySerialNumberString ¶
func IOUSBHostDevicePropertyKeySerialNumberString() *foundation.NSString
func IOUSBHostDevicePropertyKeyVendorString ¶
func IOUSBHostDevicePropertyKeyVendorString() *foundation.NSString
func IOUSBHostDeviceRequestType ¶
func IOUSBHostDeviceRequestType(direction unsafe.Pointer, type_ unsafe.Pointer, recipient unsafe.Pointer) uint8
@brief Helper method for creating the <code>bmRequestType</code> field of a device request. @param direction The direction of the request. @param type the type of device request. @param recipient the recipient of the device request. @return uint8_t bmRequestType
func IOUSBHostErrorDomain ¶
func IOUSBHostErrorDomain() *foundation.NSString
@brief NSErrorDomain for IOUSBHostFamily. Error codes are IOKit IOReturn codes. @constant IOUSBHostErrorDomain domain for IOUSBHostFamily errors
func IOUSBHostInterfaceCreateMatchingDictionaryWithVendorIDProductIDBcdDeviceInterfaceNumberConfigurationValueInterfaceClassInterfaceSubclassInterfaceProtocolSpeedProductIDArray ¶
func IOUSBHostInterfaceCreateMatchingDictionaryWithVendorIDProductIDBcdDeviceInterfaceNumberConfigurationValueInterfaceClassInterfaceSubclassInterfaceProtocolSpeedProductIDArray(vendorID *foundation.NSNumber, productID *foundation.NSNumber, bcdDevice *foundation.NSNumber, interfaceNumber *foundation.NSNumber, configurationValue *foundation.NSNumber, interfaceClass *foundation.NSNumber, interfaceSubclass *foundation.NSNumber, interfaceProtocol *foundation.NSNumber, speed *foundation.NSNumber, productIDArray *foundation.NSArray[objc.ID]) unsafe.Pointer
@brief Creates a matching dictionary for an IOUSBHostInterface to be passed into IOServiceGetMatchingService @param vendorID NSNumber representation of device vendorID @param productID NSNumber representation of device productID @param bcdDevice NSNumber representation of device release number @param interfaceNumber NSNumber representation of interface number @param configurationValue NSNumber representation of the device's configurationValue @param interfaceClass NSNumber representation of interface class @param interfaceSubclass NSNumber representation of interface subclass @param interfaceProtocol NSNumber representation of interface protocol @param speed NSNumber representation of device speed @param productIDArray NSArray of NSNumbers representing all productIDs interested in. If used do not specify the NSNumber productID field @return CFMutableDictionaryRef to be used with IOService matching methods. To be released by caller.
func IOUSBHostInterfacePropertyKeyAlternateSetting ¶
func IOUSBHostInterfacePropertyKeyAlternateSetting() *foundation.NSString
func IOUSBHostMatchingPropertyKeyConfigurationValue ¶
func IOUSBHostMatchingPropertyKeyConfigurationValue() *foundation.NSString
func IOUSBHostMatchingPropertyKeyDeviceClass ¶
func IOUSBHostMatchingPropertyKeyDeviceClass() *foundation.NSString
func IOUSBHostMatchingPropertyKeyDeviceProtocol ¶
func IOUSBHostMatchingPropertyKeyDeviceProtocol() *foundation.NSString
func IOUSBHostMatchingPropertyKeyDeviceReleaseNumber ¶
func IOUSBHostMatchingPropertyKeyDeviceReleaseNumber() *foundation.NSString
func IOUSBHostMatchingPropertyKeyDeviceSubClass ¶
func IOUSBHostMatchingPropertyKeyDeviceSubClass() *foundation.NSString
func IOUSBHostMatchingPropertyKeyInterfaceClass ¶
func IOUSBHostMatchingPropertyKeyInterfaceClass() *foundation.NSString
func IOUSBHostMatchingPropertyKeyInterfaceNumber ¶
func IOUSBHostMatchingPropertyKeyInterfaceNumber() *foundation.NSString
func IOUSBHostMatchingPropertyKeyInterfaceProtocol ¶
func IOUSBHostMatchingPropertyKeyInterfaceProtocol() *foundation.NSString
func IOUSBHostMatchingPropertyKeyInterfaceSubClass ¶
func IOUSBHostMatchingPropertyKeyInterfaceSubClass() *foundation.NSString
func IOUSBHostMatchingPropertyKeyProductID ¶
func IOUSBHostMatchingPropertyKeyProductID() *foundation.NSString
func IOUSBHostMatchingPropertyKeyProductIDArray ¶
func IOUSBHostMatchingPropertyKeyProductIDArray() *foundation.NSString
func IOUSBHostMatchingPropertyKeyProductIDMask ¶
func IOUSBHostMatchingPropertyKeyProductIDMask() *foundation.NSString
func IOUSBHostMatchingPropertyKeySpeed ¶
func IOUSBHostMatchingPropertyKeySpeed() *foundation.NSString
func IOUSBHostMatchingPropertyKeyVendorID ¶
func IOUSBHostMatchingPropertyKeyVendorID() *foundation.NSString
func IOUSBHostPropertyKeyLocationID ¶
func IOUSBHostPropertyKeyLocationID() *foundation.NSString
func IOUSBHostVersionNumber ¶
func IOUSBHostVersionNumber() float64
func IOUSBHostVersionString ¶
func SymbolAvailable ¶
SymbolAvailable reports whether the named C symbol was bound when the library loaded. Calling a generated wrapper whose symbol is unavailable dereferences a nil function variable and panics.
Types ¶
type Acl_entry_id_t ¶
type Acl_entry_id_t int64
const ( ACL_FIRST_ENTRY Acl_entry_id_t = 0 ACL_NEXT_ENTRY Acl_entry_id_t = -1 ACL_LAST_ENTRY Acl_entry_id_t = -2 )
func (Acl_entry_id_t) String ¶
func (e Acl_entry_id_t) String() string
type Acl_flag_t ¶
type Acl_flag_t int64
const ( ACL_FLAG_DEFER_INHERIT Acl_flag_t = 1 ACL_FLAG_NO_INHERIT Acl_flag_t = 131072 ACL_ENTRY_INHERITED Acl_flag_t = 16 ACL_ENTRY_FILE_INHERIT Acl_flag_t = 32 ACL_ENTRY_DIRECTORY_INHERIT Acl_flag_t = 64 ACL_ENTRY_LIMIT_INHERIT Acl_flag_t = 128 ACL_ENTRY_ONLY_INHERIT Acl_flag_t = 256 )
func (Acl_flag_t) String ¶
func (e Acl_flag_t) String() string
type Acl_perm_t ¶
type Acl_perm_t int64
const ( ACL_READ_DATA Acl_perm_t = 2 ACL_LIST_DIRECTORY Acl_perm_t = 2 ACL_WRITE_DATA Acl_perm_t = 4 ACL_ADD_FILE Acl_perm_t = 4 ACL_EXECUTE Acl_perm_t = 8 ACL_SEARCH Acl_perm_t = 8 ACL_DELETE Acl_perm_t = 16 ACL_APPEND_DATA Acl_perm_t = 32 ACL_ADD_SUBDIRECTORY Acl_perm_t = 32 ACL_DELETE_CHILD Acl_perm_t = 64 ACL_READ_ATTRIBUTES Acl_perm_t = 128 ACL_WRITE_ATTRIBUTES Acl_perm_t = 256 ACL_READ_EXTATTRIBUTES Acl_perm_t = 512 ACL_WRITE_EXTATTRIBUTES Acl_perm_t = 1024 ACL_READ_SECURITY Acl_perm_t = 2048 ACL_WRITE_SECURITY Acl_perm_t = 4096 ACL_CHANGE_OWNER Acl_perm_t = 8192 ACL_SYNCHRONIZE Acl_perm_t = 1048576 )
func (Acl_perm_t) String ¶
func (e Acl_perm_t) String() string
type Acl_type_t ¶
type Acl_type_t int64
const ( ACL_TYPE_EXTENDED Acl_type_t = 256 ACL_TYPE_ACCESS Acl_type_t = 0 ACL_TYPE_DEFAULT Acl_type_t = 1 ACL_TYPE_AFS Acl_type_t = 2 ACL_TYPE_CODA Acl_type_t = 3 ACL_TYPE_NTFS Acl_type_t = 4 ACL_TYPE_NWFS Acl_type_t = 5 )
func (Acl_type_t) String ¶
func (e Acl_type_t) String() string
type Dispatch_autorelease_frequency_t ¶
type Dispatch_autorelease_frequency_t uint64
const ( DISPATCH_AUTORELEASE_FREQUENCY_INHERIT Dispatch_autorelease_frequency_t = 0 DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM Dispatch_autorelease_frequency_t = 1 DISPATCH_AUTORELEASE_FREQUENCY_NEVER Dispatch_autorelease_frequency_t = 2 )
func (Dispatch_autorelease_frequency_t) String ¶
func (e Dispatch_autorelease_frequency_t) String() string
type Dispatch_block_flags_t ¶
type Dispatch_block_flags_t uint64
const ( DISPATCH_BLOCK_BARRIER Dispatch_block_flags_t = 1 DISPATCH_BLOCK_DETACHED Dispatch_block_flags_t = 2 DISPATCH_BLOCK_ASSIGN_CURRENT Dispatch_block_flags_t = 4 DISPATCH_BLOCK_NO_QOS_CLASS Dispatch_block_flags_t = 8 DISPATCH_BLOCK_INHERIT_QOS_CLASS Dispatch_block_flags_t = 16 DISPATCH_BLOCK_ENFORCE_QOS_CLASS Dispatch_block_flags_t = 32 )
func (Dispatch_block_flags_t) String ¶
func (e Dispatch_block_flags_t) String() string
type Filesec_property_t ¶
type Filesec_property_t int64
const ( FILESEC_OWNER Filesec_property_t = 1 FILESEC_GROUP Filesec_property_t = 2 FILESEC_UUID Filesec_property_t = 3 FILESEC_MODE Filesec_property_t = 4 FILESEC_ACL Filesec_property_t = 5 FILESEC_GRPUUID Filesec_property_t = 6 FILESEC_ACL_RAW Filesec_property_t = 100 FILESEC_ACL_ALLOCSIZE Filesec_property_t = 101 )
func (Filesec_property_t) String ¶
func (e Filesec_property_t) String() string
type IOUSBHostAbortOption ¶
type IOUSBHostAbortOption uint64
const ( IOUSBHostAbortOptionAsynchronous IOUSBHostAbortOption = 0 IOUSBHostAbortOptionSynchronous IOUSBHostAbortOption = 1 )
func (IOUSBHostAbortOption) String ¶
func (e IOUSBHostAbortOption) String() string
type IOUSBHostCIControllerState ¶
type IOUSBHostCIControllerState int64
@enum IOUSBHostCIControllerState @brief Host controller state managed by IOUSBHostCIControllerStateMachine @discussion IOUSBHostCIControllerStateOff is the initial state of a newly created IOUSBHostCIControllerStateMachine instance, and represents a completely quiesced controller. All root ports must be in the IOUSBHostCIPortStateOff state. IOUSBHostCIControllerStatePaused represents a controller that is idle. In this state the controller is not processing IO requests, but can detect port changes such as connect events or remote wakes. Root ports must not be in the IOUSBHostCIPortStateActive state. IOUSBHostCIControllerStateActive represents a controller that is fully functional and able to service IO requests. Root ports may be in the IOUSBHostCIPortStateActive state.
const ( IOUSBHostCIControllerStateOff IOUSBHostCIControllerState = 0 IOUSBHostCIControllerStatePaused IOUSBHostCIControllerState = 1 IOUSBHostCIControllerStateActive IOUSBHostCIControllerState = 2 )
func (IOUSBHostCIControllerState) String ¶
func (e IOUSBHostCIControllerState) String() string
type IOUSBHostCIControllerStateMachine ¶
type IOUSBHostCIControllerStateMachine struct {
foundation.NSObject
}
@class IOUSBHostCIControllerStateMachine @brief The object representing the state of a user-mode USB host controller @details This class assists with tracking internal state transitions of a user-mode USB host controller, and parses IOUSBHostCIMessage command structures to update state and generate properly formatted command responses. IOUSBHostCIControllerStateMachine does not provide any concurrency protection, the client is responsible for necessary serialization.
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhostcicontrollerstatemachine
func IOUSBHostCIControllerStateMachineFromID ¶
func IOUSBHostCIControllerStateMachineFromID(id objc.ID) *IOUSBHostCIControllerStateMachine
func (*IOUSBHostCIControllerStateMachine) ControllerInterface ¶
func (o *IOUSBHostCIControllerStateMachine) ControllerInterface() *IOUSBHostControllerInterface
func (*IOUSBHostCIControllerStateMachine) ControllerState ¶
func (o *IOUSBHostCIControllerStateMachine) ControllerState() IOUSBHostCIControllerState
func (*IOUSBHostCIControllerStateMachine) EnqueueUpdatedFrameTimestampError ¶
func (o *IOUSBHostCIControllerStateMachine) EnqueueUpdatedFrameTimestampError(frame uint64, timestamp uint64) (bool, error)
@brief Enqueue frame and timestamp messages for delivery to the kernel driver @discussion If the controller interface is in the IOUSBHostCIControllerStateActive state, messages with the type IOUSBHostCIMessageTypeFrameNumberUpdate and IOUSBHostCIMessageTypeFrameTimestampUpdate will be generated using the provided inputs, and enqueued for delivery to the kernel driver. The frame and timestamp information provided effectively measure the duration of the controller's 1ms frame in terms of system time. A 1% frame duration variation is permitted. A larger frame duration variation will result in a IOUSBHostCIExceptionTypeFrameUpdateError. @param frame uint64_t containing the number of 1ms frames that have elapsed since the controller began counting frames @param timestamp uint64_t containing the mach_absolute_time() correlated to the beginning of the frameNumber @return BOOL YES if the messages were enqueued for delivery to the kernel. BOOL NO if the messages were not enqueued for delivery to the kernel.
func (*IOUSBHostCIControllerStateMachine) InitWithInterfaceError ¶
func (o *IOUSBHostCIControllerStateMachine) InitWithInterfaceError(interface_ *IOUSBHostControllerInterface) (*IOUSBHostCIControllerStateMachine, error)
@brief Initializes an IOUSBHostCIControllerStateMachine object @discussion The IOUSBHostCIControllerStateMachine defaults to the IOUSBHostCIControllerStateOff state. @param interface IOUSBHostControllerInterface which will be used to send command responses. @return IOUSBHostCIControllerStateMachine instance, to be released by the caller.
func (*IOUSBHostCIControllerStateMachine) InspectCommandError ¶
func (o *IOUSBHostCIControllerStateMachine) InspectCommandError(command *IOUSBHostCIMessage) (bool, error)
@brief Inspect an IOUSBHostCIMessage command @discussion The IOUSBHostCIMessage command is inspected to determine if it is handled by the state machine, and is appropriate for the current state. @param command IOUSBHostCIMessage command structure received from the kernel driver. @return BOOL YES if the command is targeting a controller, and can be handled in the current state BOOL NO if the command does not target a controller, or cannot be handled in the current state
func (*IOUSBHostCIControllerStateMachine) RespondToCommandStatusError ¶
func (o *IOUSBHostCIControllerStateMachine) RespondToCommandStatusError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus) (bool, error)
@brief Advance the state machine and respond to an IOUSBHostCIMessage command @discussion If the command passes inspectCommand and the client indicates the command was processed successfully, the state machine is advanced, and a properly formatted command response message is sent to the kernel driver. If the client indicates the command was not processed successfully, the state machine is not advanced but a properly formatted command response message is sent to the kernel driver. @param command IOUSBHostCIMessage command structure received from the kernel driver. @param status IOUSBHostCIMessageStatus reported by the user-mode USB host controller implementation for the command response. @return BOOL YES if the command response was sent to the kernel driver BOOL NO if the command response was not sent to the kernel driver
func (*IOUSBHostCIControllerStateMachine) RespondToCommandStatusFrameTimestampError ¶
func (o *IOUSBHostCIControllerStateMachine) RespondToCommandStatusFrameTimestampError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus, frame uint64, timestamp uint64) (bool, error)
@brief Advance the state machine and respond to an IOUSBHostCIMessageTypeControllerFrameNumber command @discussion If the command passes inspectCommand and the client indicates the command was processed successfully, enqueueUpdatedFrame:timestamp:error is called with the supplied parameters, and a properly formatted command response message is sent to the kernel driver. If the client indicates the command was not processed successfully, enqueueUpdatedFrame:timestamp:error is not called but a properly formatted command response message is sent to the kernel driver. @param command IOUSBHostCIMessage command structure received from the kernel driver. The Type field must be IOUSBHostCIMessageTypeControllerFrameNumber @param status IOUSBHostCIMessageStatus reported by the user-mode USB host controller implementation for the command response. @param frame uint64_t containing the number of 1ms frames that have elapsed since the controller began counting frames @param timestamp uint64_t containing the mach_absolute_time() correlated to the beginning of the frameNumber @return BOOL YES if the command response was sent to the kernel driver BOOL NO if the command response was not sent to the kernel driver
type IOUSBHostCIDeviceSpeed ¶
type IOUSBHostCIDeviceSpeed int64
@enum IOUSBHostCIDeviceSpeed @brief Values to represent a connected device speed, to be used in IOUSBHostCIMessages and IOUSBHostsCIPortStatus
const ( IOUSBHostCIDeviceSpeedNone IOUSBHostCIDeviceSpeed = 0 IOUSBHostCIDeviceSpeedFull IOUSBHostCIDeviceSpeed = 1 IOUSBHostCIDeviceSpeedLow IOUSBHostCIDeviceSpeed = 2 IOUSBHostCIDeviceSpeedHigh IOUSBHostCIDeviceSpeed = 3 IOUSBHostCIDeviceSpeedSuper IOUSBHostCIDeviceSpeed = 4 IOUSBHostCIDeviceSpeedSuperPlus IOUSBHostCIDeviceSpeed = 5 IOUSBHostCIDeviceSpeedSuperPlusBy2 IOUSBHostCIDeviceSpeed = 6 IOUSBHostCIDeviceSpeedOther IOUSBHostCIDeviceSpeed = 7 )
func (IOUSBHostCIDeviceSpeed) String ¶
func (e IOUSBHostCIDeviceSpeed) String() string
type IOUSBHostCIDeviceState ¶
type IOUSBHostCIDeviceState int64
@enum IOUSBHostCIDeviceState @brief Device state managed by IOUSBHostCIDeviceStateMachine @discussion IOUSBHostCIDeviceStateDestroyed represents a device that is no longer usable, and whose resources will be destroyed and freed IOUSBHostCIDeviceStatePaused represents a device that may have IO requests enqueued, but they are not active on the bus. The state is closely correlated to IOUSBHostCIPortStateSuspended, and endpoints associated with this device may not be in the IOUSBHostCIEndpointStateActive state. IOUSBHostCIDeviceStateActive is the initial sate of a newly created IOUSBHsotCIDeviceStateMachine, and represents a device that can be processing IO requests. Endpoints associated with this device may be in the IOUSBHostCIEndpointStateActive state.
const ( IOUSBHostCIDeviceStateDestroyed IOUSBHostCIDeviceState = 0 IOUSBHostCIDeviceStatePaused IOUSBHostCIDeviceState = 1 IOUSBHostCIDeviceStateActive IOUSBHostCIDeviceState = 2 )
func (IOUSBHostCIDeviceState) String ¶
func (e IOUSBHostCIDeviceState) String() string
type IOUSBHostCIDeviceStateMachine ¶
type IOUSBHostCIDeviceStateMachine struct {
foundation.NSObject
}
@class IOUSBHostCIDeviceStateMachine @brief The object representing the state of a user-mode USB host controller device @details This class assists with tracking internal state transitions of a user-mode USB host controller device, and parses IOUSBHostCIMessage command structures to update state and generate properly formatted command responses. Clients should create an IOUSBHostCIDeviceStateMachine in response to an IOUSBHostCIMessageTypeDeviceCreate command, and then use the provided interfaces to identify and process commands for the device. The IOUSBHostCIDeviceStateMachine should be destroyed in response to an IOUSBHostCIMessageTypeDeviceDestroy command. IOUSBHostCIDeviceStateMachine does not provide any concurrency protection, the client is responsible for necessary serialization.
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhostcidevicestatemachine
func IOUSBHostCIDeviceStateMachineFromID ¶
func IOUSBHostCIDeviceStateMachineFromID(id objc.ID) *IOUSBHostCIDeviceStateMachine
func (*IOUSBHostCIDeviceStateMachine) CompleteRoute ¶
func (o *IOUSBHostCIDeviceStateMachine) CompleteRoute() uint
func (*IOUSBHostCIDeviceStateMachine) ControllerInterface ¶
func (o *IOUSBHostCIDeviceStateMachine) ControllerInterface() *IOUSBHostControllerInterface
func (*IOUSBHostCIDeviceStateMachine) DeviceAddress ¶
func (o *IOUSBHostCIDeviceStateMachine) DeviceAddress() uint
func (*IOUSBHostCIDeviceStateMachine) DeviceState ¶
func (o *IOUSBHostCIDeviceStateMachine) DeviceState() IOUSBHostCIDeviceState
func (*IOUSBHostCIDeviceStateMachine) InitWithInterfaceCommandError ¶
func (o *IOUSBHostCIDeviceStateMachine) InitWithInterfaceCommandError(interface_ *IOUSBHostControllerInterface, command *IOUSBHostCIMessage) (*IOUSBHostCIDeviceStateMachine, error)
@brief Initializes an IOUSBHostCIDeviceStateMachine object @discussion The IOUSBHostCIDeviceStateMachine defaults to the IOUSBHostCIDeviceStateActive state. @param interface IOUSBHostControllerInterface which will be used to send command responses. @param command IOUSBHostCIMessage with type IOUSBHostCIMessageTypeDeviceCreate @return IOUSBHostCIDeviceStateMachine instance, to be released by the caller.
func (*IOUSBHostCIDeviceStateMachine) InspectCommandError ¶
func (o *IOUSBHostCIDeviceStateMachine) InspectCommandError(command *IOUSBHostCIMessage) (bool, error)
@brief Inspect an IOUSBHostCIMessage command @discussion The IOUSBHostCIMessage command is inspected to determine if it is handled by the state machine, and is appropriate for the current state. @param command IOUSBHostCIMessage command structure received from the kernel driver. @return BOOL YES if the command is targeting a controller, and can be handled in the current state BOOL NO if the command does not target a controller, or cannot be handled in the current state
func (*IOUSBHostCIDeviceStateMachine) RespondToCommandStatusDeviceAddressError ¶
func (o *IOUSBHostCIDeviceStateMachine) RespondToCommandStatusDeviceAddressError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus, deviceAddress uint) (bool, error)
func (*IOUSBHostCIDeviceStateMachine) RespondToCommandStatusError ¶
func (o *IOUSBHostCIDeviceStateMachine) RespondToCommandStatusError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus) (bool, error)
@brief Advance the state machine and respond to an IOUSBHostCIMessage command @discussion If the command passes inspectCommand and the client indicates the command was processed successfully, the state machine is advanced, and a properly formatted command response message is sent to the kernel driver. If the client indicates the command was not processed successfully, the state machine is not advanced but a properly formatted command response message is sent to the kernel driver. @param command IOUSBHostCIMessage command structure received from the kernel driver. @param status IOUSBHostCIMessageStatus reported by the user-mode USB host controller implementation for the command response. @return BOOL YES if the command response was sent to the kernel driver BOOL NO if the command response was not sent to the kernel driver
type IOUSBHostCIEndpointState ¶
type IOUSBHostCIEndpointState int64
@enum IOUSBHostCIEndpointState @brief Endpoint state managed by IOUSBHostCIEndpointStateMachine @discussion IOUSBHostCIEndpointStateDestroyed represents an endpoint that is no longer usable, and whose resources will be destroyed and freed. IOUSBHostCIEndpointStateHalted represents an endpoint that has encountered an IO error. The client must not access or modify transfer structures or IO buffers for an endpoint in this state. IOUSBHostCIEndpointStatePaused is the initial state of a newly created IOUSBHostCIEndpointStateMachine, and represents an endpoint that is not currently servicing IO requests. The client must not access or modify transfer structures or IO buffers for an endpoint in this state. IOUSBHostCIEndpointStateActive represents an endpoint that is currently servicing an IO request, or is idle after successfully servicing its queue of IO requests. In this state the client may access transfer structures and IO buffers.
const ( IOUSBHostCIEndpointStateDestroyed IOUSBHostCIEndpointState = 0 IOUSBHostCIEndpointStateHalted IOUSBHostCIEndpointState = 1 IOUSBHostCIEndpointStatePaused IOUSBHostCIEndpointState = 2 IOUSBHostCIEndpointStateActive IOUSBHostCIEndpointState = 3 )
func (IOUSBHostCIEndpointState) String ¶
func (e IOUSBHostCIEndpointState) String() string
type IOUSBHostCIEndpointStateMachine ¶
type IOUSBHostCIEndpointStateMachine struct {
foundation.NSObject
}
@class IOUSBHostCIEndpointStateMachine @brief The object representing the state of a user-mode USB host controller endpoint @details This class assists with tracking internal state transitions of a user-mode USB host controller endpoint, and parses IOUSBHostCIMessage command structures to update state and generate properly formatted command responses. Clients should create an IOUSBHostCIEndpointStateMachine in response to an IOUSBHostCIMessageTypeEndpointCreate command, and then use the provided interfaces to identify and process commands, doorbells, and transfer structures for the endpoint. The IOUSBHostCIEndpointStateMachine should be destroyed in response to an IOUSBHostCIMessageTypeEndpointDestroy command. Endpoint state is controlled by IOUSBHostCIMessage structures representing commands and transfer completions, and IOUSBHostCIDoorbell messages. Only an endpoint in the IOUSBHostCIEndpointStateActive state may inspect transfer structures, read or modify IO buffers, and generate transfer completions. IOUSBHostCIEndpointStateMachine does not provide any concurrency protection, the client is responsible for necessary serialization.
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhostciendpointstatemachine
func IOUSBHostCIEndpointStateMachineFromID ¶
func IOUSBHostCIEndpointStateMachineFromID(id objc.ID) *IOUSBHostCIEndpointStateMachine
func (*IOUSBHostCIEndpointStateMachine) ControllerInterface ¶
func (o *IOUSBHostCIEndpointStateMachine) ControllerInterface() *IOUSBHostControllerInterface
func (*IOUSBHostCIEndpointStateMachine) CurrentTransferMessage ¶
func (o *IOUSBHostCIEndpointStateMachine) CurrentTransferMessage() *IOUSBHostCIMessage
func (*IOUSBHostCIEndpointStateMachine) DeviceAddress ¶
func (o *IOUSBHostCIEndpointStateMachine) DeviceAddress() uint
func (*IOUSBHostCIEndpointStateMachine) EndpointAddress ¶
func (o *IOUSBHostCIEndpointStateMachine) EndpointAddress() uint
func (*IOUSBHostCIEndpointStateMachine) EndpointState ¶
func (o *IOUSBHostCIEndpointStateMachine) EndpointState() IOUSBHostCIEndpointState
func (*IOUSBHostCIEndpointStateMachine) EnqueueTransferCompletionForMessageStatusTransferLengthError ¶
func (o *IOUSBHostCIEndpointStateMachine) EnqueueTransferCompletionForMessageStatusTransferLengthError(message *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus, transferLength uint) (bool, error)
@brief Send an IOUSBHostCIMessage representing a transfer completion to the kernel, and advance the state machine @discussion When a client has processed an IOUSBHostCIMessage representing a transfer, the result is reported to the kernel by another IOUSBHostCIMessage. If successful, this object will use controllerInterface's enqueueInterrupt interface to send a properly formatted IOUSBHostCIMessage to the kernel with IOUSBHostCITransferCompletionMessageData1TransferStructure populated with currentTransferMessage's virtual address, and endpointState and currentTransferMessage are updated. After a successful call, the client should check for an IOUSBHostCIEndpointStateActive endpointState and a currentTransferMessage with IOUSBHostCIMessageControlValid set to determine if more IOUSBHostCIMessages should be processed. @param message pointer to the IOUSBHostCIMessage which generated this tranafer completion message. This must match currentTransferMessage to be successful. @param status IOUSBHostCIMessageStatus @param transferLength The number of bytes transferred for the specified transfer structure.
func (*IOUSBHostCIEndpointStateMachine) InitWithInterfaceCommandError ¶
func (o *IOUSBHostCIEndpointStateMachine) InitWithInterfaceCommandError(interface_ *IOUSBHostControllerInterface, command *IOUSBHostCIMessage) (*IOUSBHostCIEndpointStateMachine, error)
@brief Initializes an IOUSBHostCIEndpointStateMachine object @discussion The IOUSBHostCIEndpointStateMachine defaults to the IOUSBHostCIEndpointStatePaused state. @param interface IOUSBHostControllerInterface which will be used to send command responses. @param command IOUSBHostCIMessage with type IOUSBHostCIMessageTypeEndpointCreate @return IOUSBHostCIEndpointStateMachine instance, to be released by the caller.
func (*IOUSBHostCIEndpointStateMachine) InspectCommandError ¶
func (o *IOUSBHostCIEndpointStateMachine) InspectCommandError(command *IOUSBHostCIMessage) (bool, error)
@brief Inspect an IOUSBHostCIMessage command @discussion The IOUSBHostCIMessage command is inspected to determine if it is handled by this state machine and is appropriate for the current state. @param command IOUSBHostCIMessage command structure received from the kernel driver. @return BOOL YES if the command is targeting this endpoint, and can be handled in the current state BOOL NO if the command does not target this endpoint, or cannot be handled in the current state
func (*IOUSBHostCIEndpointStateMachine) ProcessDoorbellError ¶
func (o *IOUSBHostCIEndpointStateMachine) ProcessDoorbellError(doorbell uint32) (bool, error)
@brief Advance the state machine and process an IOUSBHostCIDoorbell message @discussion The IOUSBHostCIDoorbell is inspected to determine if it is handled by this state machine and is appropriate for the current state. If successful, the client should check for an IOUSBHostCIEndpointStateActive endpointState and a currentTransferMessage with IOUSBHostCIMessageControlValid set to determine if more IOUSBHostCIMessages should be processed. @param doorbell IOUSBHostCIDoorbell message received from the kernel driver. @return BOOL YES if the doorbell is targeting this endpoint and can be handled in the current state. BOOL NO is the doorbell does not target this endpoint or cannot be handled in the current state.
func (*IOUSBHostCIEndpointStateMachine) RespondToCommandStatusError ¶
func (o *IOUSBHostCIEndpointStateMachine) RespondToCommandStatusError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus) (bool, error)
@brief Advance the state machine and respond to an IOUSBHostCIMessage command @discussion If the command passes inspectCommand and the client indicates the command was processed successfully, endpointState is updated and a properly formatted command response message is sent to the kernel driver. If the client indicates the command was not processed successfully, endpointState is not updated but a properly formatted command response message is sent to the kernel driver. @param command IOUSBHostCIMessage command structure received from the kernel driver. @param status IOUSBHostCIMessageStatus reported by the user-mode USB host controller implementation for the command response. @return BOOL YES if the command response was sent to the kernel driver BOOL NO if the command response was not sent to the kernel driver
type IOUSBHostCIExceptionType ¶
type IOUSBHostCIExceptionType int64
@enum IOUSBHostCIExceptionType @brief Exception specifier included as message argument to <code>kUSBHostMessageControllerException</code> @discussion The kernel driver sends a <code>kUSBHostMessageControllerException</code> message to its clients when a fatal problem has occurred, with a refCon of the IOUSBHostController instance and a <code>IOUSBHostCIExceptionType</code> in the message arguments. When any <code>kUSBHostMessageControllerException</code> message is received, the specified IOUSBHostControllerInterface must be destroyed.
const ( IOUSBHostCIExceptionTypeUnknown IOUSBHostCIExceptionType = 0 IOUSBHostCIExceptionTypeCapabilitiesInvalid IOUSBHostCIExceptionType = 1 IOUSBHostCIExceptionTypeTerminated IOUSBHostCIExceptionType = 2 IOUSBHostCIExceptionTypeCommandReadCollision IOUSBHostCIExceptionType = 3 IOUSBHostCIExceptionTypeCommandWriteFailed IOUSBHostCIExceptionType = 4 IOUSBHostCIExceptionTypeCommandTimeout IOUSBHostCIExceptionType = 5 IOUSBHostCIExceptionTypeCommandFailure IOUSBHostCIExceptionType = 6 IOUSBHostCIExceptionTypeInterruptInvalid IOUSBHostCIExceptionType = 7 IOUSBHostCIExceptionTypeInterruptOverflow IOUSBHostCIExceptionType = 8 IOUSBHostCIExceptionTypeDoorbellReadCollision IOUSBHostCIExceptionType = 9 IOUSBHostCIExceptionTypeDoorbellOverflow IOUSBHostCIExceptionType = 10 IOUSBHostCIExceptionTypeProtocolError IOUSBHostCIExceptionType = 11 IOUSBHostCIExceptionTypeFrameUpdateError IOUSBHostCIExceptionType = 12 )
func (IOUSBHostCIExceptionType) String ¶
func (e IOUSBHostCIExceptionType) String() string
type IOUSBHostCILinkState ¶
type IOUSBHostCILinkState int64
@enum IOUSBHostCILinkState @brief Values to represent a port's link state, to be used in IOUSBHostCIMessages and IOUSBHostCIPortStatus
const ( IOUSBHostCILinkStateU0 IOUSBHostCILinkState = 0 IOUSBHostCILinkStateU1 IOUSBHostCILinkState = 1 IOUSBHostCILinkStateU2 IOUSBHostCILinkState = 2 IOUSBHostCILinkStateU3 IOUSBHostCILinkState = 3 IOUSBHostCILinkStateDisabled IOUSBHostCILinkState = 4 IOUSBHostCILinkStateRxDetect IOUSBHostCILinkState = 5 IOUSBHostCILinkStateInactive IOUSBHostCILinkState = 6 IOUSBHostCILinkStatePolling IOUSBHostCILinkState = 7 IOUSBHostCILinkStateRecovery IOUSBHostCILinkState = 8 IOUSBHostCILinkStateReset IOUSBHostCILinkState = 9 IOUSBHostCILinkStateCompliance IOUSBHostCILinkState = 10 IOUSBHostCILinkStateTest IOUSBHostCILinkState = 11 IOUSBHostCILinkStateResume IOUSBHostCILinkState = 15 )
func (IOUSBHostCILinkState) String ¶
func (e IOUSBHostCILinkState) String() string
type IOUSBHostCIMessage ¶
@typedef IOUSBHostCIMessage @brief Foundational IOUSBHostControllerInterface message structure used for commands, transfers, and interrupts @discussion IOUSBHostCIMessage structures are control structures passed between the IOUSBHostControllerInterface client and the kernel driver. They are used to represent capabilities during initialization, commands and transfers sent from the kernel, and interrupt events sent to the kernel.
type IOUSBHostCIMessageStatus ¶
type IOUSBHostCIMessageStatus int64
@enum IOUSBHostCIMessageStatus @brief Values to be populated in IOUSBHostCIMessageControlStatus of an IOUSBHostCIMessage structure
const ( IOUSBHostCIMessageStatusReserved IOUSBHostCIMessageStatus = 0 IOUSBHostCIMessageStatusSuccess IOUSBHostCIMessageStatus = 1 IOUSBHostCIMessageStatusOffline IOUSBHostCIMessageStatus = 2 IOUSBHostCIMessageStatusNotPermitted IOUSBHostCIMessageStatus = 3 IOUSBHostCIMessageStatusBadArgument IOUSBHostCIMessageStatus = 4 IOUSBHostCIMessageStatusTimeout IOUSBHostCIMessageStatus = 5 IOUSBHostCIMessageStatusNoResources IOUSBHostCIMessageStatus = 6 IOUSBHostCIMessageStatusEndpointStopped IOUSBHostCIMessageStatus = 7 IOUSBHostCIMessageStatusProtocolError IOUSBHostCIMessageStatus = 8 IOUSBHostCIMessageStatusTransactionError IOUSBHostCIMessageStatus = 9 IOUSBHostCIMessageStatusOverrunError IOUSBHostCIMessageStatus = 10 IOUSBHostCIMessageStatusStallError IOUSBHostCIMessageStatus = 11 IOUSBHostCIMessageStatusMissedServiceError IOUSBHostCIMessageStatus = 12 IOUSBHostCIMessageStatusError IOUSBHostCIMessageStatus = 13 )
func IOUSBHostCIMessageStatusFromIOReturn ¶
func IOUSBHostCIMessageStatusFromIOReturn(status int) IOUSBHostCIMessageStatus
func (IOUSBHostCIMessageStatus) String ¶
func (e IOUSBHostCIMessageStatus) String() string
type IOUSBHostCIMessageType ¶
type IOUSBHostCIMessageType int64
@enum IOUSBHostCIMessageType @brief Values to be populated in IOUSBHostCIMessageControlType of an IOUSBHostCIMessage structure
const ( IOUSBHostCIMessageTypeControllerCapabilities IOUSBHostCIMessageType = 0 IOUSBHostCIMessageTypePortCapabilities IOUSBHostCIMessageType = 1 IOUSBHostCIMessageTypePortEvent IOUSBHostCIMessageType = 8 IOUSBHostCIMessageTypeFrameNumberUpdate IOUSBHostCIMessageType = 9 IOUSBHostCIMessageTypeFrameTimestampUpdate IOUSBHostCIMessageType = 10 IOUSBHostCIMessageTypeCommandMin IOUSBHostCIMessageType = 16 IOUSBHostCIMessageTypeControllerPowerOn IOUSBHostCIMessageType = 16 IOUSBHostCIMessageTypeControllerPowerOff IOUSBHostCIMessageType = 17 IOUSBHostCIMessageTypeControllerStart IOUSBHostCIMessageType = 18 IOUSBHostCIMessageTypeControllerPause IOUSBHostCIMessageType = 19 IOUSBHostCIMessageTypeControllerFrameNumber IOUSBHostCIMessageType = 20 IOUSBHostCIMessageTypePortPowerOn IOUSBHostCIMessageType = 24 IOUSBHostCIMessageTypePortPowerOff IOUSBHostCIMessageType = 25 IOUSBHostCIMessageTypePortResume IOUSBHostCIMessageType = 26 IOUSBHostCIMessageTypePortSuspend IOUSBHostCIMessageType = 27 IOUSBHostCIMessageTypePortReset IOUSBHostCIMessageType = 28 IOUSBHostCIMessageTypePortDisable IOUSBHostCIMessageType = 29 IOUSBHostCIMessageTypePortStatus IOUSBHostCIMessageType = 30 IOUSBHostCIMessageTypeDeviceCreate IOUSBHostCIMessageType = 32 IOUSBHostCIMessageTypeDeviceDestroy IOUSBHostCIMessageType = 33 IOUSBHostCIMessageTypeDeviceStart IOUSBHostCIMessageType = 34 IOUSBHostCIMessageTypeDevicePause IOUSBHostCIMessageType = 35 IOUSBHostCIMessageTypeDeviceUpdate IOUSBHostCIMessageType = 36 IOUSBHostCIMessageTypeEndpointCreate IOUSBHostCIMessageType = 40 IOUSBHostCIMessageTypeEndpointDestroy IOUSBHostCIMessageType = 41 IOUSBHostCIMessageTypeEndpoint_reserved_ IOUSBHostCIMessageType = 42 IOUSBHostCIMessageTypeEndpointPause IOUSBHostCIMessageType = 43 IOUSBHostCIMessageTypeEndpointUpdate IOUSBHostCIMessageType = 44 IOUSBHostCIMessageTypeEndpointReset IOUSBHostCIMessageType = 45 IOUSBHostCIMessageTypeEndpointSetNextTransfer IOUSBHostCIMessageType = 46 IOUSBHostCIMessageTypeCommandMax IOUSBHostCIMessageType = 55 IOUSBHostCIMessageTypeSetupTransfer IOUSBHostCIMessageType = 56 IOUSBHostCIMessageTypeNormalTransfer IOUSBHostCIMessageType = 57 IOUSBHostCIMessageTypeStatusTransfer IOUSBHostCIMessageType = 58 IOUSBHostCIMessageTypeIsochronousTransfer IOUSBHostCIMessageType = 59 IOUSBHostCIMessageTypeLink IOUSBHostCIMessageType = 60 IOUSBHostCIMessageTypeTransferComplete IOUSBHostCIMessageType = 61 )
func (IOUSBHostCIMessageType) String ¶
func (e IOUSBHostCIMessageType) String() string
type IOUSBHostCIPortState ¶
type IOUSBHostCIPortState int64
@enum IOUSBHostCIPortState @brief Port state managed by IOUSBHostCIPortStateMachine @discussion IOUSBHostCIPortStateOff is the initial state of a newly created IOUSBHostCIPortStateMachine and represents an unpowered port which is unable to detect events such as connections. Downstream devices, if any, must be in the IOUSBHostCIDeviceStateDestroyed state. IOUSBHostCIPortStatePowered represents a powered port which is able to detect events such as connections. Downstream devices, if any, must be in the IOUSBHostCIDeviceStateDestroyed state. IOUSBHostCIPortStateSuspended represents a port with a downstream device that is in a low-power state such as U3 or L2. The port is able to detect events such as remote wakes, and is not actively transmitting data. Downstream devices must be in the IOUSBHostCIDeviceStatePaused state. IOUSBHostCIPortStateActive represents a port with a downstream device that is able to immediately transfer data. The downstream device may be in the IOUSBHostCIDeviceStateActive state.
const ( IOUSBHostCIPortStateOff IOUSBHostCIPortState = 0 IOUSBHostCIPortStatePowered IOUSBHostCIPortState = 1 IOUSBHostCIPortStateSuspended IOUSBHostCIPortState = 2 IOUSBHostCIPortStateActive IOUSBHostCIPortState = 3 )
func (IOUSBHostCIPortState) String ¶
func (e IOUSBHostCIPortState) String() string
type IOUSBHostCIPortStateMachine ¶
type IOUSBHostCIPortStateMachine struct {
foundation.NSObject
}
@class IOUSBHostCIPortStateMachine @brief The object representing the state of a user-mode USB host controller root port @details This class assists with tracking internal state transitions of a user-mode USB host controller root port, and parses IOUSBHostCIMessage command structures to update state and generate properly formatted command responses. IOUSBHostCIPortStateMachine does not provide any concurrency protection, the client is responsible for necessary serialization.
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhostciportstatemachine
func IOUSBHostCIPortStateMachineFromID ¶
func IOUSBHostCIPortStateMachineFromID(id objc.ID) *IOUSBHostCIPortStateMachine
func (*IOUSBHostCIPortStateMachine) Connected ¶
func (o *IOUSBHostCIPortStateMachine) Connected() bool
@brief Set the connection state of the port @discussion The connected property cannot be set for an unpowered port, and will read back as NO, just at IOUSBHostCIPortStatusConnected in the port status will always read as 0. For a powered port, writing to the connected property will set IOUSBHostCIPortStatusConnected to match the provided value, and if the new value is different from the previous value an IOUSBHostCIMessageTypePortEvent message will be sent to the kernel with IOUSBHostCIPortStatusConnectChange set.
func (*IOUSBHostCIPortStateMachine) ControllerInterface ¶
func (o *IOUSBHostCIPortStateMachine) ControllerInterface() *IOUSBHostControllerInterface
func (*IOUSBHostCIPortStateMachine) InitWithInterfacePortNumberError ¶
func (o *IOUSBHostCIPortStateMachine) InitWithInterfacePortNumberError(interface_ *IOUSBHostControllerInterface, portNumber uint) (*IOUSBHostCIPortStateMachine, error)
@brief Initializes an IOUSBHostCIPortStateMachine object @discussion The IOUSBHostCIPortStateMachine defaults to the IOUSBHostCIPortStateOff state. @param interface IOUSBHostControllerInterface which will be used to send command responses. @param portNumber NSUInteger for the root port number tracked by this instance @return IOUSBHostCIPortStateMachine instance, to be released by the caller.
func (*IOUSBHostCIPortStateMachine) InspectCommandError ¶
func (o *IOUSBHostCIPortStateMachine) InspectCommandError(command *IOUSBHostCIMessage) (bool, error)
@brief Inspect an IOUSBHostCIMessage command @discussion The IOUSBHostCIMessage command is inspected to determine if it is handled by the state machine, and is appropriate for the current state. @param command IOUSBHostCIMessage command structure received from the kernel driver. @return BOOL YES if the command is targeting a controller, and can be handled in the current state BOOL NO if the command does not target a controller, or cannot be handled in the current state
func (*IOUSBHostCIPortStateMachine) LinkState ¶
func (o *IOUSBHostCIPortStateMachine) LinkState() IOUSBHostCILinkState
func (*IOUSBHostCIPortStateMachine) Overcurrent ¶
func (o *IOUSBHostCIPortStateMachine) Overcurrent() bool
@brief Set the overcurrent state of the port @discussion The overcurrent property cannot be set for an unpowered port, and will read back as NO, just as IOUSBHostCIPortStatusOvercurrent in the port status will always read as 0. For a powered port, writing to the overcurrent property will set IOUSBHostCIPortStatusOvercurrent to match the provided value, and if the new value is different from the previous value an IOUSBHostCIMessageTypePortEvent message will be sent to the kernel with IOUSBHostCIPortStatusOvercurrentChange set.
func (*IOUSBHostCIPortStateMachine) PortNumber ¶
func (o *IOUSBHostCIPortStateMachine) PortNumber() uint
func (*IOUSBHostCIPortStateMachine) PortState ¶
func (o *IOUSBHostCIPortStateMachine) PortState() IOUSBHostCIPortState
func (*IOUSBHostCIPortStateMachine) PortStatus ¶
func (o *IOUSBHostCIPortStateMachine) PortStatus() uint32
func (*IOUSBHostCIPortStateMachine) Powered ¶
func (o *IOUSBHostCIPortStateMachine) Powered() bool
@brief Set the powered state of the port @discussion Before a port can be used, it must be powered on via a IOUSBHostCIMessageTypePortPowerOn command. As part of successfully processing this command the powered property must be set to YES. Similarly, successful processing of the IOUSBHostCIMessageTypePortPowerOff command must set the powered property to NO.
func (*IOUSBHostCIPortStateMachine) RespondToCommandStatusError ¶
func (o *IOUSBHostCIPortStateMachine) RespondToCommandStatusError(command *IOUSBHostCIMessage, status IOUSBHostCIMessageStatus) (bool, error)
@brief Advance the state machine and respond to an IOUSBHostCIMessage command @discussion If the command passes inspectCommand and the client indicates the command was processed successfully, the state machine is advanced, and a properly formatted command response message is sent to the kernel driver. If the client indicates the command was not processed successfully, the state machine is not advanced but a properly formatted command response message is sent to the kernel driver. @param command IOUSBHostCIMessage command structure received from the kernel driver. @param status IOUSBHostCIMessageStatus reported by the user-mode USB host controller implementation for the command response. @return BOOL YES if the command response was sent to the kernel driver BOOL NO if the command response was not sent to the kernel driver
func (*IOUSBHostCIPortStateMachine) SetConnected ¶
func (o *IOUSBHostCIPortStateMachine) SetConnected(connected bool)
func (*IOUSBHostCIPortStateMachine) SetOvercurrent ¶
func (o *IOUSBHostCIPortStateMachine) SetOvercurrent(overcurrent bool)
func (*IOUSBHostCIPortStateMachine) SetPowered ¶
func (o *IOUSBHostCIPortStateMachine) SetPowered(powered bool)
func (*IOUSBHostCIPortStateMachine) Speed ¶
func (o *IOUSBHostCIPortStateMachine) Speed() IOUSBHostCIDeviceSpeed
func (*IOUSBHostCIPortStateMachine) UpdateLinkStateSpeedInhibitLinkStateChangeError ¶
func (o *IOUSBHostCIPortStateMachine) UpdateLinkStateSpeedInhibitLinkStateChangeError(linkState IOUSBHostCILinkState, speed IOUSBHostCIDeviceSpeed, inhibitLinkStateChange bool) (bool, error)
type IOUSBHostCIUserClientVersion ¶
type IOUSBHostCIUserClientVersion int64
const (
IOUSBHostCIUserClientVersion100 IOUSBHostCIUserClientVersion = 0
)
func (IOUSBHostCIUserClientVersion) String ¶
func (e IOUSBHostCIUserClientVersion) String() string
type IOUSBHostControllerInterface ¶
type IOUSBHostControllerInterface struct {
foundation.NSObject
}
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhostcontrollerinterface
func IOUSBHostControllerInterfaceFromID ¶
func IOUSBHostControllerInterfaceFromID(id objc.ID) *IOUSBHostControllerInterface
func (*IOUSBHostControllerInterface) Capabilities ¶
func (o *IOUSBHostControllerInterface) Capabilities() *IOUSBHostCIMessage
@brief The capabilities structure passed in during initialization @discussion The capabilities passed into the initializer can be retrieved for reference.
func (*IOUSBHostControllerInterface) CapabilitiesForPort ¶
func (o *IOUSBHostControllerInterface) CapabilitiesForPort(port uint) *IOUSBHostCIMessage
@brief Retrieve a port capabilities structure passed in during initialization
func (*IOUSBHostControllerInterface) ControllerStateMachine ¶
func (o *IOUSBHostControllerInterface) ControllerStateMachine() *IOUSBHostCIControllerStateMachine
func (*IOUSBHostControllerInterface) DescriptionForMessage ¶
func (o *IOUSBHostControllerInterface) DescriptionForMessage(message *IOUSBHostCIMessage) *foundation.NSString
func (*IOUSBHostControllerInterface) Destroy ¶
func (o *IOUSBHostControllerInterface) Destroy()
@brief Removes underlying allocations of the IOUSBHostControllerInterface object along with user client @discussion When the IOUSBHostControllerInterface is no longer needed, destroy must be called. This will destroy the connection with the user client and de-register interest on the service. If the object is freed, destroy will be called automatically. Calling destroy multiple times has no effect.
func (*IOUSBHostControllerInterface) EnqueueInterruptError ¶
func (o *IOUSBHostControllerInterface) EnqueueInterruptError(interrupt *IOUSBHostCIMessage) (bool, error)
@brief Enqueue an interrupt for delivery to the kernel service @discussion This method enqueues one interrupt message for delivery to the kernel service. interruptRateHz is used to determine when the interrupt message is delivered to the kernel service. @param interrupt An IOUSBHostCIMessage structure representing an interrupt message
func (*IOUSBHostControllerInterface) EnqueueInterruptExpediteError ¶
func (o *IOUSBHostControllerInterface) EnqueueInterruptExpediteError(interrupt *IOUSBHostCIMessage, expedite bool) (bool, error)
@brief Enqueue an interrupt for delivery to the kernel service @discussion This method enqueues one interrupt message for delivery to the kernel service. @param interrupt An IOUSBHostCIMessage structure representing an interrupt message @param expedite Bool NO to use interruptRateHz to determine when the interrupt message is delivered to the kernel service. Bool YES if interruptRateHz should be ignored, sending the message to the kernel driver at the next opportunity while maintaining in-order delivery of all interrupt messages.
func (*IOUSBHostControllerInterface) EnqueueInterruptsCountError ¶
func (o *IOUSBHostControllerInterface) EnqueueInterruptsCountError(interrupts *IOUSBHostCIMessage, count uint) (bool, error)
@brief Enqueue interrupts for delivery to the kernel service @discussion This method enqueues one or more interrupt messages for delivery to the kernel service. interruptRateHz is used to determine when the interrupt message is delivered to the kernel service. @param interrupts An IOUSBHostCIMessage structure representing one or more interrupt messages @param count The number of interrupt messages represented by the interrupts parameter
func (*IOUSBHostControllerInterface) EnqueueInterruptsCountExpediteError ¶
func (o *IOUSBHostControllerInterface) EnqueueInterruptsCountExpediteError(interrupts *IOUSBHostCIMessage, count uint, expedite bool) (bool, error)
@brief Enqueue interrupts for delivery to the kernel service @discussion This method enqueues one or more interrupt messages for delivery to the kernel service. interruptRateHz is used to determine when the interrupt message is delivered to the kernel service. @param interrupts An IOUSBHostCIMessage structure representing one or more interrupt messages @param count The number of interrupt messages represented by the interrupts parameter @param expedite Bool NO to use interruptRateHz to determine when the interrupt message is delivered to the kernel service. Bool YES if interruptRateHz should be ignored, sending the message to the kernel driver at the next opportunity while maintaining in-order delivery of all interrupt messages.
func (*IOUSBHostControllerInterface) GetPortStateMachineForCommandError ¶
func (o *IOUSBHostControllerInterface) GetPortStateMachineForCommandError(command *IOUSBHostCIMessage) (*IOUSBHostCIPortStateMachine, error)
func (*IOUSBHostControllerInterface) GetPortStateMachineForPortError ¶
func (o *IOUSBHostControllerInterface) GetPortStateMachineForPortError(port uint) (*IOUSBHostCIPortStateMachine, error)
func (*IOUSBHostControllerInterface) InitWithCapabilitiesQueueInterruptRateHzErrorCommandHandlerDoorbellHandlerInterestHandler ¶
func (o *IOUSBHostControllerInterface) InitWithCapabilitiesQueueInterruptRateHzErrorCommandHandlerDoorbellHandlerInterestHandler(capabilities *foundation.NSData, queue *foundation.NSObject, interruptRateHz uint, error_ unsafe.Pointer, commandHandler objc.Block, doorbellHandler func(*IOUSBHostControllerInterface, *uint32, uint32), interestHandler unsafe.Pointer) *IOUSBHostControllerInterface
@brief Initializes IOUSBHostControllerInterface object along with a user client @discussion If the user client cannot be created, nil will be returned. When done using the object, destroy must be called on the object. @param capabilities NSData containing an array of IOUSBHostCIMessage structures. The first must have an IOUSBHostCIMessageControlType of IOUSBHostCIMessageTypeControllerCapabilities, followed by at least one message with an IOUSBHostCIMessageControlType of IOUSBHostCIMessageTypePortCapabilities. @param queue A serial queue to service asynchronous operations. If nil, a serial queue will be created on behalf of the client. @param interruptRateHz NSUInteger representing the rate in Hz at which interrupts will be delivered to the kernel driver. A value ot 0 will send all interrupts to the kernel immediately. @param commandHandler IOUSBHostControllerInterfaceCommandHandler used to process IOUSBHostCIMessage messages sent by the kernel driver. @param doorbellHandler IOUSBHostControllerInterfaceDoorbellHandler used to process IOUSBHostCIDoorbell values sent by the kernel driver. @param interestHandler IOServiceInterestCallback used to process service state changes such as termination. See IOServiceAddInterestNotification in IOKitLib for more details. All notifications will be serviced on an internal serial queue separate from command and doorbell handlers. @return An IOUSBHostControllerInterface. The object is to be released by the caller.
func (*IOUSBHostControllerInterface) InterruptRateHz ¶
func (o *IOUSBHostControllerInterface) InterruptRateHz() uint
@brief The interrupt moderation rate for sending interrupt messages to the kernel driver @discussion interruptRateHz will cause submitted interrupt messages to be batched together and submitted to the kernel at the specified rate. A value ot 0 will deliver all interrupts to the kernel driver as soon as possible.
func (*IOUSBHostControllerInterface) Queue ¶
func (o *IOUSBHostControllerInterface) Queue() *foundation.NSObject
@brief The dispatch queue for asynchronous operations.
func (*IOUSBHostControllerInterface) SetInterruptRateHz ¶
func (o *IOUSBHostControllerInterface) SetInterruptRateHz(interruptRateHz uint)
func (*IOUSBHostControllerInterface) Uuid ¶
func (o *IOUSBHostControllerInterface) Uuid() *foundation.NSUUID
@brief A UUID used to identify the host controller interface in this process and the kernel
type IOUSBHostDevice ¶
type IOUSBHostDevice struct {
IOUSBHostObject
}
@class IOUSBHostDevice @brief The IOUSBHostObject representing a USB device @discussion This class provides functionality to send control requests to the default control endpoint
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhostdevice
func IOUSBHostDeviceFromID ¶
func IOUSBHostDeviceFromID(id objc.ID) *IOUSBHostDevice
func (*IOUSBHostDevice) ConfigurationDescriptor ¶
func (o *IOUSBHostDevice) ConfigurationDescriptor() unsafe.Pointer
@brief Return the currently selected configuration descriptor @discussion This method uses descriptorWithType to return the configuration descriptor currently selected after a successful setConfiguration call @return Pointer to the configuration descriptor if found, or nil if the device is not configured
func (*IOUSBHostDevice) ConfigureWithValueError ¶
func (o *IOUSBHostDevice) ConfigureWithValueError(value uint) (bool, error)
@brief Select a new configuration for the device @discussion This method will select a new configuration for a device. If the device was previously configured all child interfaces will be terminated prior to setting the new configuration. This method will send the SET_CONFIGURATION control request (USB 2.0 9.4.7) to the device. The interfaces will be registered for matching by default. After the completion of this call, the interfaces are not guaranteed to be immediately available. @param value Configuration value to select @return YES on success, an IOReturn error code will be reported on failure.
func (*IOUSBHostDevice) ConfigureWithValueMatchInterfacesError ¶
func (o *IOUSBHostDevice) ConfigureWithValueMatchInterfacesError(value uint, matchInterfaces bool) (bool, error)
@brief Select a new configuration for the device @discussion This method will select a new configuration for a device. If the device was previously configured all child interfaces will be terminated prior to setting the new configuration. This method will send the SET_CONFIGURATION control request (USB 2.0 9.4.7) to the device. The interfaces will be registered for matching by default. After the completion of this call, the interfaces are not guaranteed to be immediately available. @param value Configuration value to select @param matchInterfaces If YES, any interfaces within the new configuration will be registered for matching. By default this is set to YES. @return YES on success, an IOReturn error code will be reported on failure.
func (*IOUSBHostDevice) ResetWithError ¶
func (o *IOUSBHostDevice) ResetWithError() (bool, error)
@brief Terminate the device and attempt to reenumerate it @discussion This function will reset and attempt to reenumerate the USB device. The current IOUSBHostDevice object and all of its children will be terminated. A new IOUSBHostDevice IOService object will be created and registered if the reset is successful and the previous object has finished terminating. The framework IOUSBHostDevice will no longer have a valid connection with IOService userclient after the call returns successfully. A new framework client will need to be created to use the re-enumerated device. @return YES on success, an IOReturn error code will be reported on failure.
type IOUSBHostIOSource ¶
type IOUSBHostIOSource struct {
foundation.NSObject
}
@class IOUSBHostIOSource @brief The abstract class IOUSBHostPipe and IOUSBHostStream derive from. @details Defines common methods that are shared between IOUSBHostPipe and IOUSBHostStream.
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhostiosource
func IOUSBHostIOSourceFromID ¶
func IOUSBHostIOSourceFromID(id objc.ID) *IOUSBHostIOSource
func (*IOUSBHostIOSource) DeviceAddress ¶
func (o *IOUSBHostIOSource) DeviceAddress() uint
@brief Retrieve the device's address @return Current address of the device
func (*IOUSBHostIOSource) EndpointAddress ¶
func (o *IOUSBHostIOSource) EndpointAddress() uint
@brief Retrieve the IOSource's endpoint address @return Current address of the endpoint
func (*IOUSBHostIOSource) HostInterface ¶
func (o *IOUSBHostIOSource) HostInterface() *IOUSBHostInterface
@brief Retrieve the source's IOUSBHostInterface @return IOUSBHostInterface pointer that the IOSource was created from.
type IOUSBHostIOSourceDescriptors ¶
type IOUSBHostIOSourceDescriptors struct {
BcdUSB uint16
Descriptor unsafe.Pointer
SsCompanionDescriptor unsafe.Pointer
SspCompanionDescriptor unsafe.Pointer
}
@struct IOUSBHostIOSourceDescriptors @brief Encapsulates descriptors for a single endpoint @discussion The IOUSBHostIOSourceDescriptors struct is used to initialize and adjust pipes in the system. The bcdUSB member must be initialized to the USB revision supported by the device. Acceptable values are 0x0110, 0x0200, 0x0300, 0x0310. The descriptor member must always be initialized with a valid endpoint descriptor. The ssCompanionDescriptor and sspCompanionDescriptor members may be required for bcdUSB versions 0x0300 and greater, depending on device operating speed and values set in the descriptors. See USB 3.1 § 9.5 for more information on when these descriptors may be required.
type IOUSBHostInterface ¶
type IOUSBHostInterface struct {
IOUSBHostObject
}
@class IOUSBHostInterface @brief The IOUSBHostObject representing a USB interface @discussion This class provides functionality to send control requests to the default control endpoint, as well as create IOUSBHostPipe objects to transfer data.
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhostinterface
func IOUSBHostInterfaceFromID ¶
func IOUSBHostInterfaceFromID(id objc.ID) *IOUSBHostInterface
func (*IOUSBHostInterface) ConfigurationDescriptor ¶
func (o *IOUSBHostInterface) ConfigurationDescriptor() unsafe.Pointer
@brief Retrieve the configuration descriptor associated with this interface @return IOUSBConfigurationDescriptor pointer
func (*IOUSBHostInterface) CopyPipeWithAddressError ¶
func (o *IOUSBHostInterface) CopyPipeWithAddressError(address uint) (*IOUSBHostPipe, error)
@brief Return the pipe whose <code>bEndpointAddress</code> matches <code>address</code> @discussion This method will return the pipe whose <code>bEndpointAddress</code> matches <code>address</code>. If the pipe is returned successfully, it will maintain a reference to the IOUSBHostInterface. @param address Endpoint address of the pipe @return Pointer to an IOUSBHostPipe object or nil. The IOUSBHostPipe is to be released by the caller. An IOReturn error code will be reported on failure.
func (*IOUSBHostInterface) IdleTimeout ¶
func (o *IOUSBHostInterface) IdleTimeout() float64
@brief Retrieve the current idle suspend timeout. See @link setIdleTimeout @/link @return The amount of time after all pipes are idle to wait before suspending the device,
func (*IOUSBHostInterface) InitWithIOServiceOptionsQueueErrorInterestHandler ¶
func (o *IOUSBHostInterface) InitWithIOServiceOptionsQueueErrorInterestHandler(ioService uint, options IOUSBHostObjectInitOptions, queue *foundation.NSObject, error_ unsafe.Pointer, interestHandler func(*IOUSBHostObject, uint32, unsafe.Pointer)) *IOUSBHostInterface
@brief Initializes IOUSBHostInterface object along with user client @discussion See IOUSBHostObject for documentation.
func (*IOUSBHostInterface) InterfaceDescriptor ¶
func (o *IOUSBHostInterface) InterfaceDescriptor() unsafe.Pointer
@brief Retrieve the interface descriptor associated with this interface. @return IOUSBInterfaceDescriptor pointer
func (*IOUSBHostInterface) SelectAlternateSettingError ¶
func (o *IOUSBHostInterface) SelectAlternateSettingError(alternateSetting uint) (bool, error)
@brief Select an alternate setting for this interface @discussion This method is used to select an alternate setting for the interface. All pending IO on the interface's pipes will be aborted, and the open pipes will be closed. The IOUSBHostPipe objects already created will no longer be valid. The new alternate setting will be selected via SET_INTERFACE control request (USB 2.0 9.4.10). @param alternateSetting Alternate interface number to activate @return YES on success, an IOReturn error code will be reported on failure.
func (*IOUSBHostInterface) SetIdleTimeoutError ¶
func (o *IOUSBHostInterface) SetIdleTimeoutError(idleTimeout float64) (bool, error)
@brief Sets the desired idle suspend timeout for the interface @discussion Once the interface is considered idle, it will defer electrical suspend of the device for the specified duration. @param idleTimeout The amount of time after all pipes are idle to wait before suspending the device. @return YES on success. An IOReturn error code will be reported on failure.
type IOUSBHostIsochronousFrame ¶
type IOUSBHostIsochronousFrame struct {
Status int
RequestCount uint32
CompleteCount uint32
Reserved uint32
TimeStamp uint64
}
@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 the structure is submitted. @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 IOUSBHostTime for this frame's completion. Note that interrupt latency and system load may result in more than one frame completing with the same timestamp.
type IOUSBHostIsochronousTransaction ¶
type IOUSBHostIsochronousTransaction struct {
Status int
RequestCount uint32
Offset uint32
CompleteCount uint32
TimeStamp uint64
Options IOUSBHostIsochronousTransactionOptions
}
@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 the structure is submitted. @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 IOUSBHostTime 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 IOUSBHostIsochronousTransactionOptions @/link for more details.
type IOUSBHostIsochronousTransactionOptions ¶
type IOUSBHostIsochronousTransactionOptions int64
const ( IOUSBHostIsochronousTransactionOptionsNone IOUSBHostIsochronousTransactionOptions = 0 IOUSBHostIsochronousTransactionOptionsWrap IOUSBHostIsochronousTransactionOptions = 1 )
func (IOUSBHostIsochronousTransactionOptions) String ¶
func (e IOUSBHostIsochronousTransactionOptions) String() string
type IOUSBHostIsochronousTransferOptions ¶
type IOUSBHostIsochronousTransferOptions int64
const (
IOUSBHostIsochronousTransferOptionsNone IOUSBHostIsochronousTransferOptions = 0
)
func (IOUSBHostIsochronousTransferOptions) String ¶
func (e IOUSBHostIsochronousTransferOptions) String() string
type IOUSBHostObject ¶
type IOUSBHostObject struct {
foundation.NSObject
}
@class IOUSBHostObject @brief The Abstract class IOUSBHostDevice and IOUSBHostInterface derive from. @details Defines common methods that are shared between IOUSBHostDevice and IOUSBHostInterface including instance management.
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhostobject
func IOUSBHostObjectFromID ¶
func IOUSBHostObjectFromID(id objc.ID) *IOUSBHostObject
func (*IOUSBHostObject) AbortDeviceRequestsWithError ¶
func (o *IOUSBHostObject) AbortDeviceRequestsWithError() (bool, error)
@brief Abort device requests @discussion This method will abort any requests made via the @link sendDeviceRequest @/link and @link enqueueDeviceRequest @/link methods. @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostObject) AbortDeviceRequestsWithOptionError ¶
func (o *IOUSBHostObject) AbortDeviceRequestsWithOptionError(option IOUSBHostAbortOption) (bool, error)
@brief Abort device requests @discussion This method will abort any requests made via the @link sendDeviceRequest @/link and @link enqueueDeviceRequest @/link methods. @param option IOUSBHostAbortOption by default IOUSBHostAbortOptionSynchronous is used @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostObject) CapabilityDescriptors ¶
func (o *IOUSBHostObject) CapabilityDescriptors() unsafe.Pointer
@brief Return the capability descriptors of the device @discussion This method uses descriptorWithType to return the device's BOS descriptors @return Pointer to the BOS descriptor if found, otherwise nil.
func (*IOUSBHostObject) ConfigurationDescriptorWithConfigurationValueError ¶
func (o *IOUSBHostObject) ConfigurationDescriptorWithConfigurationValueError(configurationValue uint) (unsafe.Pointer, error)
@brief Return the configuration descriptor with a specified value @discussion This method uses descriptorWithType to search for a configuration descriptor with a specific <code>bConfigurationValue</code> field. @param configurationValue Value to match @return Pointer of the configuration descriptor if found, otherwise nil. An IOReturn error code will be reported on failure.
func (*IOUSBHostObject) ConfigurationDescriptorWithIndexError ¶
func (o *IOUSBHostObject) ConfigurationDescriptorWithIndexError(index uint) (unsafe.Pointer, error)
@brief Return the configuration descriptor at a specified index @discussion This method uses descriptorWithType to retrieve the configuration descriptor. @param index Descriptor index value @return Pointer of the configuration descriptor if found, otherwise nil. An IOReturn error code will be reported on failure.
func (*IOUSBHostObject) CurrentMicroframeWithTimeError ¶
func (o *IOUSBHostObject) CurrentMicroframeWithTimeError(time_ *uint64) (uint64, error)
@brief Return the current microframe number of the USB controller @discussion This method will return the current microframe number of the USB controller. This is most useful for scheduling future isochronous requests. @param time If not nil, this will be updated with system time associated with the microframe. @return The current microframe number. Returns 0 on failure, with NSError populated with the IOReturn error code.
func (*IOUSBHostObject) DescriptorWithTypeLengthError ¶
func (o *IOUSBHostObject) DescriptorWithTypeLengthError(type_ unsafe.Pointer, length *uint) (unsafe.Pointer, error)
@brief Retrieve a descriptor from the cache or the device @discussion This method will search the descriptor cache for the descriptor that matches the input arguments. If the descriptor is not in the cache, a GET_DESCRIPTOR control request (USB 2.0 9.4.3) will be issued to retrieve the descriptor from the device. If the device request is successful, the retrieved descriptor will be added to the cache. @param type <code>bDescriptorType</code> of the descriptor to find. @param length Reference to a NSUInteger which will be updated with the length of the descriptor. As input, used as <code>wLength</code> when fetching variable-length configuration or BOS descriptors, or when fetching nonstandard descriptor types. By default the value is 0 @return Pointer to the cached descriptor if found, otherwise nil. An IOReturn error code will be reported on failure.
func (*IOUSBHostObject) DescriptorWithTypeLengthIndexLanguageIDError ¶
func (o *IOUSBHostObject) DescriptorWithTypeLengthIndexLanguageIDError(type_ unsafe.Pointer, length *uint, index uint, languageID uint) (unsafe.Pointer, error)
@brief Retrieve a descriptor from the cache or the device @discussion This method will search the descriptor cache for the descriptor that matches the input arguments. If the descriptor is not in the cache, a GET_DESCRIPTOR control request (USB 2.0 9.4.3) will be issued to retrieve the descriptor from the device. If the device request is successful, the retrieved descriptor will be added to the cache. @param type <code>bDescriptorType</code> of the descriptor to find. @param length Reference to a NSUInteger which will be updated with the length of the descriptor. As input, used as <code>wLength</code> when fetching variable-length configuration or BOS descriptors, or when fetching nonstandard descriptor types. @param index Descriptor index value. Low byte of <code>wValue</code> of the SET_DESCRIPTOR control request (USB 2.0 9.4.8). By default the value is 0 @param languageID Descriptor language ID. <code>wIndex</code> of the SET_DESCRIPTOR control request (USB 2.0 9.4.8). By default the value is 0 @return Pointer to the cached descriptor if found, otherwise nil. An IOReturn error code will be reported on failure.
func (*IOUSBHostObject) DescriptorWithTypeLengthIndexLanguageIDRequestTypeRequestRecipientError ¶
func (o *IOUSBHostObject) DescriptorWithTypeLengthIndexLanguageIDRequestTypeRequestRecipientError(type_ unsafe.Pointer, length *uint, index uint, languageID uint, requestType unsafe.Pointer, requestRecipient unsafe.Pointer) (unsafe.Pointer, error)
@brief Retrieve a descriptor from the cache or the device @discussion This method will search the descriptor cache for the descriptor that matches the input arguments. If the descriptor is not in the cache, a GET_DESCRIPTOR control request (USB 2.0 9.4.3) will be issued to retrieve the descriptor from the device. If the device request is successful, the retrieved descriptor will be added to the cache. @param type <code>bDescriptorType</code> of the descriptor to find. @param length Reference to a NSUInteger which will be updated with the length of the descriptor. As input, used as <code>wLength</code> when fetching variable-length configuration or BOS descriptors, or when fetching nonstandard descriptor types. @param index Descriptor index value. Low byte of <code>wValue</code> of the SET_DESCRIPTOR control request (USB 2.0 9.4.8). By default the value is 0 @param languageID Descriptor language ID. <code>wIndex</code> of the SET_DESCRIPTOR control request (USB 2.0 9.4.8). By default the value is 0 @param requestType tDeviceRequestType to be used for a GET_DESCRIPTOR control request. By default the value is IOUSBRequestTypeStandard @param requestRecipient tDeviceRequestRecipient to be used for a GET_DESCRIPTOR control request. By default the value is IOUSBRequestRecipientDevice @return Pointer to the cached descriptor if found, otherwise nil. An IOReturn error code will be reported on failure.
func (*IOUSBHostObject) Destroy ¶
func (o *IOUSBHostObject) Destroy()
@brief Removes underlying allocations of the IOUSBHostObject object along with user client @discussion When the IOUSBHostObject is no longer needed, destroy must be called. This will destroy the connection with the user client and de-register interest on the service. If the object is free'd destroy will be called automatically. Calling destroy multiple times has no effect.
func (*IOUSBHostObject) DestroyWithOptions ¶
func (o *IOUSBHostObject) DestroyWithOptions(options IOUSBHostObjectDestroyOptions)
@brief Removes underlying allocations of the IOUSBHostObject object along with user client @discussion Extends <code>destroy</code> to take an options to modify the destroy behavior. Currently only the <code>IOUSBHostObjectDestroyOptionsDeviceSurrender</code> is defined to support surrendering ownersip of the kernel service. To be used when accepting the <code>kUSBHostMessageDeviceIsRequestingClose</code> message.
func (*IOUSBHostObject) DeviceAddress ¶
func (o *IOUSBHostObject) DeviceAddress() uint
@brief Retrieve the current address of the device.
func (*IOUSBHostObject) DeviceDescriptor ¶
func (o *IOUSBHostObject) DeviceDescriptor() unsafe.Pointer
@brief Return the device descriptor @discussion This method uses descriptorWithType to retrieve the device descriptor. @return Pointer to the device descriptor.
func (*IOUSBHostObject) EnqueueDeviceRequestDataCompletionTimeoutErrorCompletionHandler ¶
func (o *IOUSBHostObject) EnqueueDeviceRequestDataCompletionTimeoutErrorCompletionHandler(request unsafe.Pointer, data *foundation.NSMutableData, completionTimeout float64, error_ unsafe.Pointer, completionHandler func(int, uint)) bool
@brief Enqueue a request on the default control endpoint @discussion This method will enqueue an asynchronous request on the default control endpoint. If successful, the provided completionHandler will be called to report the status of the completed IO. @param data An NSMutableData* defining the memory to use for the request's data phase. @param completionTimeout Timeout of the request. If 0, the request will never timeout. By default this value is IOUSBHostDefaultControlCompletionTimeout @param completionHandler an IOUSBHostCompletionHandler @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostObject) EnqueueDeviceRequestDataErrorCompletionHandler ¶
func (o *IOUSBHostObject) EnqueueDeviceRequestDataErrorCompletionHandler(request unsafe.Pointer, data *foundation.NSMutableData, error_ unsafe.Pointer, completionHandler func(int, uint)) bool
@brief Enqueue a request on the default control endpoint @discussion This method will enqueue an asynchronous request on the default control endpoint. If successful, the provided completionHandler will be called to report the status of the completed IO. @param data An NSMutableData* defining the memory to use for the request's data phase. @param completionHandler an IOUSBHostCompletionHandler @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostObject) EnqueueDeviceRequestErrorCompletionHandler ¶
func (o *IOUSBHostObject) EnqueueDeviceRequestErrorCompletionHandler(request unsafe.Pointer, error_ unsafe.Pointer, completionHandler func(int, uint)) bool
@brief Enqueue a request on the default control endpoint @discussion This method will enqueue an asynchronous request on the default control endpoint. If successful, the provided completionHandler will be called to report the status of the completed IO. default this value is IOUSBHostDefaultControlCompletionTimeout @param completionHandler an IOUSBHostCompletionHandler @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostObject) FrameNumberWithTime ¶
func (o *IOUSBHostObject) FrameNumberWithTime(time_ *uint64) uint64
@brief Return the current frame number of the USB controller @discussion This method will return the current frame number of the USB controller, omitting micro frame. This is most useful for scheduling future isochronous requests. @param time If not nil, this will be updated with the current system time @return The current frame number
func (*IOUSBHostObject) InitWithIOServiceOptionsQueueErrorInterestHandler ¶
func (o *IOUSBHostObject) InitWithIOServiceOptionsQueueErrorInterestHandler(ioService uint, options IOUSBHostObjectInitOptions, queue *foundation.NSObject, error_ unsafe.Pointer, interestHandler func(*IOUSBHostObject, uint32, unsafe.Pointer)) *IOUSBHostObject
@brief Initializes IOUSBHostObject object along with user client @discussion If the io_service_t is not found nil will be returned. If an IOUSBHostDevice or IOUSBHostInterface user client is already created, nil will be returned. Upon creation, exclusive ownership of the IOService will be established. When done using the object destroy must be called on the object. @param ioService io_service_t of the IOUSBHostDevice or IOUSBHostInterface the user client is for. The IOUSBHostObject will keep a reference to the io_service_t and release it after the IOUSBHostObject has been released. @param options IOUSBHostObjectInitOptions. Default value is IOUSBHostObjectInitOptionsNone @param queue A serial queue that all asynchronous io will be serviced. By default a serial queue will be created on behalf of the client. Setting a queue will create a dispatch source event handler for the target queue to service all underlying io. @param interestHandler IOUSBHostInterestHandler a generalInterest IOService handler. This is to handle underlying service state changes such as termination. See IOServiceAddInterestNotification in IOKitLib for more details. All notifications will be serviced on an internal serial queue separate from the IO queue. @return An IOUSBHostDevice or IOUSBHostInterface. The object is to be released by the caller. An IOReturn error code will be reported on failure.
func (*IOUSBHostObject) InitWithIOServiceQueueErrorInterestHandler ¶
func (o *IOUSBHostObject) InitWithIOServiceQueueErrorInterestHandler(ioService uint, queue *foundation.NSObject, error_ unsafe.Pointer, interestHandler func(*IOUSBHostObject, uint32, unsafe.Pointer)) *IOUSBHostObject
@brief Initializes IOUSBHostObject object along with user client @discussion This method should be called from either IOUSBHostDevice or IOUSBHostInterface. If the io_service_t is not found nil will be returned. If an IOUSBHostDevice or IOUSBHostInterface user client is already created, nil will be returned. Upon creation, exclusive ownership of the IOService will be established. When done using the object destroy must be called on the object. @param ioService io_service_t of the IOUSBHostDevice or IOUSBHostInterface the user client is for. The IOUSBHostObject will keep a reference to the io_service_t and release it after the IOUSBHostObject has been released. @param queue A serial queue that all asynchronous io will be serviced. By default a serial queue will be created on behalf of the client. Setting a queue will create a dispatch source event handler for the target queue to service all underlying io. @param interestHandler IOUSBHostInterestHandler a generalInterest IOService handler. This is to handle underlying service state changes such as termination. See IOServiceAddInterestNotification in IOKitLib for more details. All notifications will be serviced on an internal serial queue separate from the IO queue. @return An IOUSBHostDevice or IOUSBHostInterface. The object is to be released by the caller. An IOReturn error code will be reported on failure.
func (*IOUSBHostObject) IoDataWithCapacityError ¶
func (o *IOUSBHostObject) IoDataWithCapacityError(capacity uint) (*foundation.NSMutableData, error)
@brief Allocate a buffer to be used for I/O @discussion This method will allocate and map an IOBufferMemoryDescriptor optimized for use by the underlying controller hardware. A buffer allocated by this method will not be bounced to perform DMA operations. Because the NSMutableData is backed by kernel memory, the length and capacity are not mutable. Any changes to the length or capacity will cause an exception to be thrown. @param capacity Size of the buffer to allocate @return NSMutableData of memory mapped to user space of an IOBufferMemoryDescriptor if successful, otherwise nil. An IOReturn error code will be reported on failure. The result is to be released by the caller
func (*IOUSBHostObject) IoService ¶
func (o *IOUSBHostObject) IoService() uint
@brief Retrieve the IOUSBHostObject's io_service_t.
func (*IOUSBHostObject) Queue ¶
func (o *IOUSBHostObject) Queue() *foundation.NSObject
@brief The dispatch queue that all asynchronous io will be serviced.
func (*IOUSBHostObject) ReferenceMicroframeWithTimeError ¶
func (o *IOUSBHostObject) ReferenceMicroframeWithTimeError(time_ *uint64) (uint64, error)
@brief Return a recent microframe number of the USB controller @discussion This method will return a recent microframe number of the USB controller. This is most useful for scheduling future isochronous requests. @param time If not nil, this will be updated with system time associated with the microframe. @return A recent microframe number. Returns 0 on failure, with NSError populated with the IOReturn error code.
func (*IOUSBHostObject) SendDeviceRequestDataBytesTransferredCompletionTimeoutError ¶
func (o *IOUSBHostObject) SendDeviceRequestDataBytesTransferredCompletionTimeoutError(request unsafe.Pointer, data *foundation.NSMutableData, bytesTransferred *uint, completionTimeout float64) (bool, error)
@brief Send a request on the default control endpoint @discussion This method will send a synchronous request on the default control endpoint, and will not return until the request is complete. @param request IOUSBDeviceRequest structure. @param data An NSMutableData* defining the memory to use for the request's data phase. @param bytesTransferred Optional NSUInteger reference which will be updated with the byte count of the completed data phase. @param completionTimeout Timeout of the request. If 0, the request will never timeout. By default this value is IOUSBHostDefaultControlCompletionTimeout. @return YES on success, an IOReturn error code will be reported on failure.
func (*IOUSBHostObject) SendDeviceRequestDataBytesTransferredError ¶
func (o *IOUSBHostObject) SendDeviceRequestDataBytesTransferredError(request unsafe.Pointer, data *foundation.NSMutableData, bytesTransferred *uint) (bool, error)
@brief Send a request on the default control endpoint @discussion This method will send a synchronous request on the default control endpoint, and will not return until the request is complete. @param request IOUSBDeviceRequest structure. @param data An NSMutableData* defining the memory to use for the request's data phase. @param bytesTransferred Optional NSUInteger reference which will be updated with the byte count of the completed data phase. @return YES on success, an IOReturn error code will be reported on failure.
func (*IOUSBHostObject) SendDeviceRequestError ¶
func (o *IOUSBHostObject) SendDeviceRequestError(request unsafe.Pointer) (bool, error)
@brief Send a request on the default control endpoint @discussion This method will send a synchronous request on the default control endpoint, and will not return until the request is complete. @param request IOUSBDeviceRequest structure. @return YES on success, an IOReturn error code will be reported on failure.
func (*IOUSBHostObject) StringWithIndexError ¶
func (o *IOUSBHostObject) StringWithIndexError(index uint) (*foundation.NSString, error)
@brief Returns the string from a string descriptor @discussion This method uses descriptorWithType to retrieve the string descriptor. @param index Descriptor index value. Low byte of <code>wValue</code> of the SET_DESCRIPTOR control request (USB 2.0 9.4.8). @return NSString reference to string from descriptor, an IOReturn error code will be reported on failure.
func (*IOUSBHostObject) StringWithIndexLanguageIDError ¶
func (o *IOUSBHostObject) StringWithIndexLanguageIDError(index uint, languageID uint) (*foundation.NSString, error)
@brief Returns the string from a string descriptor @discussion This method uses descriptorWithType to retrieve the string descriptor. @param index Descriptor index value. Low byte of <code>wValue</code> of the SET_DESCRIPTOR control request (USB 2.0 9.4.8). @param languageID Descriptor language ID. <code>wIndex</code> of the SET_DESCRIPTOR control request (USB 2.0 9.4.8). By default this value is kLanguageIDEnglishUS @return NSString reference to string from descriptor, an IOReturn error code will be reported on failure.
type IOUSBHostObjectDestroyOptions ¶
type IOUSBHostObjectDestroyOptions uint64
const ( IOUSBHostObjectDestroyOptionsNone IOUSBHostObjectDestroyOptions = 0 IOUSBHostObjectDestroyOptionsDeviceSurrender IOUSBHostObjectDestroyOptions = 1 )
func (IOUSBHostObjectDestroyOptions) String ¶
func (e IOUSBHostObjectDestroyOptions) String() string
type IOUSBHostObjectInitOptions ¶
type IOUSBHostObjectInitOptions uint64
const ( IOUSBHostObjectInitOptionsNone IOUSBHostObjectInitOptions = 0 IOUSBHostObjectInitOptionsDeviceCapture IOUSBHostObjectInitOptions = 1 IOUSBHostObjectInitOptionsDeviceSeize IOUSBHostObjectInitOptions = 2 )
func (IOUSBHostObjectInitOptions) String ¶
func (e IOUSBHostObjectInitOptions) String() string
type IOUSBHostPipe ¶
type IOUSBHostPipe struct {
IOUSBHostIOSource
}
@class IOUSBHostPipe @brief The IOUSBHostIOSource representing a USB endpoint @discussion This class provides functionality to transfer data across USB.
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhostpipe
func IOUSBHostPipeFromID ¶
func IOUSBHostPipeFromID(id objc.ID) *IOUSBHostPipe
func (*IOUSBHostPipe) AbortWithError ¶
func (o *IOUSBHostPipe) AbortWithError() (bool, error)
@brief Abort pending I/O requests. @discussion This method will abort all pending I/O requests. If <code>option</code> includes <code>IOUSBHostAbortOptionSynchronous</code>, this method will block any new IO requests unless they are submitted from an aborted IO's completion routine. @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) AbortWithOptionError ¶
func (o *IOUSBHostPipe) AbortWithOptionError(option IOUSBHostAbortOption) (bool, error)
@brief Abort pending I/O requests. @discussion This method will abort all pending I/O requests. If <code>option</code> includes <code>IOUSBHostAbortOptionSynchronous</code>, this method will block any new IO requests unless they are submitted from an aborted IO's completion routine. @param option IOUSBHostAbortOption by default IOUSBHostAbortOptionSynchronous is used @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) AdjustPipeWithDescriptorsError ¶
func (o *IOUSBHostPipe) AdjustPipeWithDescriptorsError(descriptors *IOUSBHostIOSourceDescriptors) (bool, error)
@brief Adjust behavior of periodic endpoints to consume a different amount of bus bandwidth @discussion Periodic (interrupt and isochronous) endpoints reserve bus bandwidth when they are created, which takes into account max packet size, burst size, and the endpoint service interval. If a function driver knows the endpoint will not use all of the allocated bandwidth, the <code>adjustPolicy</code> method may be used to reduce the bandwidth reserved for the endpoint. The original endpoint descriptors should be copied and modified to adjust max packet size, mult, burst, and interval, and then passed to <code>adjustPolicy</code>. The altered descriptors must pass <code>validateEndpointDescriptor(...)</code> from the kernel for policy changes to be processed. @param descriptors Reference to an IOUSBHostIOSourceDescriptors describing the new endpoint policy @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) ClearStallWithError ¶
func (o *IOUSBHostPipe) ClearStallWithError() (bool, error)
@brief Clear the halt condition of the pipe. @discussion When a bulk or interrupt USB endpoint encounters any IO error other than a timeout, it transitions to a Halted state which must be cleared to perform additional IO on the endpoint. This method will clear the halted condition for the endpoint, including sending a CLEAR_TT_BUFFER control request (USB 2.0 11.24.2.3) to an intermediate hub if required. All pending IO on the endpoint will be aborted, and the data toggle for the endpoint will also be reset. ClearStall is not required for control endpoints. @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) CopyStreamWithStreamIDError ¶
func (o *IOUSBHostPipe) CopyStreamWithStreamIDError(streamID uint) (*IOUSBHostStream, error)
@brief Return the stream associated with <code>streamID</code> @discussion This method will return the stream associated with <code>streamID</code>. The caller must release the IOUSBHostStream when finished using it. <code>[IOUSBHostPipe enableStreams]</code> must be called before this method will return a stream object. @param streamID Stream ID in the range of 1 to <code>max</code>, where <code>max</code> can be retrieved by calling <code>getEndpointMaxStreams</code> with the endpoint descriptors. @return Pointer to an IOUSBHostStream object or nil. nil may be returned if either the device or the underlying host controller do not support that stream ID.
func (*IOUSBHostPipe) Descriptors ¶
func (o *IOUSBHostPipe) Descriptors() *IOUSBHostIOSourceDescriptors
@brief Retrieve the current descriptor controlling the endpoint. @return IOUSBHostIOSourceDescriptors pointer
func (*IOUSBHostPipe) DisableStreamsWithError ¶
func (o *IOUSBHostPipe) DisableStreamsWithError() (bool, error)
@brief Disable streams for the IOUSBHostPipe @discussion This method changes the operational mode of the IOUSBHostPipe to disable streaming endpoint transfers. Calling this method will synchronously abort any outstanding calls on existing IOUSBHostStream objects, and therefore all stream contexts should first be set as non-active on the device via an out-of-band (class-defined) mechanism (USB 3.1 8.12.1.4). @return YES on success, An IOReturn error will be returned if streams were not enabled for this IOUSBHostPipe.
func (*IOUSBHostPipe) EnableStreamsWithError ¶
func (o *IOUSBHostPipe) EnableStreamsWithError() (bool, error)
@brief Enable streams for the IOUSBHostPipe @discussion This method changes the operational mode of the IOUSBHostPipe to allow streaming endpoint transfers, and must be called before copyStream will return any IOUSBHostStream objects. @return YES on success, an An IOReturn error will be returned if the pipe, device, or underlying host controller does not support streams.
func (*IOUSBHostPipe) EnqueueControlRequestDataCompletionTimeoutErrorCompletionHandler ¶
func (o *IOUSBHostPipe) EnqueueControlRequestDataCompletionTimeoutErrorCompletionHandler(request unsafe.Pointer, data *foundation.NSMutableData, completionTimeout float64, error_ unsafe.Pointer, completionHandler func(int, uint)) bool
@brief Enqueue a request on a control endpoint @discussion This method will enqueue an asynchronous request on a control endpoint. If successful, the provided completion routine will be called to report the status of the completed IO. Completions will be serviced in the IOUSBHostCompletionHandler on the IOUSBHostInterface's dispatch queue. @param request Reference IOUSBDeviceRequest structure. @param data An NSMutableData* defining the memory to use for the request's data phase. @param completionTimeout Timeout of the request. If 0, the request will never timeout. The default value is IOUSBHostDefaultControlCompletionTimeout. @param completionHandler an IOUSBHostCompletionHandler @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) EnqueueControlRequestDataErrorCompletionHandler ¶
func (o *IOUSBHostPipe) EnqueueControlRequestDataErrorCompletionHandler(request unsafe.Pointer, data *foundation.NSMutableData, error_ unsafe.Pointer, completionHandler func(int, uint)) bool
@brief Enqueue a request on a control endpoint @discussion This method will enqueue an asynchronous request on a control endpoint. If successful, the provided completion routine will be called to report the status of the completed IO. Completions will be serviced in the IOUSBHostCompletionHandler on the IOUSBHostInterface's dispatch queue. @param request Reference IOUSBDeviceRequest structure. @param data An NSMutableData* defining the memory to use for the request's data phase. @param completionHandler an IOUSBHostCompletionHandler @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) EnqueueControlRequestErrorCompletionHandler ¶
func (o *IOUSBHostPipe) EnqueueControlRequestErrorCompletionHandler(request unsafe.Pointer, error_ unsafe.Pointer, completionHandler func(int, uint)) bool
@brief Enqueue a request on a control endpoint @discussion This method will enqueue an asynchronous request on a control endpoint. If successful, the provided completion routine will be called to report the status of the completed IO. Completions will be serviced in the IOUSBHostCompletionHandler on the IOUSBHostInterface's dispatch queue. @param request Reference IOUSBDeviceRequest structure. @param completionHandler an IOUSBHostCompletionHandler @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) EnqueueIORequestWithDataCompletionTimeoutErrorCompletionHandler ¶
func (o *IOUSBHostPipe) EnqueueIORequestWithDataCompletionTimeoutErrorCompletionHandler(data *foundation.NSMutableData, completionTimeout float64, error_ unsafe.Pointer, completionHandler func(int, uint)) bool
@brief Enqueue an IO request on the source @discussion This method is used to issue an asynchronous I/O request on a bulk or interrupt pipe. @param data An NSMutableData* containing the buffer to use for the transfer. nil will send a zero length packet. @param completionTimeout Timeout of the request. If 0, the request will never timeout. Must be 0 for interrupt pipes and streams. @param completionHandler an IOUSBHostCompletionHandler @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) EnqueueIORequestWithDataFrameListFrameListCountFirstFrameNumberErrorCompletionHandler ¶
func (o *IOUSBHostPipe) EnqueueIORequestWithDataFrameListFrameListCountFirstFrameNumberErrorCompletionHandler(data *foundation.NSMutableData, frameList *IOUSBHostIsochronousFrame, frameListCount uint, firstFrameNumber uint64, error_ unsafe.Pointer, completionHandler func(int, *IOUSBHostIsochronousFrame)) bool
@brief Send a request on an isochronous endpoint @discussion This method is used to issue isochronous requests. The caller allocates and initializes an array of IOUSBHostIsochronousFrame structures, which is used to describe the frames that will be transferred. See @link IOUSBHostIsochronousFrame @/link for information regarding structure initialization requirements and usage. @param data An NSMutableData* to be used as the backing store for the I/O. @param frameList Pointer first element in an IOUSBHostIsochronousFrame array. The array must contain at least frameListCount elements. @param frameListCount Number of elements in <code>frameList</code>. @param firstFrameNumber Frame number which this request should begin on. The current frame number can be queried via <code>[IOUSBHostObject frameNumberWithTime]</code> If 0, the transfer will start on the next available frame (XHCI only). @param completionHandler an IOUSBHostIsochronousCompletionHandler @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) EnqueueIORequestWithDataTransactionListTransactionListCountFirstFrameNumberOptionsErrorCompletionHandler ¶
func (o *IOUSBHostPipe) EnqueueIORequestWithDataTransactionListTransactionListCountFirstFrameNumberOptionsErrorCompletionHandler(data *foundation.NSMutableData, transactionList *IOUSBHostIsochronousTransaction, transactionListCount uint, firstFrameNumber uint64, options IOUSBHostIsochronousTransferOptions, error_ unsafe.Pointer, completionHandler func(int, *IOUSBHostIsochronousTransaction)) bool
@brief Send a request on an isochronous endpoint @discussion This method is used to issue isochronous requests. The caller allocates and initializes an array of IOUSBHostIsochronousTransaction structures, which is used to describe the frames that will be transferred. See @link IOUSBHostIsochronousTransaction @/link for information regarding structure initialization requirements and usage. @param data An NSMutableData* to be used as the backing store for the I/O. @param transactionList Pointer to the first element in an IOUSBHostIsochronousTransaction array. The array must contain at least transactionListCount elements. @param transactionListCount Number of elements in <code>transactionList</code>. @param firstFrameNumber Frame number which this request should begin on. The current frame number can be queried via <code>[IOUSBHostObject frameNumberWithTime]</code> If 0, the transfer will start on the next available frame (XHCI only). @param options Flags that specify additional behavior for every transaction in this transfer. @param completionHandler an IOUSBHostIsochronousTransactionCompletionHandler @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) IdleTimeout ¶
func (o *IOUSBHostPipe) IdleTimeout() float64
@brief Retrieve the current idle suspend timeout. See @link setIdleTimeout @/link @return The amount of time after all pipes are idle to wait before suspending the device,
func (*IOUSBHostPipe) OriginalDescriptors ¶
func (o *IOUSBHostPipe) OriginalDescriptors() *IOUSBHostIOSourceDescriptors
@brief Retrieve the Original descriptor used when creating the pipe. @return IOUSBHostIOSourceDescriptors pointer
func (*IOUSBHostPipe) SendControlRequestDataBytesTransferredCompletionTimeoutError ¶
func (o *IOUSBHostPipe) SendControlRequestDataBytesTransferredCompletionTimeoutError(request unsafe.Pointer, data *foundation.NSMutableData, bytesTransferred *uint, completionTimeout float64) (bool, error)
@brief Send a request on a control endpoint @discussion This method will send a synchronous request on a control endpoint, and will not return until the request is complete. @param request IOUSBDeviceRequest structure. @param data An NSMutableData* defining the memory to use for the request's data phase. @param bytesTransferred An NSUInteger reference which will be updated with the byte count of the completed data phase. @param completionTimeout Timeout of the request. If 0, the request will never timeout. The default value is IOUSBHostDefaultControlCompletionTimeout. @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) SendControlRequestDataBytesTransferredError ¶
func (o *IOUSBHostPipe) SendControlRequestDataBytesTransferredError(request unsafe.Pointer, data *foundation.NSMutableData, bytesTransferred *uint) (bool, error)
@brief Send a request on a control endpoint @discussion This method will send a synchronous request on a control endpoint, and will not return until the request is complete. @param request IOUSBDeviceRequest structure. @param data An NSMutableData* defining the memory to use for the request's data phase. @param bytesTransferred An NSUInteger reference which will be updated with the byte count of the completed data phase. @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) SendControlRequestError ¶
func (o *IOUSBHostPipe) SendControlRequestError(request unsafe.Pointer) (bool, error)
@brief Send a request on a control endpoint @discussion This method will send a synchronous request on a control endpoint, and will not return until the request is complete. @param request IOUSBDeviceRequest structure. @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) SendIORequestWithDataBytesTransferredCompletionTimeoutError ¶
func (o *IOUSBHostPipe) SendIORequestWithDataBytesTransferredCompletionTimeoutError(data *foundation.NSMutableData, bytesTransferred *uint, completionTimeout float64) (bool, error)
@brief Send an IO request on the source @discussion This method will send a synchronous request on the IO source, and will not return until the request is complete. @param data An NSMutableData* containing the buffer to use for the transfer. nil will send a zero length packet. @param bytesTransferred NSUInteger pointer which will be updated with the bytes transferred during the request @param completionTimeout Timeout of the request. If 0, the request will never timeout. Must be 0 for interrupt pipes and streams. @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) SendIORequestWithDataFrameListFrameListCountFirstFrameNumberError ¶
func (o *IOUSBHostPipe) SendIORequestWithDataFrameListFrameListCountFirstFrameNumberError(data *foundation.NSMutableData, frameList *IOUSBHostIsochronousFrame, frameListCount uint, firstFrameNumber uint64) (bool, error)
@brief Send a request on an isochronous endpoint @discussion This method is used to issue isochronous requests. The caller allocates and initializes an array of IOUSBHostIsochronousFrame structures, which is used to describe the frames that will be transferred. See @link IOUSBHostIsochronousFrame @/link for information regarding structure initialization requirements and usage. @param data An NSMutableData* to be used as the backing store for the I/O. @param frameList Pointer first element in an IOUSBHostIsochronousFrame array. The array must contain at least frameListCount elements. @param frameListCount Number of elements in <code>frameList</code>. @param firstFrameNumber Frame number which this request should begin on. The current frame number can be queried via <code>[IOUSBHostObject getFrameNumber]</code> If 0, the transfer will start on the next available frame (XHCI only). @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) SendIORequestWithDataTransactionListTransactionListCountFirstFrameNumberOptionsError ¶
func (o *IOUSBHostPipe) SendIORequestWithDataTransactionListTransactionListCountFirstFrameNumberOptionsError(data *foundation.NSMutableData, transactionList *IOUSBHostIsochronousTransaction, transactionListCount uint, firstFrameNumber uint64, options IOUSBHostIsochronousTransferOptions) (bool, error)
@brief Send a request on an isochronous endpoint @discussion This method is used to issue isochronous requests. The caller allocates and initializes an array of IOUSBHostIsochronousTransaction structures, which is used to describe the frames that will be transferred. See @link IOUSBHostIsochronousTransaction @/link for information regarding structure initialization requirements and usage. @param data An NSMutableData* to be used as the backing store for the I/O. @param transactionList Pointer to the first element in an IOUSBHostIsochronousTransaction array. The array must contain at least transactionListCount elements. @param transactionListCount Number of elements in <code>transactionList</code>. @param firstFrameNumber Frame number which this request should begin on. The current frame number can be queried via <code>[IOUSBHostObject getFrameNumber]</code> If 0, the transfer will start on the next available frame (XHCI only). @param options Flags that specify additional behavior for every transaction in this transfer. See @link IOUSBHostIsochronousTransferOptions @/link for more details. @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostPipe) SetIdleTimeoutError ¶
func (o *IOUSBHostPipe) SetIdleTimeoutError(idleTimeout float64) (bool, error)
@brief Sets the desired idle suspend timeout for the interface @discussion Once the interface is considered idle, it will defer electrical suspend of the device for the specified duration. @param idleTimeout The amount of time after all pipes are idle to wait before suspending the device. @return YES on success. An IOReturn error code will be reported on failure.
type IOUSBHostStream ¶
type IOUSBHostStream struct {
IOUSBHostIOSource
}
Apple documentation: https://developer.apple.com/documentation/iousbhost/iousbhoststream
func IOUSBHostStreamFromID ¶
func IOUSBHostStreamFromID(id objc.ID) *IOUSBHostStream
func (*IOUSBHostStream) AbortWithError ¶
func (o *IOUSBHostStream) AbortWithError() (bool, error)
@brief Abort pending I/O requests. @discussion A stream context must be set as non-active on the device via an out-of-band (class-defined) mechanism before this method is called (USB 3.1 8.12.1.4). A non-active stream will not be selected by the device to become the current stream on the endpoint. @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostStream) AbortWithOptionError ¶
func (o *IOUSBHostStream) AbortWithOptionError(option IOUSBHostAbortOption) (bool, error)
@brief Abort pending I/O requests. @discussion A stream context must be set as non-active on the device via an out-of-band (class-defined) mechanism before this method is called (USB 3.1 8.12.1.4). A non-active stream will not be selected by the device to become the current stream on the endpoint. @param option IOUSBHostAbortOption by default IOUSBHostAbortOptionSynchronous is used @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostStream) EnqueueIORequestWithDataErrorCompletionHandler ¶
func (o *IOUSBHostStream) EnqueueIORequestWithDataErrorCompletionHandler(data *foundation.NSMutableData, error_ unsafe.Pointer, completionHandler func(int, uint)) bool
@brief Enqueue an IO request on the source @discussion This method is used to issue an asynchronous I/O request on the IO source. CompletionTimeouts are not applicable to streams. @param data pointer containing the buffer to use for the transfer @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostStream) HostPipe ¶
func (o *IOUSBHostStream) HostPipe() *IOUSBHostPipe
@brief Returns the IOUSBHostPipe this stream was created from @return IOUSBHostPipe pointer
func (*IOUSBHostStream) SendIORequestWithDataBytesTransferredError ¶
func (o *IOUSBHostStream) SendIORequestWithDataBytesTransferredError(data *foundation.NSMutableData, bytesTransferred *uint) (bool, error)
@brief Send an IO request on the source @discussion This method will send a synchronous request on the IO source, and will not return until the request is complete. CompletionTimeouts are not applicable to streams. @param data NSData* pointer containing the buffer to use for the transfer @param bytesTransferred NSUInteger reference which will be updated with the bytes transferred during the request @return YES on success, an IOReturn error code will be reported on failure
func (*IOUSBHostStream) StreamID ¶
func (o *IOUSBHostStream) StreamID() uint
@brief Returns streamID associated with this IOUSBHostStream. @return streamID
type Ipc_info_object_type_t ¶
type Ipc_info_object_type_t int64
const ( IPC_OTYPE_NONE Ipc_info_object_type_t = 0 IPC_OTYPE_THREAD_CONTROL Ipc_info_object_type_t = 1 IPC_OTYPE_TASK_CONTROL Ipc_info_object_type_t = 2 IPC_OTYPE_HOST Ipc_info_object_type_t = 3 IPC_OTYPE_HOST_PRIV Ipc_info_object_type_t = 4 IPC_OTYPE_PROCESSOR Ipc_info_object_type_t = 5 IPC_OTYPE_PROCESSOR_SET Ipc_info_object_type_t = 6 IPC_OTYPE_PROCESSOR_SET_NAME Ipc_info_object_type_t = 7 IPC_OTYPE_TIMER Ipc_info_object_type_t = 8 IPC_OTYPE_PORT_SUBST_ONCE Ipc_info_object_type_t = 9 IPC_OTYPE_MIG Ipc_info_object_type_t = 10 IPC_OTYPE_MEMORY_OBJECT Ipc_info_object_type_t = 11 IPC_OTYPE_XMM_PAGER Ipc_info_object_type_t = 12 IPC_OTYPE_XMM_KERNEL Ipc_info_object_type_t = 13 IPC_OTYPE_XMM_REPLY Ipc_info_object_type_t = 14 IPC_OTYPE_UND_REPLY Ipc_info_object_type_t = 15 IPC_OTYPE_HOST_NOTIFY Ipc_info_object_type_t = 16 IPC_OTYPE_HOST_SECURITY Ipc_info_object_type_t = 17 IPC_OTYPE_LEDGER Ipc_info_object_type_t = 18 IPC_OTYPE_MAIN_DEVICE Ipc_info_object_type_t = 19 IPC_OTYPE_TASK_NAME Ipc_info_object_type_t = 20 IPC_OTYPE_SUBSYSTEM Ipc_info_object_type_t = 21 IPC_OTYPE_IO_DONE_QUEUE Ipc_info_object_type_t = 22 IPC_OTYPE_SEMAPHORE Ipc_info_object_type_t = 23 IPC_OTYPE_LOCK_SET Ipc_info_object_type_t = 24 IPC_OTYPE_CLOCK Ipc_info_object_type_t = 25 IPC_OTYPE_CLOCK_CTRL Ipc_info_object_type_t = 26 IPC_OTYPE_IOKIT_IDENT Ipc_info_object_type_t = 27 IPC_OTYPE_NAMED_ENTRY Ipc_info_object_type_t = 28 IPC_OTYPE_IOKIT_CONNECT Ipc_info_object_type_t = 29 IPC_OTYPE_IOKIT_OBJECT Ipc_info_object_type_t = 30 IPC_OTYPE_UPL Ipc_info_object_type_t = 31 IPC_OTYPE_MEM_OBJ_CONTROL Ipc_info_object_type_t = 32 IPC_OTYPE_AU_SESSIONPORT Ipc_info_object_type_t = 33 IPC_OTYPE_FILEPORT Ipc_info_object_type_t = 34 IPC_OTYPE_LABELH Ipc_info_object_type_t = 35 IPC_OTYPE_TASK_RESUME Ipc_info_object_type_t = 36 IPC_OTYPE_VOUCHER Ipc_info_object_type_t = 37 IPC_OTYPE_VOUCHER_ATTR_CONTROL Ipc_info_object_type_t = 38 IPC_OTYPE_WORK_INTERVAL Ipc_info_object_type_t = 39 IPC_OTYPE_UX_HANDLER Ipc_info_object_type_t = 40 IPC_OTYPE_UEXT_OBJECT Ipc_info_object_type_t = 41 IPC_OTYPE_ARCADE_REG Ipc_info_object_type_t = 42 IPC_OTYPE_EVENTLINK Ipc_info_object_type_t = 43 IPC_OTYPE_TASK_INSPECT Ipc_info_object_type_t = 44 IPC_OTYPE_TASK_READ Ipc_info_object_type_t = 45 IPC_OTYPE_THREAD_INSPECT Ipc_info_object_type_t = 46 IPC_OTYPE_THREAD_READ Ipc_info_object_type_t = 47 IPC_OTYPE_SUID_CRED Ipc_info_object_type_t = 48 IPC_OTYPE_HYPERVISOR Ipc_info_object_type_t = 49 IPC_OTYPE_TASK_ID_TOKEN Ipc_info_object_type_t = 50 IPC_OTYPE_TASK_FATAL Ipc_info_object_type_t = 51 IPC_OTYPE_KCDATA Ipc_info_object_type_t = 52 IPC_OTYPE_EXCLAVES_RESOURCE Ipc_info_object_type_t = 53 IPC_OTYPE_THREAD_RESUME Ipc_info_object_type_t = 54 IPC_OTYPE_UNKNOWN Ipc_info_object_type_t = 4294967295 )
func (Ipc_info_object_type_t) String ¶
func (e Ipc_info_object_type_t) String() string
type Launch_data_type_t ¶
type Launch_data_type_t int64
const ( LAUNCH_DATA_DICTIONARY Launch_data_type_t = 1 LAUNCH_DATA_ARRAY Launch_data_type_t = 2 LAUNCH_DATA_FD Launch_data_type_t = 3 LAUNCH_DATA_INTEGER Launch_data_type_t = 4 LAUNCH_DATA_REAL Launch_data_type_t = 5 LAUNCH_DATA_BOOL Launch_data_type_t = 6 LAUNCH_DATA_STRING Launch_data_type_t = 7 LAUNCH_DATA_OPAQUE Launch_data_type_t = 8 LAUNCH_DATA_ERRNO Launch_data_type_t = 9 LAUNCH_DATA_MACHPORT Launch_data_type_t = 10 )
func (Launch_data_type_t) String ¶
func (e Launch_data_type_t) String() string
type MDLabelDomain ¶
type MDLabelDomain int64
@typedef MDLabelDomain @abstract These constants are used to specify a domain to MDLabelCreate().
const ( KMDLabelUserDomain MDLabelDomain = 0 KMDLabelLocalDomain MDLabelDomain = 1 )
func (MDLabelDomain) String ¶
func (e MDLabelDomain) String() string
type MDQueryOptionFlags ¶
type MDQueryOptionFlags int64
const ( KMDQuerySynchronous MDQueryOptionFlags = 1 KMDQueryWantsUpdates MDQueryOptionFlags = 4 KMDQueryAllowFSTranslation MDQueryOptionFlags = 8 )
func (MDQueryOptionFlags) String ¶
func (e MDQueryOptionFlags) String() string
type MDQuerySortOptionFlags ¶
type MDQuerySortOptionFlags int64
@enum MDQuerySortOptionFlags @constant kMDQueryReverseSortOrderFlag Sort the attribute in reverse order.
const (
KMDQueryReverseSortOrderFlag MDQuerySortOptionFlags = 1
)
func (MDQuerySortOptionFlags) String ¶
func (e MDQuerySortOptionFlags) String() string
type Mach_vm_range_flags_t ¶
type Mach_vm_range_flags_t int64
const (
MACH_VM_RANGE_NONE Mach_vm_range_flags_t = 0
)
func (Mach_vm_range_flags_t) String ¶
func (e Mach_vm_range_flags_t) String() string
type Mach_vm_range_flavor_t ¶
type Mach_vm_range_flavor_t int64
const ( MACH_VM_RANGE_FLAVOR_INVALID Mach_vm_range_flavor_t = 0 MACH_VM_RANGE_FLAVOR_V1 Mach_vm_range_flavor_t = 1 )
func (Mach_vm_range_flavor_t) String ¶
func (e Mach_vm_range_flavor_t) String() string
type Mach_vm_range_tag_t ¶
type Mach_vm_range_tag_t int64
const ( MACH_VM_RANGE_DEFAULT Mach_vm_range_tag_t = 0 MACH_VM_RANGE_DATA Mach_vm_range_tag_t = 1 MACH_VM_RANGE_FIXED Mach_vm_range_tag_t = 2 )
func (Mach_vm_range_tag_t) String ¶
func (e Mach_vm_range_tag_t) String() string
type Mpo_flags_t ¶
type Mpo_flags_t int64
const ( MPO_PORT Mpo_flags_t = 0 MPO_SERVICE_PORT Mpo_flags_t = 1024 MPO_CONNECTION_PORT Mpo_flags_t = 2048 MPO_REPLY_PORT Mpo_flags_t = 4096 MPO_WEAK_REPLY_PORT Mpo_flags_t = 16384 MPO_NOTIFICATION_PORT Mpo_flags_t = 17408 MPO_EXCEPTION_PORT Mpo_flags_t = 32768 MPO_CONNECTION_PORT_WITH_PORT_ARRAY Mpo_flags_t = 65536 )
func (Mpo_flags_t) String ¶
func (e Mpo_flags_t) String() string
type Os_clockid_t ¶
type Os_clockid_t int64
const (
OS_CLOCK_MACH_ABSOLUTE_TIME Os_clockid_t = 32
)
func (Os_clockid_t) String ¶
func (e Os_clockid_t) String() string
type Ptrauth_key ¶
type Ptrauth_key int64
const ( Ptrauth_key_none Ptrauth_key = -1 Ptrauth_key_asia Ptrauth_key = 0 Ptrauth_key_asib Ptrauth_key = 1 Ptrauth_key_asda Ptrauth_key = 2 Ptrauth_key_asdb Ptrauth_key = 3 Ptrauth_key_process_independent_code Ptrauth_key = 0 Ptrauth_key_process_dependent_code Ptrauth_key = 1 Ptrauth_key_process_independent_data Ptrauth_key = 2 Ptrauth_key_process_dependent_data Ptrauth_key = 3 Ptrauth_key_return_address Ptrauth_key = 1 Ptrauth_key_frame_pointer Ptrauth_key = 3 Ptrauth_key_function_pointer Ptrauth_key = 0 Ptrauth_key_block_function Ptrauth_key = 0 Ptrauth_key_cxx_vtable_pointer Ptrauth_key = 2 Ptrauth_key_method_list_pointer Ptrauth_key = 2 Ptrauth_key_objc_isa_pointer Ptrauth_key = 2 Ptrauth_key_objc_super_pointer Ptrauth_key = 2 Ptrauth_key_objc_sel_pointer Ptrauth_key = 3 Ptrauth_key_objc_class_ro_pointer Ptrauth_key = 2 Ptrauth_key_block_descriptor_pointer Ptrauth_key = 2 Ptrauth_key_init_fini_pointer Ptrauth_key = 0 )
func (Ptrauth_key) String ¶
func (e Ptrauth_key) String() string
type Qos_class_t ¶
type Qos_class_t uint32
const ( QOS_CLASS_USER_INTERACTIVE Qos_class_t = 33 QOS_CLASS_USER_INITIATED Qos_class_t = 25 QOS_CLASS_DEFAULT Qos_class_t = 21 QOS_CLASS_UTILITY Qos_class_t = 17 QOS_CLASS_BACKGROUND Qos_class_t = 9 QOS_CLASS_UNSPECIFIED Qos_class_t = 0 )
func (Qos_class_t) String ¶
func (e Qos_class_t) String() string
type Virtual_memory_guard_exception_code_t ¶
type Virtual_memory_guard_exception_code_t int64
const ( KGUARD_EXC_DEALLOC_GAP Virtual_memory_guard_exception_code_t = 1 KGUARD_EXC_RECLAIM_COPYIO_FAILURE Virtual_memory_guard_exception_code_t = 2 KGUARD_EXC_RECLAIM_INDEX_FAILURE Virtual_memory_guard_exception_code_t = 4 KGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE Virtual_memory_guard_exception_code_t = 8 KGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE Virtual_memory_guard_exception_code_t = 9 KGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE Virtual_memory_guard_exception_code_t = 10 KGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE Virtual_memory_guard_exception_code_t = 11 KGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION Virtual_memory_guard_exception_code_t = 12 KGUARD_EXC_LARGE_ALLOCATION_TELEMETRY Virtual_memory_guard_exception_code_t = 13 KGUARD_EXC_SEC_ACCESS_FAULT Virtual_memory_guard_exception_code_t = 98 KGUARD_EXC_SEC_ASYNC_ACCESS_FAULT Virtual_memory_guard_exception_code_t = 99 KGUARD_EXC_SEC_COPY_DENIED Virtual_memory_guard_exception_code_t = 100 KGUARD_EXC_SEC_SHARING_DENIED Virtual_memory_guard_exception_code_t = 101 KGUARD_EXC_MTE_SYNC_FAULT Virtual_memory_guard_exception_code_t = 200 KGUARD_EXC_MTE_ASYNC_USER_FAULT Virtual_memory_guard_exception_code_t = 201 KGUARD_EXC_MTE_ASYNC_KERN_FAULT Virtual_memory_guard_exception_code_t = 202 KGUARD_EXC_GUARD_OBJECT_ASYNC_USER_FAULT Virtual_memory_guard_exception_code_t = 203 KGUARD_EXC_GUARD_OBJECT_ASYNC_KERN_FAULT Virtual_memory_guard_exception_code_t = 204 )
func (Virtual_memory_guard_exception_code_t) String ¶
func (e Virtual_memory_guard_exception_code_t) String() string
type Xpc_listener_create_flags_t ¶
type Xpc_listener_create_flags_t int64
const ( XPC_LISTENER_CREATE_NONE Xpc_listener_create_flags_t = 0 XPC_LISTENER_CREATE_INACTIVE Xpc_listener_create_flags_t = 1 XPC_LISTENER_CREATE_FORCE_MACH Xpc_listener_create_flags_t = 2 XPC_LISTENER_CREATE_FORCE_XPCSERVICE Xpc_listener_create_flags_t = 4 )
func (Xpc_listener_create_flags_t) String ¶
func (e Xpc_listener_create_flags_t) String() string
type Xpc_session_create_flags_t ¶
type Xpc_session_create_flags_t int64
const ( XPC_SESSION_CREATE_NONE Xpc_session_create_flags_t = 0 XPC_SESSION_CREATE_INACTIVE Xpc_session_create_flags_t = 1 XPC_SESSION_CREATE_MACH_PRIVILEGED Xpc_session_create_flags_t = 2 )
func (Xpc_session_create_flags_t) String ¶
func (e Xpc_session_create_flags_t) String() string
Source Files
¶
- IOUSBHostCIControllerStateMachine.go
- IOUSBHostCIDeviceStateMachine.go
- IOUSBHostCIEndpointStateMachine.go
- IOUSBHostCIPortStateMachine.go
- IOUSBHostControllerInterface.go
- IOUSBHostDevice.go
- IOUSBHostIOSource.go
- IOUSBHostInterface.go
- IOUSBHostObject.go
- IOUSBHostPipe.go
- IOUSBHostStream.go
- doc.go
- iousbhost_enums.go
- iousbhost_externs.go
- iousbhost_functions.go
- iousbhost_runtime.go
- iousbhost_structs.go