Skip to main content

MmcFeature

Enum MmcFeature 

Source
#[non_exhaustive]
pub enum MmcFeature {
Show 61 variants ProfileList { profiles: Vec<MmcProfile>, }, Core { interface: MmcInterface, }, Morphing { async_events: bool, op_chg_events: bool, }, RemovableMedium { eject: bool, lock: bool, prevent_jumper: bool, load_mech: MmcLoadMech, }, WriteProtect, RandomReadable, MultiRead, CdRead { active: bool, c2_error: bool, cd_text: bool, dap: bool, }, DvdRead, RandomWritable, IncrementalStreamingWritable, SectorErasable, Formattable, HardwareDefectManagement, WriteOnce, RestrictedOverwrite, CdRwCavWrite, Mrw, EnhancedDefectReporting, DvdPlusRw, DvdPlusR, RigidRestrictedOverwrite, CdTrackAtOnce, CdMastering, DvdRRwWrite, DdcdRead, DdcdRWrite, DdcdRwWrite, LayerJumpRecording, LayerJumpRigidRestrictedOverwrite, StopLongOperation, CdRwMediaWriteSupport, BdRPow, DvdPlusRwDualLayer, DvdPlusRDualLayer, BdRead, BdWrite, Tsr, HdDvdRead, HdDvdWrite, HdDvdRwFragment, HybridDisc, PowerManagement, Smart, EmbeddedChanger, CdAudioExternalPlay { active: bool, scan: bool, sep_channel_mute: bool, sep_volume: bool, volume_levels: u16, }, MicrocodeUpgrade, Timeout, DvdCss { active: bool, version: u8, }, RealTimeStreaming, DriveSerialNumber { sno: String, }, MediaSerialNumber, DiscControlBlocks, DvdCprm, FirmwareInformation, Aacs, DvdCssManagedRecording, Vcps, SecurDisc, Ossc, VendorSpecific,
}
Available on crate feature mmc only.
Expand description

A set of commands and behaviours that specify the capabilities of a drive and its associated medium.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

ProfileList

Profile List

A list of all profiles supported by the drive

Fields

§profiles: Vec<MmcProfile>
§

Core

Core

Mandatory behavior for all devices

Fields

§interface: MmcInterface

Physical interface standard reported by MMC.

NOTE: It is possible that more than one physical interface exists between the Host and Drive, e.g., an IEEE1394 Host connecting to an ATAPI bridge to an ATAPI Drive. The Drive may not be aware of interfaces beyond the ATAPI.

§

Morphing

Morphing

Ability to report operational changes to the host and accept requests to prevent operational changes

Fields

§async_events: bool

Supports async in addition to polling implementations of GET EVENT STATUS NOTIFICATION

§op_chg_events: bool

Supports Operational Change Request/Notification Class Events

§

RemovableMedium

Removable Medium

Ability to remove the medium from the device

Fields

§eject: bool

The drive is capable of ejecting media via START/STOP commands

§lock: bool

The drive is capable of locking media

§prevent_jumper: bool

The drive has a prevent jumper

§load_mech: MmcLoadMech

The Loading mechanism type used by the drive

§

WriteProtect

Write Protect

Ability to control write protection status

§

RandomReadable

Random Readable

Ability to read sectors with random addressing

§

MultiRead

Multi-Read

The drive is able to read all CD media types; based on OSTA MultiRead

§

CdRead

CD Read

Ability to read CD-specific structures

Fields

§active: bool

The feature is currently active

§c2_error: bool

Supports C2 error pointers

§cd_text: bool

Supports CD-Text (Format Code 5h of READ TOC/PMA/ATIP)

§dap: bool

Supports DAP bit for the CDB in READ CD and READ CD MSF commands

§

DvdRead

DVD Read

Ability to read DVD-specific structures

§

RandomWritable

Random Writable

Write support for randomly addressed writes

§

IncrementalStreamingWritable

Incremental Streaming Writable

Write support for sequential recording

§

SectorErasable

Sector Erasable

Write support for erasable media and media that requires an erase pass before overwrite

§

Formattable

Formattable

Support for formatting of media

§

HardwareDefectManagement

Hardware Defect Management

Ability of the drive/media system to provide an apparently defect-free space

§

WriteOnce

Write Once

Write support for write-once media that is writable in random order

§

RestrictedOverwrite

Restricted Overwrite

Write support for media that shall be written from blocking boundaries only

§

CdRwCavWrite

CD-RW CAV Write

Ability to write high-speed CD-RW media

§

Mrw

MRW

Ability to recognize and read and optionally write MRW formatted media

§

EnhancedDefectReporting

Enhanced Defect Reporting

Ability to control RECOVERED ERROR reporting

§

DvdPlusRw

Ability to recognize, read and optionally write DVD+RW media

§

DvdPlusR

DVD+R

Ability to read DVD+R recorded media formats

§

RigidRestrictedOverwrite

Rigid Restricted Overwrite

