#[repr(u32)]pub enum usb_transfer_completion_t {
USB_Transfer_Completed = 0,
USB_Transfer_Not_Ready = 1,
}
Expand description
All USB related data types are Simics internal, and should not be used by user-defined classes. The data types may change in future versions of Simics.
The
There are two fields to identify the pipe: function_address is the function/device address for the target USB device; endpoint_number specifies the endpoint number.
The type of transfer is defined using the type field. The type is either control, bulk, interrupt, or isochronous. The u.control_request field is only valid for control transfers. It contains the information that would be in the setup packet of a control transfer. The u.periodic_time field is only valid for periodic transfers, i.e., interrupt and isochronous transfers. It specifies the minimum response time for a transfer expected by the USB host. A USB device do not need to fulfill the expectation. It is merely a way to tell the USB device how to keep the timing specified in the periodic list scheduling.
The usb_direction field specifies the direction of the data in
the USB transfer. Only the actual data packet is used to specify the
direction, even if a real transfer consists of a mix of SETUP/OUT/IN/STATUS
packets.
The status field contains the status for the transfer. The status is typically only set by the USB device. The USB host does not set the status field when it has completed an IN transfer.
Variants§
Trait Implementations§
source§impl Clone for usb_transfer_completion_t
impl Clone for usb_transfer_completion_t
source§fn clone(&self) -> usb_transfer_completion_t
fn clone(&self) -> usb_transfer_completion_t
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for usb_transfer_completion_t
impl Debug for usb_transfer_completion_t
source§impl Hash for usb_transfer_completion_t
impl Hash for usb_transfer_completion_t
source§impl Ord for usb_transfer_completion_t
impl Ord for usb_transfer_completion_t
source§fn cmp(&self, other: &usb_transfer_completion_t) -> Ordering
fn cmp(&self, other: &usb_transfer_completion_t) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialOrd for usb_transfer_completion_t
impl PartialOrd for usb_transfer_completion_t
impl Copy for usb_transfer_completion_t
impl Eq for usb_transfer_completion_t
impl StructuralPartialEq for usb_transfer_completion_t
Auto Trait Implementations§
impl Freeze for usb_transfer_completion_t
impl RefUnwindSafe for usb_transfer_completion_t
impl Send for usb_transfer_completion_t
impl Sync for usb_transfer_completion_t
impl Unpin for usb_transfer_completion_t
impl UnwindSafe for usb_transfer_completion_t
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)