libcdio-paranoia  10.2+0.94+2git
Data Fields
cdrom_drive_s Struct Reference

Structure for cdparanoia's CD-ROM access. More...

#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 last_milliseconds
 
int i_test_flags
 

Detailed Description

Structure for cdparanoia's CD-ROM access.

Field Documentation

lsn_t cdrom_drive_s::audio_first_sector
lsn_t cdrom_drive_s::audio_last_sector

Referenced by cdda_track_lastsector(), and FixupTOC().

bool cdrom_drive_s::b_swap_bytes

Swap bytes if Endian-ness of drive mismatches the endian-ness of the computer?

Referenced by cdio_cddap_identify_cdio(), and cdio_cddap_read_timed().

int cdrom_drive_s::bigendianp

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.

Referenced by cddap_init_drive(), cdio_cddap_identify_cdio(), cdio_cddap_open(), cdio_cddap_read_timed(), data_bigendianp(), and main().

int cdrom_drive_s::cd_extra

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

Referenced by cdda_track_lastsector().

char* cdrom_drive_s::cdda_device_name
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.

Referenced by cdda_track_firstsector(), cdda_track_lastsector(), cdio_cddap_open(), FixupTOC(), and main().

char* cdrom_drive_s::drive_model
int cdrom_drive_s::drive_type
int(* cdrom_drive_s::enable_cdda) (cdrom_drive_t *d, int onoff)
int cdrom_drive_s::error_retry

Referenced by analyze_cache(), and cddap_init_drive().

char* cdrom_drive_s::errorbuf
int cdrom_drive_s::errordest

Referenced by cderror(), and cdio_cddap_verbose_set().

int cdrom_drive_s::i_test_flags

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.

Referenced by main().

int cdrom_drive_s::is_atapi

Referenced by cddap_init_drive().

int cdrom_drive_s::is_mmc
int cdrom_drive_s::last_milliseconds

Referenced by cdio_cddap_read_timed().

char* cdrom_drive_s::messagebuf
int cdrom_drive_s::messagedest
int cdrom_drive_s::nsectors

Number of sectors use in reading. Multiply by CDIO_CD_FRAMESIZE_RAW to get number of bytes used in the read buffer.

Referenced by cddap_init_drive(), cdio_cddap_identify_cdio(), main(), and paranoia_seek().

int cdrom_drive_s::opened
CdIo_t* cdrom_drive_s::p_cdio
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)

Referenced by cddap_init_drive().

int cdrom_drive_s::report_all
int(* cdrom_drive_s::set_speed) (cdrom_drive_t *d, int speed)
track_t cdrom_drive_s::tracks

The documentation for this struct was generated from the following file: