libcdio  0.90
Defines | Enumerations | Functions | Variables
mmc_util.h File Reference

Multimedia Command (MMC) "helper" routines that don't depend on anything other than headers. More...

#include <cdio/device.h>

Go to the source code of this file.

Defines

#define MMC_READ_TIMEOUT_DEFAULT   3*60*1000
#define MMC_TIMEOUT_DEFAULT   6000

Enumerations

enum  cdio_mmc_feature_profile_t {
  CDIO_MMC_FEATURE_PROF_NON_REMOVABLE = 0x0001, CDIO_MMC_FEATURE_PROF_REMOVABLE = 0x0002, CDIO_MMC_FEATURE_PROF_MO_ERASABLE = 0x0003, CDIO_MMC_FEATURE_PROF_MO_WRITE_ONCE = 0x0004,
  CDIO_MMC_FEATURE_PROF_AS_MO = 0x0005, CDIO_MMC_FEATURE_PROF_CD_ROM = 0x0008, CDIO_MMC_FEATURE_PROF_CD_R = 0x0009, CDIO_MMC_FEATURE_PROF_CD_RW = 0x000A,
  CDIO_MMC_FEATURE_PROF_DVD_ROM = 0x0010, CDIO_MMC_FEATURE_PROF_DVD_R_SEQ = 0x0011, CDIO_MMC_FEATURE_PROF_DVD_RAM = 0x0012, CDIO_MMC_FEATURE_PROF_DVD_RW_RO = 0x0013,
  CDIO_MMC_FEATURE_PROF_DVD_RW_SEQ = 0x0014, CDIO_MMC_FEATURE_PROF_DVD_R_DL_SEQ = 0x0015, CDIO_MMC_FEATURE_PROF_DVD_R_DL_JR = 0x0016, CDIO_MMC_FEATURE_PROF_DVD_PRW = 0x001A,
  CDIO_MMC_FEATURE_PROF_DVD_PR = 0x001B, CDIO_MMC_FEATURE_PROF_DDCD_ROM = 0x0020, CDIO_MMC_FEATURE_PROF_DDCD_R = 0x0021, CDIO_MMC_FEATURE_PROF_DDCD_RW = 0x0022,
  CDIO_MMC_FEATURE_PROF_DVD_PRW_DL = 0x002A, CDIO_MMC_FEATURE_PROF_DVD_PR_DL = 0x002B, CDIO_MMC_FEATURE_PROF_BD_ROM = 0x0040, CDIO_MMC_FEATURE_PROF_BD_SEQ = 0x0041,
  CDIO_MMC_FEATURE_PROF_BD_R_RANDOM = 0x0042, CDIO_MMC_FEATURE_PROF_BD_RE = 0x0043, CDIO_MMC_FEATURE_PROF_HD_DVD_ROM = 0x0050, CDIO_MMC_FEATURE_PROF_HD_DVD_R = 0x0051,
  CDIO_MMC_FEATURE_PROF_HD_DVD_RAM = 0x0052, CDIO_MMC_FEATURE_PROF_NON_CONFORM = 0xFFFF
}

Functions

const char * mmc_feature2str (int i_feature)
void mmc_get_drive_cap (CdIo_t *p_cdio, cdio_drive_read_cap_t *p_read_cap, cdio_drive_write_cap_t *p_write_cap, cdio_drive_misc_cap_t *p_misc_cap)
const char * mmc_feature_profile2str (int i_feature_profile)
bool mmc_is_disctype_bd (cdio_mmc_feature_profile_t disctype)
bool mmc_is_disctype_cdrom (cdio_mmc_feature_profile_t disctype)
bool mmc_is_disctype_dvd (cdio_mmc_feature_profile_t disctype)
bool mmc_is_disctype_hd_dvd (cdio_mmc_feature_profile_t disctype)
bool mmc_is_disctype_overwritable (cdio_mmc_feature_profile_t disctype)
bool mmc_is_disctype_rewritable (cdio_mmc_feature_profile_t disctype)

Variables

uint32_t mmc_read_timeout_ms
const char mmc_sense_key2str [16][40]
uint32_t mmc_timeout_ms

Detailed Description

Multimedia Command (MMC) "helper" routines that don't depend on anything other than headers.


Define Documentation

#define MMC_READ_TIMEOUT_DEFAULT   3*60*1000

The default read timeout is 3 minutes.

#define MMC_TIMEOUT_DEFAULT   6000

