pub type IOUSBDeviceInterface = IOUSBDeviceInterface942;Available on crate features
AppleUSBDefinitions and IOUSBLib and USB and libc only.Expand description
Aliased Type§
pub struct IOUSBDeviceInterface {Show 50 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 CreateDeviceAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut CFRunLoopSource) -> i32>,
pub GetDeviceAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut CFRunLoopSource>,
pub CreateDeviceAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>,
pub GetDeviceAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> u32>,
pub USBDeviceOpen: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>,
pub USBDeviceClose: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>,
pub GetDeviceClass: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub GetDeviceSubClass: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub GetDeviceProtocol: 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 GetDeviceAddress: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u16) -> i32>,
pub GetDeviceBusPowerAvailable: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>,
pub GetDeviceSpeed: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub GetNumberOfConfigurations: 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 GetConfigurationDescriptorPtr: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut *mut IOUSBConfigurationDescriptor) -> i32>,
pub GetConfiguration: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub SetConfiguration: 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 ResetDevice: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>,
pub DeviceRequest: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBDevRequest) -> i32>,
pub DeviceRequestAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBDevRequest, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub CreateInterfaceIterator: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBFindInterfaceRequest, *mut u32) -> i32>,
pub USBDeviceOpenSeize: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>,
pub DeviceRequestTO: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBDevRequestTO) -> i32>,
pub DeviceRequestAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBDevRequestTO, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>,
pub USBDeviceSuspend: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>,
pub USBDeviceAbortPipeZero: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>,
pub USBGetManufacturerStringIndex: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub USBGetProductStringIndex: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub USBGetSerialNumberStringIndex: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>,
pub USBDeviceReEnumerate: Option<unsafe extern "C-unwind" fn(*mut c_void, u32) -> i32>,
pub GetBusMicroFrameNumber: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u64, *mut i32) -> i32>,
pub GetIOUSBLibVersion: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32, *mut u32) -> i32>,
pub GetBusFrameNumberWithTime: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u64, *mut i32) -> i32>,
pub GetUSBDeviceInformation: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>,
pub RequestExtraPower: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, u32, *mut u32) -> i32>,
pub ReturnExtraPower: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, u32) -> i32>,
pub GetExtraPowerAllocated: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, *mut u32) -> i32>,
pub GetBandwidthAvailableForDevice: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>,
pub SetConfigurationV2: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, bool, bool) -> 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 GetDeviceAsyncNotificationPort: 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>§CreateDeviceAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut CFRunLoopSource) -> i32>§GetDeviceAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut CFRunLoopSource>§CreateDeviceAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>§GetDeviceAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> u32>§USBDeviceOpen: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>§USBDeviceClose: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>§GetDeviceClass: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§GetDeviceSubClass: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§GetDeviceProtocol: 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>§GetDeviceAddress: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u16) -> i32>§GetDeviceBusPowerAvailable: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>§GetDeviceSpeed: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§GetNumberOfConfigurations: 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>§GetConfigurationDescriptorPtr: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, *mut *mut IOUSBConfigurationDescriptor) -> i32>§GetConfiguration: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§SetConfiguration: 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>§ResetDevice: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>§DeviceRequest: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBDevRequest) -> i32>§DeviceRequestAsync: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBDevRequest, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§CreateInterfaceIterator: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBFindInterfaceRequest, *mut u32) -> i32>§USBDeviceOpenSeize: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>§DeviceRequestTO: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBDevRequestTO) -> i32>§DeviceRequestAsyncTO: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOUSBDevRequestTO, Option<unsafe extern "C-unwind" fn(*mut c_void, i32, *mut c_void)>, *mut c_void) -> i32>§USBDeviceSuspend: Option<unsafe extern "C-unwind" fn(*mut c_void, u8) -> i32>§USBDeviceAbortPipeZero: Option<unsafe extern "C-unwind" fn(*mut c_void) -> i32>§USBGetManufacturerStringIndex: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§USBGetProductStringIndex: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§USBGetSerialNumberStringIndex: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8) -> i32>§USBDeviceReEnumerate: Option<unsafe extern "C-unwind" fn(*mut c_void, u32) -> i32>§GetBusMicroFrameNumber: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u64, *mut i32) -> i32>§GetIOUSBLibVersion: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32, *mut u32) -> i32>§GetBusFrameNumberWithTime: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u64, *mut i32) -> i32>§GetUSBDeviceInformation: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>§RequestExtraPower: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, u32, *mut u32) -> i32>§ReturnExtraPower: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, u32) -> i32>§GetExtraPowerAllocated: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, *mut u32) -> i32>§GetBandwidthAvailableForDevice: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> i32>§SetConfigurationV2: Option<unsafe extern "C-unwind" fn(*mut c_void, u8, bool, bool) -> 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>§GetDeviceAsyncNotificationPort: 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 IOUSBDeviceInterface942 and above.
Parameter self: Pointer to the IOUSBDeviceInterface.
Returns: Returns the IONotificationPortRef if one exists, MACH_PORT_NULL otherwise.