|
Data Structures |
struct | mmc_audio_volume_entry_s |
struct | mmc_audio_volume_s |
struct | mmc_cdb_s |
| A Command Descriptor Block (CDB) used in sending MMC commands. More...
|
struct | mmc_feature_list_header_s |
| Format of header block in data returned from an MMC GET_CONFIGURATION command. More...
|
struct | mmc_subchannel_s |
Defines |
#define | MMC_TIMEOUT_DEFAULT 6000 |
#define | MMC_READ_TIMEOUT_DEFAULT 3*60*1000 |
#define | CDIO_MMC_READ_TYPE_ANY 0 |
#define | CDIO_MMC_READ_TYPE_CDDA 1 |
#define | CDIO_MMC_READ_TYPE_MODE1 2 |
#define | CDIO_MMC_READ_TYPE_MODE2 3 |
#define | CDIO_MMC_READ_TYPE_M2F1 4 |
#define | CDIO_MMC_READ_TYPE_M2F2 5 |
#define | CDIO_MMC_READTOC_FMT_TOC 0 |
#define | CDIO_MMC_READTOC_FMT_SESSION 1 |
#define | CDIO_MMC_READTOC_FMT_FULTOC 2 |
#define | CDIO_MMC_READTOC_FMT_PMA 3 |
#define | CDIO_MMC_READTOC_FMT_ATIP 4 |
#define | CDIO_MMC_READTOC_FMT_CDTEXT 5 |
#define | CDIO_MMC_R_W_ERROR_PAGE 0x01 |
#define | CDIO_MMC_WRITE_PARMS_PAGE 0x05 |
#define | CDIO_MMC_CDR_PARMS_PAGE 0x0d |
#define | CDIO_MMC_AUDIO_CTL_PAGE 0x0e |
#define | CDIO_MMC_POWER_PAGE 0x1a |
#define | CDIO_MMC_FAULT_FAIL_PAGE 0x1c |
#define | CDIO_MMC_TO_PROTECT_PAGE 0x1d |
#define | CDIO_MMC_CAPABILITIES_PAGE 0x2a |
#define | CDIO_MMC_ALL_PAGES 0x3f |
#define | CDIO_MMC_GET_CONF_ALL_FEATURES 0 |
#define | CDIO_MMC_GET_CONF_CURRENT_FEATURES 1 |
#define | CDIO_MMC_GET_CONF_NAMED_FEATURE 2 |
#define | MAX_CDB_LEN 12 |
#define | CDIO_MMC_SET_COMMAND(cdb, command) cdb[0] = command |
#define | CDIO_MMC_SET_READ_TYPE(cdb, sector_type) cdb[1] = (sector_type << 2) |
#define | CDIO_MMC_GET_LEN16(p) (p[0]<<8) + p[1] |
#define | CDIO_MMC_GET_LEN32(p) (p[0] << 24) + (p[1] << 16) + (p[2] << 8) + p[3]; |
#define | CDIO_MMC_SET_LEN16(cdb, pos, len) |
#define | CDIO_MMC_SET_READ_LBA(cdb, lba) |
#define | CDIO_MMC_SET_START_TRACK(cdb, command) cdb[6] = command |
#define | CDIO_MMC_SET_READ_LENGTH24(cdb, len) |
#define | CDIO_MMC_SET_READ_LENGTH16(cdb, len) CDIO_MMC_SET_LEN16(cdb, 7, len) |
#define | CDIO_MMC_SET_READ_LENGTH8(cdb, len) cdb[8] = (len ) & 0xff |
#define | CDIO_MMC_MCSB_ALL_HEADERS 0xf |
#define | CDIO_MMC_SET_MAIN_CHANNEL_SELECTION_BITS(cdb, val) cdb[9] = val << 3; |
#define | scsi_mmc_cdb_t mmc_cdb_t |
#define | scsi_mmc_direction_t mmc_direction_t |
#define | scsi_mmc_get_cmd_len mmc_get_cmd_len |
#define | scsi_mmc_run_cmd mmc_run_cmd |
#define | scsi_mmc_eject_media mmc_eject_media |
#define | scsi_mmc_get_disc_last_lsn mmc_get_disc_last_lsn |
#define | scsi_mmc_get_discmode mmc_get_discmode |
#define | scsi_mmc_get_drive_cap mmc_get_drive_cap |
#define | scsi_mmc_get_dvd_struct_physical mmc_get_dvd_struct_physical |
#define | scsi_mmc_get_hwinfo mmc_get_hwinfo |
#define | scsi_mmc_get_mcn mmc_get_mcn |
#define | scsi_mmc_read_sectors mmc_read_sectors |
#define | scsi_mmc_set_blocksize mmc_set_blocksize |
#define | scsi_mmc_get_blocksize mmc_get_blocksize |
#define | scsi_mmc_set_speed mmc_set_speed |
Typedefs |
typedef mmc_audio_volume_entry_s | mmc_audio_volume_entry_t |
typedef mmc_audio_volume_s | mmc_audio_volume_t |
typedef mmc_cdb_s | mmc_cdb_t |
| A Command Descriptor Block (CDB) used in sending MMC commands.
|
typedef mmc_feature_list_header_s | mmc_feature_list_header_t |
| Format of header block in data returned from an MMC GET_CONFIGURATION command.
|
typedef enum mmc_direction_s | mmc_direction_t |
typedef mmc_subchannel_s | mmc_subchannel_t |
Enumerations |
enum | cdio_mmc_gpcmd_t {
CDIO_MMC_GPCMD_INQUIRY = 0x12,
CDIO_MMC_GPCMD_MODE_SELECT_6 = 0x15,
CDIO_MMC_GPCMD_MODE_SENSE_6 = 0x1a,
CDIO_MMC_GPCMD_START_STOP = 0x1b,
CDIO_MMC_GPCMD_ALLOW_MEDIUM_REMOVAL = 0x1e,
CDIO_MMC_GPCMD_READ_10 = 0x28,
CDIO_MMC_GPCMD_READ_SUBCHANNEL = 0x42,
CDIO_MMC_GPCMD_READ_TOC = 0x43,
CDIO_MMC_GPCMD_READ_HEADER = 0x44,
CDIO_MMC_GPCMD_PLAY_AUDIO_10 = 0x45,
CDIO_MMC_GPCMD_GET_CONFIGURATION = 0x46,
CDIO_MMC_GPCMD_PLAY_AUDIO_MSF = 0x47,
CDIO_MMC_GPCMD_PLAY_AUDIO_TI = 0x48,
CDIO_MMC_GPCMD_PLAY_TRACK_REL_10 = 0x49,
CDIO_MMC_GPCMD_GET_EVENT_STATUS = 0x4a,
CDIO_MMC_GPCMD_PAUSE_RESUME = 0x4b,
CDIO_MMC_GPCMD_READ_DISC_INFO = 0x51,
CDIO_MMC_GPCMD_MODE_SELECT_10 = 0x55,
CDIO_MMC_GPCMD_MODE_SENSE_10 = 0x5a,
CDIO_MMC_GPCMD_PLAY_AUDIO_12 = 0xa5,
CDIO_MMC_GPCMD_LOAD_UNLOAD = 0xa6,
CDIO_MMC_GPCMD_READ_12 = 0xa8,
CDIO_MMC_GPCMD_PLAY_TRACK_REL_12 = 0xa9,
CDIO_MMC_GPCMD_READ_DVD_STRUCTURE = 0xad,
CDIO_MMC_GPCMD_READ_MSF = 0xb9,
CDIO_MMC_GPCMD_SET_SPEED = 0xbb,
CDIO_MMC_GPCMD_READ_CD = 0xbe,
CDIO_MMC_GPCMD_CD_PLAYBACK_STATUS = 0xc4,
CDIO_MMC_GPCMD_PLAYBACK_CONTROL = 0xc9,
CDIO_MMC_GPCMD_READ_CDDA = 0xd8,
CDIO_MMC_GPCMD_READ_CDXA = 0xdb,
CDIO_MMC_GPCMD_READ_ALL_SUBCODES = 0xdf
} |
| The opcode-portion (generic packet commands) of an MMC command. More...
|
enum | cdio_mmc_read_sub_state_t {
CDIO_MMC_READ_SUB_ST_INVALID = 0x00,
CDIO_MMC_READ_SUB_ST_PLAY = 0x11,
CDIO_MMC_READ_SUB_ST_PAUSED = 0x12,
CDIO_MMC_READ_SUB_ST_COMPLETED = 0x13,
CDIO_MMC_READ_SUB_ST_ERROR = 0x14,
CDIO_MMC_READ_SUB_ST_NO_STATUS = 0x15
} |
enum | mmc_feature_t {
CDIO_MMC_FEATURE_PROFILE_LIST = 0x000,
CDIO_MMC_FEATURE_CORE = 0x001,
CDIO_MMC_FEATURE_MORPHING = 0x002,
CDIO_MMC_FEATURE_REMOVABLE_MEDIUM = 0x003,
CDIO_MMC_FEATURE_WRITE_PROTECT = 0x004,
CDIO_MMC_FEATURE_RANDOM_READABLE = 0x010,
CDIO_MMC_FEATURE_MULTI_READ = 0x01D,
CDIO_MMC_FEATURE_CD_READ = 0x01E,
CDIO_MMC_FEATURE_DVD_READ = 0x01F,
CDIO_MMC_FEATURE_RANDOM_WRITABLE = 0x020,
CDIO_MMC_FEATURE_INCR_WRITE = 0x021,
CDIO_MMC_FEATURE_SECTOR_ERASE = 0x022,
CDIO_MMC_FEATURE_FORMATABLE = 0x023,
CDIO_MMC_FEATURE_DEFECT_MGMT = 0x024,
CDIO_MMC_FEATURE_WRITE_ONCE = 0x025,
CDIO_MMC_FEATURE_RESTRICT_OVERW = 0x026,
CDIO_MMC_FEATURE_CD_RW_CAV = 0x027,
CDIO_MMC_FEATURE_MRW = 0x028,
CDIO_MMC_FEATURE_ENHANCED_DEFECT = 0x029,
CDIO_MMC_FEATURE_DVD_PRW = 0x02A,
CDIO_MMC_FEATURE_DVD_PR = 0x02B,
CDIO_MMC_FEATURE_RIGID_RES_OVERW = 0x02C,
CDIO_MMC_FEATURE_CD_TAO = 0x02D,
CDIO_MMC_FEATURE_CD_SAO = 0x02E,
CDIO_MMC_FEATURE_DVD_R_RW_WRITE = 0x02F,
CDIO_MMC_FEATURE_CD_RW_MEDIA_WRITE = 0x037,
CDIO_MMC_FEATURE_DVD_PR_2_LAYER = 0x03B,
CDIO_MMC_FEATURE_POWER_MGMT = 0x100,
CDIO_MMC_FEATURE_CDDA_EXT_PLAY = 0x103,
CDIO_MMC_FEATURE_MCODE_UPGRADE = 0x104,
CDIO_MMC_FEATURE_TIME_OUT = 0x105,
CDIO_MMC_FEATURE_DVD_CSS = 0x106,
CDIO_MMC_FEATURE_RT_STREAMING = 0x107,
CDIO_MMC_FEATURE_LU_SN = 0x108,
CDIO_MMC_FEATURE_FIRMWARE_DATE = 0x1FF
} |
enum | 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_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_PR2 = 0x002B,
CDIO_MMC_FEATURE_PROF_NON_CONFORM = 0xFFFF
} |
enum | mmc_feature_interface_t {
CDIO_MMC_FEATURE_INTERFACE_UNSPECIFIED = 0,
CDIO_MMC_FEATURE_INTERFACE_SCSI = 1,
CDIO_MMC_FEATURE_INTERFACE_ATAPI = 2,
CDIO_MMC_FEATURE_INTERFACE_IEEE_1394 = 3,
CDIO_MMC_FEATURE_INTERFACE_IEEE_1394A = 4,
CDIO_MMC_FEATURE_INTERFACE_FIBRE_CH = 5
} |
enum | mmc_direction_s { SCSI_MMC_DATA_READ,
SCSI_MMC_DATA_WRITE
} |
enum | cdio_mmc_level_t {
CDIO_MMC_LEVEL_WEIRD,
CDIO_MMC_LEVEL_1,
CDIO_MMC_LEVEL_2,
CDIO_MMC_LEVEL_3,
CDIO_MMC_LEVEL_NONE
} |
Functions |
driver_return_code_t | mmc_audio_read_subchannel (CdIo_t *p_cdio, cdio_subchannel_t *p_subchannel) |
const char * | mmc_audio_state2str (uint8_t i_audio_state) |
driver_return_code_t | mmc_eject_media (const CdIo_t *p_cdio) |
const char * | mmc_feature2str (int i_feature) |
const char * | mmc_feature_profile2str (int i_feature_profile) |
uint8_t | mmc_get_cmd_len (uint8_t mmc_cmd) |
int | mmc_get_blocksize (CdIo_t *p_cdio) |
lsn_t | mmc_get_disc_last_lsn (const CdIo_t *p_cdio) |
discmode_t | mmc_get_discmode (const CdIo_t *p_cdio) |
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) |
cdio_mmc_level_t | mmc_get_drive_mmc_cap (CdIo_t *p_cdio) |
discmode_t | mmc_get_dvd_struct_physical (const CdIo_t *p_cdio, cdio_dvd_struct_t *s) |
bool | mmc_get_hwinfo (const CdIo_t *p_cdio, cdio_hwinfo_t *p_hw_info) |
int | mmc_get_media_changed (const CdIo_t *p_cdio) |
char * | mmc_get_mcn (const CdIo_t *p_cdio) |
driver_return_code_t | mmc_audio_get_volume (CdIo_t *p_cdio, mmc_audio_volume_t *p_volume) |
bool_3way_t | mmc_have_interface (CdIo_t *p_cdio, mmc_feature_interface_t e_interface) |
int | mmc_mode_sense (CdIo_t *p_cdio, void *p_buf, int i_size, int page) |
int | mmc_mode_sense_10 (CdIo_t *p_cdio, void *p_buf, int i_size, int page) |
int | mmc_mode_sense_6 (CdIo_t *p_cdio, void *p_buf, int i_size, int page) |
driver_return_code_t | mmc_read_cd (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, int expected_sector_type, bool b_digital_audio_play, bool b_sync, uint8_t header_codes, bool b_user_data, bool b_edc_ecc, uint8_t c2_error_information, uint8_t subchannel_selection, uint16_t i_blocksize, uint32_t i_blocks) |
driver_return_code_t | mmc_read_data_sectors (CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, uint16_t i_blocksize, uint32_t i_blocks) |
driver_return_code_t | mmc_read_sectors (const CdIo_t *p_cdio, void *p_buf, lsn_t i_lsn, int read_sector_type, uint32_t i_blocks) |
int | mmc_run_cmd (const CdIo_t *p_cdio, unsigned int i_timeout_ms, const mmc_cdb_t *p_cdb, mmc_direction_t e_direction, unsigned int i_buf, void *p_buf) |
driver_return_code_t | mmc_set_blocksize (const CdIo_t *p_cdio, uint16_t i_blocksize) |
driver_return_code_t | mmc_set_speed (const CdIo_t *p_cdio, int i_speed) |
driver_return_code_t | mmc_start_stop_media (const CdIo_t *p_cdio, bool b_eject, bool b_immediate, uint8_t power_condition) |
Variables |
uint32_t | mmc_timeout_ms |
uint32_t | mmc_read_timeout_ms |
PRAGMA_BEGIN_PACKED struct
mmc_audio_volume_entry_s | GNUC_PACKED |