#[repr(C, packed(1))]pub struct IOUSBEndpointProperties {}USB and usb only.Expand description
Structure used with the IOUSBLib GetEndpointPropertiesV3 and GetPipePropertiesV3 API. Most of the fields are taken directly from corresponding Standard Endpoint Descriptor and SuperSpeed Endpoint Companion Descriptor. wBytesPerInterval will be synthesized for High Speed High Bandwidth Isochronous endpoints. Field: bVersion Version of the structure. Currently kUSBEndpointPropertiesVersion3. Need to set this when using this structure Field: bAlternateSetting Used as an input for GetEndpointPropertiesV3. Used as an output for GetPipePropertiesV3 Field: bDirection Used as an input for GetEndpointPropertiesV3. Used as an output for GetPipePropertiesV3. One of kUSBIn or kUSBOut. Field: bEndpointNumber Used as an input for GetEndpointPropertiesV3. Used as an output for GetPipePropertiesV3 Field: bTransferType One of kUSBControl, kUSBBulk, kUSBIsoc, or kUSBInterrupt Field: bUsageType For interrupt and isoc endpoints, the usage type. For Bulk endpoints of the UAS Mass Storage Protocol, the pipe ID. Field: bSyncType For isoc endpoints only Field: bInterval The bInterval field from the Standard Endpoint descriptor. Field: wMaxPacketSize The meaning of this value depends on whether this is called with GetPipePropertiesV3 or GetEndpointPropertiesV3. See the documentation of those calls for more info. Field: bMaxBurst For SuperSpeed endpoints, maximum number of packets the endpoint can send or receive as part of a burst Field: bMaxStreams For SuperSpeed bulk endpoints, maximum number of streams this endpoint supports. Field: bMult For SuperSpeed isoc endpoints, this is the mult value from the SuperSpeed Endpoint Companion Descriptor. For High Speed isoc and interrupt endpoints, this is bits 11 and 12 of the Standard Endpoint Descriptor, which represents a similar value. Field: wBytesPerInterval For SuperSpeed interrupt and isoc endpoints, this is the wBytesPerInterval from the SuperSpeed Endpoint Companion Descriptor. For High Speed High Bandwidth isoc endpoints, this will be equal to wMaxPacketSize * (bMult+1).
See also Apple’s documentation
Fields§
§bVersion: u8§bAlternateSetting: u8§bDirection: u8§bEndpointNumber: u8§bTransferType: u8§bUsageType: u8§bSyncType: u8§bInterval: u8§wMaxPacketSize: u16§bMaxBurst: u8§bMaxStreams: u8§bMult: u8§wBytesPerInterval: u16Trait Implementations§
Source§impl Clone for IOUSBEndpointProperties
impl Clone for IOUSBEndpointProperties
Source§fn clone(&self) -> IOUSBEndpointProperties
fn clone(&self) -> IOUSBEndpointProperties
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IOUSBEndpointProperties
impl Debug for IOUSBEndpointProperties
Source§impl Encode for IOUSBEndpointProperties
Available on crate feature objc2 only.
impl Encode for IOUSBEndpointProperties
objc2 only.Source§impl PartialEq for IOUSBEndpointProperties
impl PartialEq for IOUSBEndpointProperties
Source§impl RefEncode for IOUSBEndpointProperties
Available on crate feature objc2 only.
impl RefEncode for IOUSBEndpointProperties
objc2 only.