Write support for media that is required to be written from Blocking boundaries with length of integral multiple of Blocking size only.

§

CdTrackAtOnce

CD Track At Once

Ability to write CD with Track at Once recording

§

CdMastering

CD Mastering

Ability to write CD with Session at Once or Raw write methods

§

DvdRRwWrite

DVD-R/-RW Write

Ability to write DVD specific structures

§

DdcdRead

DDCD Read

Ability to read user data from DDCD blocks

§

DdcdRWrite

DDCD-R Write

Ability to write and read DDCD-R media

§

DdcdRwWrite

DDCD-RW Write

Ability to write and read DDCD-RW media

§

LayerJumpRecording

Layer Jump Recording

Ability to record in layer jump mode

§

LayerJumpRigidRestrictedOverwrite

Layer Jump Rigid Restricted Overwrite

Ability to perform Layer Jump recording on Rigid Restricted Overwritable media

§

StopLongOperation

Stop Long Operation

Ability to stop the long immediate operation by a command

§

CdRwMediaWriteSupport

CD-RW Media Write Support

Ability to report CD-RW media sub-types that are supported for write

§

BdRPow

BD-R POW

Logical Block overwrite service on BD-R discs formatted as SRM+POW

§

DvdPlusRwDualLayer

DVD+RW Dual Layer

Ability to read DVD+RW Dual Layer recorded media formats

§

DvdPlusRDualLayer

DVD+R Dual Layer

Ability to read DVD+R Dual Layer recorded media formats

§

BdRead

BD Read

Ability to read control structures and user data from a BD disc

§

BdWrite

BD Write

Ability to write control structures and user data to certain BD discs

§

Tsr

Timely Safe Recording

Timely, Safe Recording permits the Host to schedule defect management

§

HdDvdRead

HD DVD Read

Ability to read control structures and user data from a HD DVD disc

§

HdDvdWrite

HD DVD Write

Ability to write control structures and user data from a HD DVD disc

§

HdDvdRwFragment

HD DVD-RW Fragment

HD DVD-RW fragment recording

§

HybridDisc

Hybrid Disc

Ability to access some hybrid discs

§

PowerManagement

Power Management

Host and device directed power management

§

Smart

SMART

Ability to perform Self Monitoring Analysis and Reporting Technology

§

EmbeddedChanger

Embedded Changer

Single mechanism multiple disc changer

§

CdAudioExternalPlay

CD Audio External Play

Ability to play audio CDs via the Logical Unit’s own analog output

Fields

§active: bool

Feature is currently active

§scan: bool

Supports the SCAN command

§sep_channel_mute: bool

Supports independent mute of audio channels

§sep_volume: bool

Supports independent volume levels for audio channels

§volume_levels: u16

Number of discrete volume levels supported

§

MicrocodeUpgrade

Microcode Upgrade

Ability for the device to accept new microcode via the interface

§

Timeout

Timeout

Ability to respond to all commands within a specific time

§

DvdCss

DVD-CSS

Ability to perform DVD CSS/CPPM authentication and RPC

Fields

§active: bool

Feature is currently active (DVD CSS/CPPM media is present)

§version: u8

CSS Version

§

RealTimeStreaming

Real Time Streaming

Ability to read and write using host requested performance parameters

§

DriveSerialNumber

Drive Serial Number

The drive has a unique identifier

Fields

§

MediaSerialNumber

Media Serial Number

Ability to return unique Media Serial Number

§

DiscControlBlocks

Disc Control Blocks

Ability to read and/or write DCBs

§

DvdCprm

DVD CPRM

Ability to perform DVD CPRM authentication

§

FirmwareInformation

Firmware Information

Firmware creation date report

§

Aacs

AACS

Ability to decode and optionally encode AACS protected information

§

DvdCssManagedRecording

DVD CSS Managed Recording

Ability to perform DVD CSS managed recording

§

Vcps

VCPS

Ability to decode and optionally encode VCPS protected information

§

SecurDisc

SecurDisc

Ability to encode and decode SecurDisc protected information

§

Ossc

OSSC

TCG Optical Security Subsystem Class feature

§

VendorSpecific

Vendor Specific

Vendor-specific feature

Trait Implementations§

Source§

impl Clone for MmcFeature

Source§

fn clone(&self) -> MmcFeature

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for MmcFeature

Source§

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

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

impl Default for MmcFeature

Source§

fn default() -> MmcFeature

Returns the “default value” for a type. Read more
Source§

impl Display for MmcFeature

Source§

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

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

impl Eq for MmcFeature

Source§

impl Hash for MmcFeature

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for MmcFeature

Source§

fn cmp(&self, other: &MmcFeature) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for MmcFeature

Source§

fn eq(&self, other: &MmcFeature) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl PartialOrd for MmcFeature

Source§

fn partial_cmp(&self, other: &MmcFeature) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl StructuralPartialEq for MmcFeature

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = !

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

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more