#include <cdda.h>
Data Fields | |
CdIo_t * | p_cdio |
int | opened |
char * | cdda_device_name |
char * | drive_model |
int | drive_type |
int | bigendianp |
int | nsectors |
int | cd_extra |
bool | b_swap_bytes |
track_t | tracks |
TOC_t | disc_toc [MAXTRK] |
lsn_t | audio_first_sector |
lsn_t | audio_last_sector |
int | errordest |
int | messagedest |
char * | errorbuf |
char * | messagebuf |
int(* | enable_cdda )(cdrom_drive_t *d, int onoff) |
int(* | read_toc )(cdrom_drive_t *d) |
long(* | read_audio )(cdrom_drive_t *d, void *p, lsn_t begin, long sectors) |
int(* | set_speed )(cdrom_drive_t *d, int speed) |
int | error_retry |
int | report_all |
int | is_atapi |
int | is_mmc |
int | i_test_flags |
Swap bytes if Endian-ness of drive mismatches the endian-ness of the computer?
Whether data returned on the CDDA is bigendian or not. 1 if big endian, 0 if little endian and -1 if we don't know.
-1 if we can't get multisession info, 0 if there is one session only or the multi-session LBA is less than or 100 (don't ask me why -- I don't know), and 1 if the multi-session lba is greater than 100.
TOC_t cdrom_drive_s::disc_toc[MAXTRK] |
info here starts origin 0 rather than the first track number (usually 1). So to take a track number and use it here, subtract off cdio_get_first_track_num() beforehand.
int(* cdrom_drive_s::enable_cdda)(cdrom_drive_t *d, int onoff) |
char* cdrom_drive_s::errorbuf |
Normally set 0. But if we are testing paranoia operation this can be set to one of the flag masks to simulate a particular kind of failure.
Number of sectors use in reading. Multiply by CDIO_CD_FRAMESIZE_RAW to get number of bytes used in the read buffer.
This struct may just represent a candidate for opening
long(* cdrom_drive_s::read_audio)(cdrom_drive_t *d, void *p, lsn_t begin, long sectors) |
int(* cdrom_drive_s::read_toc)(cdrom_drive_t *d) |
int(* cdrom_drive_s::set_speed)(cdrom_drive_t *d, int speed) |