The default timeout (non-read) is 6 seconds.


Enumeration Type Documentation

Profile profile codes used in GET_CONFIGURATION - PROFILE LIST.

Enumerator:
CDIO_MMC_FEATURE_PROF_NON_REMOVABLE 

Re-writable disc, capable of changing behavior

CDIO_MMC_FEATURE_PROF_REMOVABLE 

disk Re-writable; with removable media

CDIO_MMC_FEATURE_PROF_MO_ERASABLE 

Erasable Magneto-Optical disk with sector erase capability

CDIO_MMC_FEATURE_PROF_MO_WRITE_ONCE 

Write Once Magneto-Optical write once

CDIO_MMC_FEATURE_PROF_AS_MO 

Advance Storage Magneto-Optical

CDIO_MMC_FEATURE_PROF_CD_ROM 

Read only Compact Disc capable

CDIO_MMC_FEATURE_PROF_CD_R 

Write once Compact Disc capable

CDIO_MMC_FEATURE_PROF_CD_RW 

CD-RW Re-writable Compact Disc capable

CDIO_MMC_FEATURE_PROF_DVD_ROM 

Read only DVD

CDIO_MMC_FEATURE_PROF_DVD_R_SEQ 

Re-recordable DVD using Sequential recording

CDIO_MMC_FEATURE_PROF_DVD_RAM 

Re-writable DVD

CDIO_MMC_FEATURE_PROF_DVD_RW_RO 

Re-recordable DVD using Restricted Overwrite

CDIO_MMC_FEATURE_PROF_DVD_RW_SEQ 

Re-recordable DVD using Sequential recording

CDIO_MMC_FEATURE_PROF_DVD_R_DL_SEQ 

DVD-R/DL sequential recording

CDIO_MMC_FEATURE_PROF_DVD_R_DL_JR 

DVD-R/DL layer jump recording

CDIO_MMC_FEATURE_PROF_DVD_PRW 

DVD+RW - DVD ReWritable

CDIO_MMC_FEATURE_PROF_DVD_PR 

DVD+R - DVD Recordable

CDIO_MMC_FEATURE_PROF_DDCD_ROM 

Read only DDCD

CDIO_MMC_FEATURE_PROF_DDCD_R 

DDCD-R Write only DDCD

CDIO_MMC_FEATURE_PROF_DDCD_RW 

Re-Write only DDCD

CDIO_MMC_FEATURE_PROF_DVD_PRW_DL 

"DVD+RW/DL

CDIO_MMC_FEATURE_PROF_DVD_PR_DL 

DVD+R - DVD Recordable double layer

CDIO_MMC_FEATURE_PROF_BD_ROM 

BD-ROM

CDIO_MMC_FEATURE_PROF_BD_SEQ 

BD-R sequential recording

CDIO_MMC_FEATURE_PROF_BD_R_RANDOM 

BD-R random recording

CDIO_MMC_FEATURE_PROF_BD_RE 

BD-RE

CDIO_MMC_FEATURE_PROF_HD_DVD_ROM 

HD-DVD-ROM

CDIO_MMC_FEATURE_PROF_HD_DVD_R 

HD-DVD-R

CDIO_MMC_FEATURE_PROF_HD_DVD_RAM 

"HD-DVD-RAM

CDIO_MMC_FEATURE_PROF_NON_CONFORM 

The Logical Unit does not conform to any Profile.


Function Documentation

const char* mmc_feature2str ( int  i_feature)
Parameters:
i_featureMMC feature number
Returns:
string containing the name of the given feature
const char* mmc_feature_profile2str ( int  i_feature_profile)

Return a string containing the name of the given feature

void mmc_get_drive_cap ( CdIo_t p_cdio,
cdio_drive_read_cap_t p_read_cap,
cdio_drive_write_cap_t p_write_cap,
cdio_drive_misc_cap_t p_misc_cap 
)

Get drive capabilities for a device.

Parameters:
p_cdiothe CD object to be acted upon.
p_read_caplist of read capabilities that are set on return
p_write_caplist of write capabilities that are set on return
p_misc_caplist of miscellaneous capabilities (that are neither read nor write related) that are set on return

Variable Documentation

Set this to the maximum value in milliseconds that we will wait on an MMC read command.

const char mmc_sense_key2str[16][40]

Maps a mmc_sense_key_t into a string name.

uint32_t mmc_timeout_ms

Set this to the maximum value in milliseconds that we will wait on an MMC command.