IOUSBDeviceInterface

Type Alias IOUSBDeviceInterface 

Source
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.