#[repr(C, packed(1))]pub struct IOUSBEndpointProperties {}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
Available on crate feature usb only.
impl Clone for IOUSBEndpointProperties
usb only.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
Available on crate feature usb only.
impl Debug for IOUSBEndpointProperties
usb only.Source§impl Encode for IOUSBEndpointProperties
Available on crate features usb and objc2 only.
impl Encode for IOUSBEndpointProperties
usb and objc2 only.Source§impl PartialEq for IOUSBEndpointProperties
Available on crate feature usb only.
impl PartialEq for IOUSBEndpointProperties
usb only.Source§impl RefEncode for IOUSBEndpointProperties
Available on crate features usb and objc2 only.
impl RefEncode for IOUSBEndpointProperties
usb and objc2 only.Source§const ENCODING_REF: Encoding
const ENCODING_REF: Encoding
impl Copy for IOUSBEndpointProperties
usb only.impl StructuralPartialEq for IOUSBEndpointProperties
usb only.