burn_speed_descriptor

Struct burn_speed_descriptor 

Source
#[repr(C)]
pub struct burn_speed_descriptor { pub source: c_int, pub profile_loaded: c_int, pub profile_name: [c_char; 80], pub end_lba: c_int, pub write_speed: c_int, pub read_speed: c_int, pub wrc: c_int, pub exact: c_int, pub mrw: c_int, pub prev: *mut burn_speed_descriptor, pub next: *mut burn_speed_descriptor, }
Expand description

Description of a speed capability as reported by the drive in conjunction with eventually loaded media. There can be more than one such object per drive. So they are chained via .next and .prev , where NULL marks the end of the chain. This list is set up by burn_drive_scan() and gets updated by burn_drive_grab(). A copy may be obtained by burn_drive_get_speedlist() and disposed by burn_drive_free_speedlist(). For technical background info see SCSI specs MMC and SPC: mode page 2Ah (from SPC 5Ah MODE SENSE) , mmc3r10g.pdf , 6.3.11 Table 364 ACh GET PERFORMANCE, Type 03h , mmc5r03c.pdf , 6.8.5.3 Table 312

Fields§

§source: c_int

Where this info comes from : 0 = misc 1 = mode page 2Ah 2 = ACh GET PERFORMANCE Type 03h 3 = ACh GET PERFORMANCE Type 00h Data Type 10h (read speed)

§profile_loaded: c_int

The media type that was current at the time of report -2 = state unknown, -1 = no media was loaded , else see burn_disc_get_profile()

§profile_name: [c_char; 80]§end_lba: c_int

The attributed capacity of appropriate media in logical block units i.e. 2352 raw bytes or 2048 data bytes. -1 = capacity unknown.

§write_speed: c_int

Speed is given in 1000 bytes/s , 0 = invalid. The numbers are supposed to be usable with burn_drive_set_speed()

§read_speed: c_int§wrc: c_int

Expert info from ACh GET PERFORMANCE and/or mode page 2Ah. Expect values other than 0 or 1 to get a meaning in future.

§exact: c_int§mrw: c_int§prev: *mut burn_speed_descriptor

List chaining. Use .next until NULL to iterate over the list

§next: *mut burn_speed_descriptor

Trait Implementations§

Source§

impl Clone for burn_speed_descriptor

Source§

fn clone(&self) -> burn_speed_descriptor

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for burn_speed_descriptor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for burn_speed_descriptor

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.