52 #ifdef WORDS_BIGENDIAN 53 # if !defined(__LITTLE_ENDIAN_BITFIELD) && !defined(__BIG_ENDIAN_BITFIELD) 54 # define __MMC_BIG_ENDIAN_BITFIELD 57 # if !defined(__LITTLE_ENDIAN_BITFIELD) && !defined(__BIG_ENDIAN_BITFIELD) 58 # define __MMC_LITTLE_ENDIAN_BITFIELD 70 #if defined(__MMC_BIG_ENDIAN_BITFIELD) 78 #if defined(__MMC_BIG_ENDIAN_BITFIELD) 337 #define CDIO_MMC_GPCMD_READ_DISC_INFO CDIO_MMC_GPCMD_READ_DISC_INFORMATION 338 #define CDIO_MMC_GPCMD_READ_DISC_STRUCTURE CDIO_MMC_GPMD_READ_DVD_STRUCTURE 453 #define MAX_CDB_LEN 12 494 #define SCSI_MMC_HAS_DIR_NONE 1 510 #define CDIO_MMC_SET_COMMAND(cdb, command) \ 513 #define CDIO_MMC_SET_READ_TYPE(cdb, sector_type) \ 514 cdb[1] = (sector_type << 2) 516 #define CDIO_MMC_GETPOS_LEN16(p, pos) \ 517 (p[pos]<<8) + p[pos+1] 519 #define CDIO_MMC_GET_LEN16(p) \ 522 #define CDIO_MMC_GET_LEN32(p) \ 523 (p[0] << 24) + (p[1] << 16) + (p[2] << 8) + p[3]; 525 #define CDIO_MMC_SET_LEN16(cdb, pos, len) \ 526 cdb[pos ] = (len >> 8) & 0xff; \ 527 cdb[pos+1] = (len ) & 0xff 529 #define CDIO_MMC_SET_READ_LBA(cdb, lba) \ 530 cdb[2] = (lba >> 24) & 0xff; \ 531 cdb[3] = (lba >> 16) & 0xff; \ 532 cdb[4] = (lba >> 8) & 0xff; \ 533 cdb[5] = (lba ) & 0xff 535 #define CDIO_MMC_SET_START_TRACK(cdb, command) \ 538 #define CDIO_MMC_SET_READ_LENGTH24(cdb, len) \ 539 cdb[6] = (len >> 16) & 0xff; \ 540 cdb[7] = (len >> 8) & 0xff; \ 541 cdb[8] = (len ) & 0xff 543 #define CDIO_MMC_SET_READ_LENGTH16(cdb, len) \ 544 CDIO_MMC_SET_LEN16(cdb, 7, len) 546 #define CDIO_MMC_SET_READ_LENGTH8(cdb, len) \ 547 cdb[8] = (len ) & 0xff 549 #define CDIO_MMC_MCSB_ALL_HEADERS 0xf 551 #define CDIO_MMC_SET_MAIN_CHANNEL_SELECTION_BITS(cdb, val) \ 762 uint16_t i_blocksize,
770 lsn_t i_lsn,
int read_sector_type,
791 cdio_mmc_direction_t e_direction,
unsigned int i_buf,
815 const mmc_cdb_t *p_cdb,
unsigned int i_cdb,
816 cdio_mmc_direction_t e_direction,
unsigned int i_buf,
843 uint16_t i_blocksize);
876 #ifndef DO_NOT_WANT_OLD_MMC_COMPATIBILITY 877 #define CDIO_MMC_GPCMD_START_STOP CDIO_MMC_GPCMD_START_STOP_UNIT 878 #define CDIO_MMC_GPCMD_ALLOW_MEDIUM_REMOVAL \ 879 CDIO_MMC_GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL
uint8_t fruc
Definition: mmc.h:102
The top-level header for CD audio-related libcdio calls. These control playing of the CD-ROM through ...
Definitions for DVD access.
uint8_t asc
Definition: mmc.h:100
cdio_mmc_feature_interface_t
Definition: mmc.h:439
#define MAX_CDB_LEN
Definition: mmc.h:453
char * mmc_get_mcn(const CdIo_t *p_cdio)
Common type definitions used pervasively in libcdio.
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)
uint8_t address
Definition: mmc.h:502
cdio_mmc_feature_profile_t debug_cdio_mmc_feature_profile
#define PRAGMA_END_PACKED
Definition: types.h:169
uint8_t selection
Definition: mmc.h:344
lsn_t mmc_get_disc_last_lsn(const CdIo_t *p_cdio)
cdio_mmc_feature_t
Definition: mmc.h:380
driver_return_code_t
Definition: device.h:205
cdio_mmc_level_t mmc_get_drive_mmc_cap(CdIo_t *p_cdio)
driver_return_code_t mmc_audio_get_volume(CdIo_t *p_cdio, mmc_audio_volume_t *p_volume)
uint8_t information[4]
Definition: mmc.h:97
cdio_mmc_get_conf_t
Definition: mmc.h:366
struct mmc_feature_list_header_s cdio_mmc_feature_list_header_t
Format of header block in data returned from an MMC GET_CONFIGURATION command.
int32_t lsn_t
Definition: types.h:266
char * mmc_get_track_isrc(const CdIo_t *p_cdio, track_t i_track)
uint8_t segment_number
Definition: mmc.h:77
#define PRAGMA_BEGIN_PACKED
Definition: types.h:168
driver_return_code_t mmc_audio_read_subchannel(CdIo_t *p_cdio, cdio_subchannel_t *p_subchannel)
int mmc_last_cmd_sense(const CdIo_t *p_cdio, cdio_mmc_request_sense_t **pp_sense)
uint8_t format
Definition: mmc.h:501
int mmc_get_blocksize(CdIo_t *p_cdio)
cdio_mmc_feature_profile_t
Definition: mmc_util.h:36
cdio_mmc_read_cd_type_t debug_cdio_mmc_read_cd_type
uint8_t track_t
Definition: types.h:276
uint8_t sense_key
Definition: mmc.h:88
cdio_mmc_sense_key_t
Definition: mmc.h:111
uint8_t asb[46]
Definition: mmc.h:104
struct cdio_mmc_request_sense cdio_mmc_request_sense_t
cdio_mmc_read_sub_state_t debug_cdio_mmc_read_sub_state
int mmc_get_media_changed(const CdIo_t *p_cdio)
uint8_t track
Definition: mmc.h:504
uint8_t control
Definition: mmc.h:503
enum mmc_direction_s cdio_mmc_direction_t
const char * mmc_cmd2str(uint8_t command)
uint8_t reserved
Definition: mmc.h:498
uint8_t error_code
Definition: mmc.h:74
cdio_mmc_read_disc_info_datatype_t
Definition: mmc.h:330
cdio_mmc_readtoc_t
Definition: mmc.h:303
cdio_mmc_mode_page_t debug_cdio_mmc_mode_page
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)
uint8_t filemark
Definition: mmc.h:94
cdio_mmc_gpcmd_t debug_cdio_mmc_gpcmd
cdio_mmc_read_sub_state_t
Definition: mmc.h:277
uint8_t eom
Definition: mmc.h:91
struct mmc_cdb_s mmc_cdb_t
A Command Descriptor Block (CDB) used in sending MMC commands.
cdio_mmc_read_cd_type_t
Definition: mmc.h:291
The top-level header for libcdio: the CD Input and Control library. Applications include this for any...
uint8_t ili
Definition: mmc.h:90
struct mmc_subchannel_s cdio_mmc_subchannel_t
uint8_t reserved1
Definition: mmc.h:89
driver_return_code_t mmc_set_blocksize(const CdIo_t *p_cdio, uint16_t i_blocksize)
int mmc_get_tray_status(const CdIo_t *p_cdio)
uint8_t command_info[4]
Definition: mmc.h:99
driver_return_code_t mmc_run_cmd_len(const CdIo_t *p_cdio, unsigned int i_timeout_ms, const mmc_cdb_t *p_cdb, unsigned int i_cdb, cdio_mmc_direction_t e_direction, unsigned int i_buf, void *p_buf)
Structure to return CD vendor, model, and revision-level strings obtained via the INQUIRY command...
Definition: device.h:122
cdio_mmc_feature_interface_t debug_cdio_mmc_feature_interface
struct _CdIo CdIo_t
Definition: cdio.h:47
uint8_t audio_status
Definition: mmc.h:499
driver_return_code_t mmc_run_cmd(const CdIo_t *p_cdio, unsigned int i_timeout_ms, const mmc_cdb_t *p_cdb, cdio_mmc_direction_t e_direction, unsigned int i_buf, void *p_buf)
uint8_t volume
Definition: mmc.h:345
uint8_t ascq
Definition: mmc.h:101
A Command Descriptor Block (CDB) used in sending MMC commands.
Definition: mmc.h:459
const char * mmc_audio_state2str(uint8_t i_audio_state)
bool_3way_t
Definition: types.h:236
uint8_t sks[3]
Definition: mmc.h:103
cdio_mmc_get_conf_t debug_cdio_mmc_get_conf
cdio_mmc_level_t
Definition: mmc.h:616
bool mmc_get_hwinfo(const CdIo_t *p_cdio, cdio_hwinfo_t *p_hw_info)
PRAGMA_BEGIN_PACKED struct mmc_audio_volume_entry_s GNUC_PACKED
Multimedia Command (MMC) "helper" routines that don't depend on anything other than headers...
mmc_direction_s
Definition: mmc.h:482
discmode_t
Definition: disc.h:37
discmode_t mmc_get_discmode(const CdIo_t *p_cdio)
uint8_t mmc_get_cmd_len(uint8_t mmc_cmd)
discmode_t mmc_get_dvd_struct_physical(const CdIo_t *p_cdio, cdio_dvd_struct_t *s)
uint16_t data_length
Definition: mmc.h:500
uint8_t valid
Definition: mmc.h:75
uint8_t additional_sense_len
Definition: mmc.h:98
cdio_mmc_gpcmd_t
The opcode-portion (generic packet commands) of an MMC command.
Definition: mmc.h:138
uint8_t index
Definition: mmc.h:505
cdio_mmc_mode_page_t
Definition: mmc.h:315
uint8_t * mmc_read_cdtext(const CdIo_t *p_cdio)
cdio_mmc_feature_t debug_cdio_mmc_feature
bool_3way_t mmc_have_interface(CdIo_t *p_cdio, cdio_mmc_feature_interface_t e_interface)
cdio_mmc_readtoc_t debug_cdio_mmc_readtoc