pub type IOUSBInterfaceInterface = IOUSBInterfaceInterface942;Available on crate features
AppleUSBDefinitions and IOUSBLib and USB and libc only.Expand description
Aliased Type§
pub struct IOUSBInterfaceInterface {Show 76 fields
pub QueryInterface: Option<unsafe extern "C-unwind" fn(*mut c_void, CFUUIDBytes, *mut *mut c_void) -> i32>,
pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> u32>,
pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> u32>,
pub CreateInterfaceAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut CFRunLoopSource) -> i32>,
pub GetInterfaceAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut CFRunLoopSource>,
pub CreateInterfaceAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>,
pub GetInterfaceAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> u32>,
pub USBInterfaceOpen: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>,
pub USBInterfaceClose: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>,
pub GetInterfaceClass: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub GetInterfaceSubClass: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub GetInterfaceProtocol: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub GetDeviceVendor: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u16) -> i32>,
pub GetDeviceProduct: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u16) -> i32>,
pub GetDeviceReleaseNumber: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u16) -> i32>,
pub GetConfigurationValue: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub GetInterfaceNumber: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub GetAlternateSetting: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub GetNumEndpoints: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub GetLocationID: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>,
pub GetDevice: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>,
pub SetAlternateInterface: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>,
pub GetBusFrameNumber: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u64, *mut i32) -> i32>,
pub ControlRequest: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut IOUSBDevRequest) -> i32>,
pub ControlRequestAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut IOUSBDevRequest, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub GetPipeProperties: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut u8, *mut u8, *mut u8, *mut u16, *mut u8) -> i32>,
pub GetPipeStatus: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>,
pub AbortPipe: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>,
pub ResetPipe: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>,
pub ClearPipeStall: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>,
pub ReadPipe: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, *mut u32) -> i32>,
pub WritePipe: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32) -> i32>,
pub ReadPipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub WritePipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub ReadIsochPipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u64, u32, *mut IOUSBIsocFrame, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub WriteIsochPipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u64, u32, *mut IOUSBIsocFrame, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub ControlRequestTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut IOUSBDevRequestTO) -> i32>,
pub ControlRequestAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut IOUSBDevRequestTO, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub ReadPipeTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, *mut u32, u32, u32) -> i32>,
pub WritePipeTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32, u32, u32) -> i32>,
pub ReadPipeAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32, u32, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub WritePipeAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32, u32, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub USBInterfaceGetStringIndex: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub USBInterfaceOpenSeize: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>,
pub ClearPipeStallBothEnds: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>,
pub SetPipePolicy: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u16, u8) -> i32>,
pub GetBandwidthAvailable: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>,
pub GetEndpointProperties: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u8, u8, *mut u8, *mut u16, *mut u8) -> i32>,
pub LowLatencyReadIsochPipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u64, u32, u32, *mut IOUSBLowLatencyIsocFrame, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub LowLatencyWriteIsochPipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u64, u32, u32, *mut IOUSBLowLatencyIsocFrame, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub LowLatencyCreateBuffer: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut c_void, u64, u32) -> i32>,
pub LowLatencyDestroyBuffer: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut c_void) -> i32>,
pub GetBusMicroFrameNumber: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u64, *mut i32) -> i32>,
pub GetFrameListTime: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>,
pub GetIOUSBLibVersion: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32, *mut u32) -> i32>,
pub FindNextAssociatedDescriptor: Option<unsafe extern "C-unwind" fn(*mut c_void, *const c_void, u8) -> *mut IOUSBDescriptorHeader>,
pub FindNextAltInterface: Option<unsafe extern "C-unwind" fn(*mut c_void, *const c_void, *mut IOUSBFindInterfaceRequest) -> *mut IOUSBDescriptorHeader>,
pub GetBusFrameNumberWithTime: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u64, *mut i32) -> i32>,
pub GetPipePropertiesV2: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut u8, *mut u8, *mut u8, *mut u16, *mut u8, *mut u8, *mut u8, *mut u16) -> i32>,
pub GetPipePropertiesV3: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut IOUSBEndpointProperties) -> i32>,
pub GetEndpointPropertiesV3: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBEndpointProperties) -> i32>,
pub SupportsStreams: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut u32) -> i32>,
pub CreateStreams: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32) -> i32>,
pub GetConfiguredStreams: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut u32) -> i32>,
pub ReadStreamsPipeTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32, *mut c_void, *mut u32, u32, u32) -> i32>,
pub WriteStreamsPipeTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32, *mut c_void, u32, u32, u32) -> i32>,
pub ReadStreamsPipeAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32, *mut c_void, u32, u32, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub WriteStreamsPipeAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32, *mut c_void, u32, u32, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub AbortStreamsPipe: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32) -> i32>,
pub RegisterForNotification: Option<unsafe extern "C-unwind" fn(*mut c_void, u64, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void, *mut c_void)>, *mut c_void, *mut u64) -> i32>,
pub UnregisterNotification: Option<unsafe extern "C-unwind" fn(*mut c_void, u64) -> i32>,
pub AcknowledgeNotification: Option<unsafe extern "C-unwind" fn(*mut c_void, u64) -> i32>,
pub RegisterDriver: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>,
pub SetDeviceIdlePolicy: Option<unsafe extern "C-unwind" fn(*mut c_void, u32) -> i32>,
pub SetPipeIdlePolicy: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32) -> i32>,
pub GetInterfaceAsyncNotificationPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut IONotificationPort>,
/* private fields */
}Fields§
§QueryInterface: Option<unsafe extern "C-unwind" fn(*mut c_void, CFUUIDBytes, *mut *mut c_void) -> i32>§AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> u32>§Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> u32>§CreateInterfaceAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut CFRunLoopSource) -> i32>§GetInterfaceAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut CFRunLoopSource>§CreateInterfaceAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>§GetInterfaceAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> u32>§USBInterfaceOpen: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>§USBInterfaceClose: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>§GetInterfaceClass: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§GetInterfaceSubClass: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§GetInterfaceProtocol: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§GetDeviceVendor: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u16) -> i32>§GetDeviceProduct: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u16) -> i32>§GetDeviceReleaseNumber: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u16) -> i32>§GetConfigurationValue: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§GetInterfaceNumber: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§GetAlternateSetting: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§GetNumEndpoints: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§GetLocationID: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>§GetDevice: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>§SetAlternateInterface: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>§GetBusFrameNumber: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u64, *mut i32) -> i32>§ControlRequest: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut IOUSBDevRequest) -> i32>§ControlRequestAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut IOUSBDevRequest, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§GetPipeProperties: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut u8, *mut u8, *mut u8, *mut u16, *mut u8) -> i32>§GetPipeStatus: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>§AbortPipe: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>§ResetPipe: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>§ClearPipeStall: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>§ReadPipe: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, *mut u32) -> i32>§WritePipe: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32) -> i32>§ReadPipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§WritePipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§ReadIsochPipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u64, u32, *mut IOUSBIsocFrame, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§WriteIsochPipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u64, u32, *mut IOUSBIsocFrame, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§ControlRequestTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut IOUSBDevRequestTO) -> i32>§ControlRequestAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut IOUSBDevRequestTO, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§ReadPipeTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, *mut u32, u32, u32) -> i32>§WritePipeTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32, u32, u32) -> i32>§ReadPipeAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32, u32, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§WritePipeAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u32, u32, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§USBInterfaceGetStringIndex: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§USBInterfaceOpenSeize: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>§ClearPipeStallBothEnds: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>§SetPipePolicy: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u16, u8) -> i32>§GetBandwidthAvailable: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>§GetEndpointProperties: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u8, u8, *mut u8, *mut u16, *mut u8) -> i32>§LowLatencyReadIsochPipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u64, u32, u32, *mut IOUSBLowLatencyIsocFrame, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§LowLatencyWriteIsochPipeAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut c_void, u64, u32, u32, *mut IOUSBLowLatencyIsocFrame, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§LowLatencyCreateBuffer: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut c_void, u64, u32) -> i32>§LowLatencyDestroyBuffer: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut c_void) -> i32>§GetBusMicroFrameNumber: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u64, *mut i32) -> i32>§GetFrameListTime: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>§GetIOUSBLibVersion: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32, *mut u32) -> i32>§FindNextAssociatedDescriptor: Option<unsafe extern "C-unwind" fn(*mut c_void, *const c_void, u8) -> *mut IOUSBDescriptorHeader>§FindNextAltInterface: Option<unsafe extern "C-unwind" fn(*mut c_void, *const c_void, *mut IOUSBFindInterfaceRequest) -> *mut IOUSBDescriptorHeader>§GetBusFrameNumberWithTime: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u64, *mut i32) -> i32>§GetPipePropertiesV2: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut u8, *mut u8, *mut u8, *mut u16, *mut u8, *mut u8, *mut u8, *mut u16) -> i32>§GetPipePropertiesV3: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut IOUSBEndpointProperties) -> i32>§GetEndpointPropertiesV3: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBEndpointProperties) -> i32>§SupportsStreams: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut u32) -> i32>§CreateStreams: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32) -> i32>§GetConfiguredStreams: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut u32) -> i32>§ReadStreamsPipeTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32, *mut c_void, *mut u32, u32, u32) -> i32>§WriteStreamsPipeTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32, *mut c_void, u32, u32, u32) -> i32>§ReadStreamsPipeAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32, *mut c_void, u32, u32, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§WriteStreamsPipeAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32, *mut c_void, u32, u32, u32, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§AbortStreamsPipe: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32) -> i32>§RegisterForNotification: Option<unsafe extern "C-unwind" fn(*mut c_void, u64, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void, *mut c_void)>, *mut c_void, *mut u64) -> i32>§UnregisterNotification: Option<unsafe extern "C-unwind" fn(*mut c_void, u64) -> i32>§AcknowledgeNotification: Option<unsafe extern "C-unwind" fn(*mut c_void, u64) -> i32>§RegisterDriver: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>§SetDeviceIdlePolicy: Option<unsafe extern "C-unwind" fn(*mut c_void, u32) -> i32>§SetPipeIdlePolicy: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, u32) -> i32>§GetInterfaceAsyncNotificationPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut IONotificationPort>Returns the IONotificationPort for this IOService instance. Availability: This function is only available with IOUSBInterfaceInterface942 and above.
Parameter self: Pointer to the IOUSBInterfaceInterface.
Returns: Returns the IONotificationPortRef if one exists, MACH_PORT_NULL otherwise.