diff --git a/lib/_cdio_bincue.c b/lib/_cdio_bincue.c index 58b0f677..14e3df70 100644 --- a/lib/_cdio_bincue.c +++ b/lib/_cdio_bincue.c @@ -1,5 +1,5 @@ /* - $Id: _cdio_bincue.c,v 1.6 2003/04/06 06:44:25 rocky Exp $ + $Id: _cdio_bincue.c,v 1.7 2003/04/06 17:57:20 rocky Exp $ Copyright (C) 2001 Herbert Valerio Riedel Copyright (C) 2002,2003 Rocky Bernstein @@ -28,7 +28,7 @@ # include "config.h" #endif -static const char _rcsid[] = "$Id: _cdio_bincue.c,v 1.6 2003/04/06 06:44:25 rocky Exp $"; +static const char _rcsid[] = "$Id: _cdio_bincue.c,v 1.7 2003/04/06 17:57:20 rocky Exp $"; #include #include @@ -129,7 +129,7 @@ _cdio_init (_img_private_t *_obj) */ track_info_t *this_track=&(_obj->tocent[0]); int blocksize = _obj->sector_2336 - ? M2RAW_SECTOR_SIZE : CD_FRAMESIZE_RAW; + ? M2RAW_SECTOR_SIZE : CDIO_CD_FRAMESIZE_RAW; _obj->total_tracks = 2; _obj->first_track_num = 1; @@ -211,7 +211,7 @@ static ssize_t _cdio_read (void *user_data, void *data, size_t size) { _img_private_t *_obj = user_data; - char buf[CD_FRAMESIZE_RAW] = { 0, }; + char buf[CDIO_CD_FRAMESIZE_RAW] = { 0, }; char *p = data; ssize_t final_size=0; ssize_t this_size; @@ -264,7 +264,7 @@ _cdio_stat_size (void *user_data) _img_private_t *_obj = user_data; long size; int blocksize = _obj->sector_2336 - ? M2RAW_SECTOR_SIZE : CD_FRAMESIZE_RAW; + ? M2RAW_SECTOR_SIZE : CDIO_CD_FRAMESIZE_RAW; _cdio_init (_obj); @@ -272,11 +272,11 @@ _cdio_stat_size (void *user_data) if (size % blocksize) { - cdio_warn ("image file not multiple of blocksize (%d)", - blocksize); + cdio_warn ("image %s size (%ld) not multiple of blocksize (%d)", + _obj->gen.source_name, size, blocksize); if (size % M2RAW_SECTOR_SIZE == 0) cdio_warn ("this may be a 2336-type disc image"); - else if (size % CD_FRAMESIZE_RAW == 0) + else if (size % CDIO_CD_FRAMESIZE_RAW == 0) cdio_warn ("this may be a 2352-type disc image"); /* exit (EXIT_FAILURE); */ } @@ -365,9 +365,10 @@ _cdio_image_read_cue (_img_private_t *_obj) default: cdio_warn ("Unknown MODE1 size %d. Assuming 2352", blocksize); case 2352: - this_track->datastart = CD_SYNC_SIZE + CD_HEAD_SIZE; - this_track->datasize = CD_FRAMESIZE; - this_track->endsize = CD_EDC_SIZE + CD_ZERO_SIZE + CD_ECC_SIZE; + this_track->datastart = CDIO_CD_SYNC_SIZE + CDIO_CD_HEADER_SIZE; + this_track->datasize = CDIO_CD_FRAMESIZE; + this_track->endsize = CDIO_CD_EDC_SIZE + CDIO_CD_M1F1_ZERO_SIZE + + CDIO_CD_ECC_SIZE; } this_track->track_num = track_num; @@ -380,8 +381,8 @@ _cdio_image_read_cue (_img_private_t *_obj) } else if (1==sscanf(p, "TRACK %d AUDIO", &track_num)) { track_info_t *this_track=&(_obj->tocent[_obj->total_tracks]); - this_track->blocksize = CD_FRAMESIZE_RAW; - this_track->datasize = CD_FRAMESIZE_RAW; + this_track->blocksize = CDIO_CD_FRAMESIZE_RAW; + this_track->datasize = CDIO_CD_FRAMESIZE_RAW; this_track->datastart = 0; this_track->endsize = 0; this_track->track_num = track_num; @@ -467,9 +468,9 @@ _read_mode2_sector (void *user_data, void *data, uint32_t lsn, bool mode2_form2) { _img_private_t *_obj = user_data; - char buf[CD_FRAMESIZE_RAW] = { 0, }; + char buf[CDIO_CD_FRAMESIZE_RAW] = { 0, }; int blocksize = _obj->sector_2336 - ? M2RAW_SECTOR_SIZE : CD_FRAMESIZE_RAW; + ? M2RAW_SECTOR_SIZE : CDIO_CD_FRAMESIZE_RAW; _cdio_init (_obj); @@ -480,9 +481,9 @@ _read_mode2_sector (void *user_data, void *data, uint32_t lsn, blocksize, 1); if (mode2_form2) - memcpy (data, buf + 12 + 4, M2RAW_SECTOR_SIZE); + memcpy (data, buf + CDIO_CD_XA_HEADER, M2RAW_SECTOR_SIZE); else - memcpy (data, buf + 12 + 4 + 8, FORM1_DATA_SIZE); + memcpy (data, buf + CDIO_CD_XA_SYNC_HEADER, CDIO_CD_FRAMESIZE); return 0; } @@ -511,8 +512,8 @@ _read_mode2_sectors (void *user_data, void *data, uint32_t lsn, if ( (retval = _read_mode2_sector (_obj, buf, lsn + i, true)) ) return retval; - memcpy (((char *)data) + (M2F1_SECTOR_SIZE * i), buf + 8, - FORM1_DATA_SIZE); + memcpy (((char *)data) + (CDIO_CD_FRAMESIZE * i), + buf + CDIO_CD_SUBHEADER_SIZE, CDIO_CD_FRAMESIZE); } } return 0; @@ -664,7 +665,7 @@ _cdio_get_track_lba(void *user_data, track_t track_num) _img_private_t *_obj = user_data; _cdio_init (_obj); - if (track_num == CDROM_LEADOUT) track_num = _obj->total_tracks+1; + if (track_num == CDIO_CDROM_LEADOUT_TRACK) track_num = _obj->total_tracks+1; if (track_num <= _obj->total_tracks+1 && track_num != 0) { return _obj->tocent[track_num-1].start_lba; @@ -687,7 +688,7 @@ _cdio_get_track_msf(void *user_data, track_t track_num, msf_t *msf) if (NULL == msf) return false; - if (track_num == CDROM_LEADOUT) track_num = _obj->total_tracks+1; + if (track_num == CDIO_CDROM_LEADOUT_TRACK) track_num = _obj->total_tracks+1; if (track_num <= _obj->total_tracks+1 && track_num != 0) { *msf = _obj->tocent[track_num-1].start_msf; diff --git a/lib/_cdio_bsdi.c b/lib/_cdio_bsdi.c index a2d821a4..2a08d40b 100644 --- a/lib/_cdio_bsdi.c +++ b/lib/_cdio_bsdi.c @@ -1,5 +1,5 @@ /* - $Id: _cdio_bsdi.c,v 1.5 2003/03/30 13:01:22 rocky Exp $ + $Id: _cdio_bsdi.c,v 1.6 2003/04/06 17:57:20 rocky Exp $ Copyright (C) 2001 Herbert Valerio Riedel Copyright (C) 2002,2003 Rocky Bernstein @@ -27,7 +27,7 @@ # include "config.h" #endif -static const char _rcsid[] = "$Id: _cdio_bsdi.c,v 1.5 2003/03/30 13:01:22 rocky Exp $"; +static const char _rcsid[] = "$Id: _cdio_bsdi.c,v 1.6 2003/04/06 17:57:20 rocky Exp $"; #include "cdio_assert.h" #include "cdio_private.h" @@ -202,7 +202,7 @@ _cdio_stat_size (void *user_data) struct cdrom_tocentry tocent; uint32_t size; - tocent.cdte_track = CDROM_LEADOUT; + tocent.cdte_track = CDIO_CDROM_LEADOUT_TRACK; tocent.cdte_format = CDROM_LBA; if (ioctl (_obj->gen.fd, CDROMREADTOCENTRY, &tocent) == -1) { @@ -281,7 +281,7 @@ _cdio_read_toc (_img_private_t *_obj) } /* read the lead-out track */ - _obj->tocent[TOTAL_TRACKS].cdte_track = CDROM_LEADOUT; + _obj->tocent[TOTAL_TRACKS].cdte_track = CDIO_CDROM_LEADOUT_TRACK; _obj->tocent[TOTAL_TRACKS].cdte_format = CDROM_MSF; if (ioctl(_obj->gen.fd, CDROMREADTOCENTRY, diff --git a/lib/_cdio_bsdi_old.c b/lib/_cdio_bsdi_old.c index 83439f1e..71688c8a 100644 --- a/lib/_cdio_bsdi_old.c +++ b/lib/_cdio_bsdi_old.c @@ -1,5 +1,5 @@ /* - $Id: _cdio_bsdi_old.c,v 1.1 2003/03/29 17:32:00 rocky Exp $ + $Id: _cdio_bsdi_old.c,v 1.2 2003/04/06 17:57:20 rocky Exp $ Copyright (C) 2001 Herbert Valerio Riedel Copyright (C) 2003 Rocky Bernstein @@ -33,7 +33,7 @@ #include #include -static const char _rcsid[] = "$Id: _cdio_bsdi_old.c,v 1.1 2003/03/29 17:32:00 rocky Exp $"; +static const char _rcsid[] = "$Id: _cdio_bsdi_old.c,v 1.2 2003/04/06 17:57:20 rocky Exp $"; #if HAVE_BSDI_CDROM @@ -297,7 +297,7 @@ _cdio_stat_size (void *user_data) suc.suc_cdb[0] = 0x43; /* CMD_READ_TOC_PMA_ATIP */ suc.suc_cdb[1] = 0; /* lba; msf: 0x2 */ - suc.suc_cdb[6] = 0xaa; /* CDROM_LEADOUT */ + suc.suc_cdb[6] = CDIO_CDROM_LEADOUT_TRACK; suc.suc_cdb[8] = 12; /* ? */ suc.suc_cdblen = 10; diff --git a/lib/_cdio_linux.c b/lib/_cdio_linux.c index 2b7f06d9..19c3986b 100644 --- a/lib/_cdio_linux.c +++ b/lib/_cdio_linux.c @@ -1,5 +1,5 @@ /* - $Id: _cdio_linux.c,v 1.5 2003/04/06 06:45:13 rocky Exp $ + $Id: _cdio_linux.c,v 1.6 2003/04/06 17:57:20 rocky Exp $ Copyright (C) 2001 Herbert Valerio Riedel Copyright (C) 2002,2003 Rocky Bernstein @@ -27,7 +27,7 @@ # include "config.h" #endif -static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.5 2003/04/06 06:45:13 rocky Exp $"; +static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.6 2003/04/06 17:57:20 rocky Exp $"; #include "cdio_assert.h" #include "cdio_private.h" @@ -328,7 +328,7 @@ _cdio_stat_size (void *user_data) struct cdrom_tocentry tocent; uint32_t size; - tocent.cdte_track = CDROM_LEADOUT; + tocent.cdte_track = CDIO_CDROM_LEADOUT_TRACK; tocent.cdte_format = CDROM_LBA; if (ioctl (_obj->gen.fd, CDROMREADTOCENTRY, &tocent) == -1) { @@ -411,7 +411,7 @@ _cdio_read_toc (_img_private_t *_obj) } /* read the lead-out track */ - _obj->tocent[TOTAL_TRACKS].cdte_track = CDROM_LEADOUT; + _obj->tocent[TOTAL_TRACKS].cdte_track = CDIO_CDROM_LEADOUT_TRACK; _obj->tocent[TOTAL_TRACKS].cdte_format = CDROM_MSF; if (ioctl(_obj->gen.fd, CDROMREADTOCENTRY, @@ -574,7 +574,7 @@ _cdio_get_track_green(void *user_data, track_t track_num) if (!_obj->gen.toc_init) _cdio_read_toc (_obj) ; - if (track_num == CDROM_LEADOUT) track_num = TOTAL_TRACKS+1; + if (track_num == CDIO_CDROM_LEADOUT_TRACK) track_num = TOTAL_TRACKS+1; if (track_num > TOTAL_TRACKS+1 || track_num == 0) return false; @@ -601,7 +601,7 @@ _cdio_get_track_msf(void *user_data, track_t track_num, msf_t *msf) if (!_obj->gen.toc_init) _cdio_read_toc (_obj) ; - if (track_num == CDROM_LEADOUT) track_num = TOTAL_TRACKS+1; + if (track_num == CDIO_CDROM_LEADOUT_TRACK) track_num = TOTAL_TRACKS+1; if (track_num > TOTAL_TRACKS+1 || track_num == 0) { return false; diff --git a/lib/_cdio_nrg.c b/lib/_cdio_nrg.c index afb1a534..29a54083 100644 --- a/lib/_cdio_nrg.c +++ b/lib/_cdio_nrg.c @@ -1,5 +1,5 @@ /* - $Id: _cdio_nrg.c,v 1.5 2003/04/06 06:45:13 rocky Exp $ + $Id: _cdio_nrg.c,v 1.6 2003/04/06 17:57:20 rocky Exp $ Copyright (C) 2001,2003 Herbert Valerio Riedel @@ -38,7 +38,7 @@ #include "util.h" #include "_cdio_stdio.h" -static const char _rcsid[] = "$Id: _cdio_nrg.c,v 1.5 2003/04/06 06:45:13 rocky Exp $"; +static const char _rcsid[] = "$Id: _cdio_nrg.c,v 1.6 2003/04/06 17:57:20 rocky Exp $"; /* structures used */ @@ -304,8 +304,8 @@ PRAGMA_END_PACKED lsn2 = UINT32_FROM_BE (_entries[idx + 1].lsn); _register_mapping (_obj, lsn, lsn2 - lsn, - (lsn+CDIO_PREGAP_SECTORS) * CD_FRAMESIZE_RAW, - CD_FRAMESIZE_RAW); + (lsn+CDIO_PREGAP_SECTORS) * CDIO_CD_FRAMESIZE_RAW, + CDIO_CD_FRAMESIZE_RAW); } } break; @@ -523,7 +523,7 @@ _cdio_lseek (void *user_data, off_t offset, int whence) track_info_t *this_track=&(_obj->tocent[i]); switch (this_track->track_format) { case TRACK_FORMAT_AUDIO: - user_datasize=CD_FRAMESIZE_RAW; + user_datasize=CDIO_CD_FRAMESIZE_RAW; break; case TRACK_FORMAT_CDI: user_datasize=FORM1_DATA_SIZE; @@ -532,7 +532,7 @@ _cdio_lseek (void *user_data, off_t offset, int whence) user_datasize=FORM1_DATA_SIZE; break; default: - user_datasize=CD_FRAMESIZE_RAW; + user_datasize=CDIO_CD_FRAMESIZE_RAW; cdio_warn ("track %d has unknown format %d", i+1, this_track->track_format); } @@ -582,7 +582,7 @@ _cdio_stat_size (void *user_data) _read_mode2_sector (void *user_data, void *data, lsn_t lsn, bool form2) { _img_private_t *_obj = user_data; - char buf[CD_FRAMESIZE_RAW] = { 0, }; + char buf[CDIO_CD_FRAMESIZE_RAW] = { 0, }; CdioListNode *node; if (lsn >= _obj->size) @@ -600,7 +600,7 @@ _read_mode2_sector (void *user_data, void *data, lsn_t lsn, bool form2) { long img_offset = _map->img_offset; int blocksize = _obj->sector_2336_flag - ? M2RAW_SECTOR_SIZE : CD_FRAMESIZE_RAW; + ? M2RAW_SECTOR_SIZE : CDIO_CD_FRAMESIZE_RAW; img_offset += (lsn - _map->start_lsn) * blocksize; @@ -772,7 +772,7 @@ _cdio_get_track_msf(void *user_data, track_t track_num, msf_t *msf) if (NULL == msf) return 1; - if (track_num == CDROM_LEADOUT) track_num = _obj->total_tracks+1; + if (track_num == CDIO_CDROM_LEADOUT_TRACK) track_num = _obj->total_tracks+1; if (track_num <= _obj->total_tracks+1 && track_num != 0) { *msf = _obj->tocent[track_num-1].start_msf; diff --git a/lib/_cdio_stream.c b/lib/_cdio_stream.c index a91df5c4..7d62ab92 100644 --- a/lib/_cdio_stream.c +++ b/lib/_cdio_stream.c @@ -1,5 +1,5 @@ /* - $Id: _cdio_stream.c,v 1.2 2003/03/29 17:32:00 rocky Exp $ + $Id: _cdio_stream.c,v 1.3 2003/04/06 17:57:20 rocky Exp $ Copyright (C) 2000 Herbert Valerio Riedel @@ -34,7 +34,7 @@ #include "util.h" #include "_cdio_stream.h" -static const char _rcsid[] = "$Id: _cdio_stream.c,v 1.2 2003/03/29 17:32:00 rocky Exp $"; +static const char _rcsid[] = "$Id: _cdio_stream.c,v 1.3 2003/04/06 17:57:20 rocky Exp $"; /* * DataSource implementations @@ -47,22 +47,22 @@ struct _CdioDataSource { long position; }; -static void +static bool _cdio_stream_open_if_necessary(CdioDataSource *obj) { cdio_assert (obj != NULL); if (!obj->is_open) { - if (obj->op.open(obj->user_data)) + if (obj->op.open(obj->user_data)) { cdio_error ("could not opening input stream..."); - else { -#ifdef STREAM_DEBUG + return false; + } else { cdio_debug ("opened source..."); -#endif obj->is_open = 1; obj->position = 0; } } + return true; } long @@ -70,7 +70,7 @@ cdio_stream_seek(CdioDataSource* obj, long offset, int whence) { cdio_assert (obj != NULL); - _cdio_stream_open_if_necessary(obj); + if (!_cdio_stream_open_if_necessary(obj)) return 0; if (obj->position != offset) { #ifdef STREAM_DEBUG @@ -103,7 +103,7 @@ cdio_stream_read(CdioDataSource* obj, void *ptr, long size, long nmemb) cdio_assert (obj != NULL); - _cdio_stream_open_if_necessary(obj); + if (!_cdio_stream_open_if_necessary(obj)) return 0; read_bytes = obj->op.read(obj->user_data, ptr, size*nmemb); obj->position += read_bytes; @@ -116,7 +116,7 @@ cdio_stream_stat(CdioDataSource* obj) { cdio_assert (obj != NULL); - _cdio_stream_open_if_necessary(obj); + if (!_cdio_stream_open_if_necessary(obj)) return 0; return obj->op.stat(obj->user_data); } @@ -127,9 +127,7 @@ cdio_stream_close(CdioDataSource* obj) cdio_assert (obj != NULL); if (obj->is_open) { -#ifdef STREAM_DEBUG cdio_debug ("closed source..."); -#endif obj->op.close(obj->user_data); obj->is_open = 0; obj->position = 0; diff --git a/lib/_cdio_sunos.c b/lib/_cdio_sunos.c index 0089daf1..166910c6 100644 --- a/lib/_cdio_sunos.c +++ b/lib/_cdio_sunos.c @@ -1,5 +1,5 @@ /* - $Id: _cdio_sunos.c,v 1.6 2003/04/06 06:45:13 rocky Exp $ + $Id: _cdio_sunos.c,v 1.7 2003/04/06 17:57:20 rocky Exp $ Copyright (C) 2001 Herbert Valerio Riedel Copyright (C) 2002,2003 Rocky Bernstein @@ -31,7 +31,7 @@ #ifdef HAVE_SOLARIS_CDROM -static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.6 2003/04/06 06:45:13 rocky Exp $"; +static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.7 2003/04/06 17:57:20 rocky Exp $"; #include #include @@ -268,7 +268,7 @@ _cdio_stat_size (void *user_data) struct cdrom_tocentry tocent; uint32_t size; - tocent.cdte_track = CDROM_LEADOUT; + tocent.cdte_track = CDIO_CDROM_LEADOUT_TRACK; tocent.cdte_format = CDROM_LBA; if (ioctl (_obj->gen.fd, CDROMREADTOCENTRY, &tocent) == -1) { @@ -342,7 +342,7 @@ _cdio_read_toc (_img_private_t *_obj) } /* read the lead-out track */ - _obj->tocent[_obj->tochdr.cdth_trk1].cdte_track = CDROM_LEADOUT; + _obj->tocent[_obj->tochdr.cdth_trk1].cdte_track = CDIO_CDROM_LEADOUT_TRACK; _obj->tocent[_obj->tochdr.cdth_trk1].cdte_format = CDROM_MSF; if (ioctl(_obj->gen.fd, CDROMREADTOCENTRY, @@ -521,7 +521,7 @@ _cdio_get_track_green(void *user_data, track_t track_num) if (!_obj->gen.init) _cdio_init(_obj); if (!_obj->gen.toc_init) _cdio_read_toc (_obj) ; - if (track_num == CDROM_LEADOUT) track_num = TOTAL_TRACKS+1; + if (track_num == CDIO_CDROM_LEADOUT_TRACK) track_num = TOTAL_TRACKS+1; if (track_num > TOTAL_TRACKS+1 || track_num == 0) return false; @@ -549,7 +549,7 @@ _cdio_get_track_msf(void *user_data, track_t track_num, msf_t *msf) if (!_obj->gen.init) _cdio_init(_obj); if (!_obj->gen.toc_init) _cdio_read_toc (_obj) ; - if (track_num == CDROM_LEADOUT) track_num = TOTAL_TRACKS+1; + if (track_num == CDIO_CDROM_LEADOUT_TRACK) track_num = TOTAL_TRACKS+1; if (track_num > TOTAL_TRACKS+1 || track_num == 0) { return false; diff --git a/lib/sector.h b/lib/sector.h index c538d1ed..1d5c4d29 100644 --- a/lib/sector.h +++ b/lib/sector.h @@ -1,5 +1,5 @@ /* - $Id: sector.h,v 1.4 2003/04/06 06:43:32 rocky Exp $ + $Id: sector.h,v 1.5 2003/04/06 17:57:20 rocky Exp $ Copyright (C) 2000 Herbert Valerio Riedel Copyright (C) 2003 Rocky Bernstein @@ -38,7 +38,7 @@ * * format sector type user data size (bytes) * ----------------------------------------------------------------------------- - * 1 (Red Book) CD-DA 2352 (CD-FRAMESIZE_RAW) + * 1 (Red Book) CD-DA 2352 (CDIO_CD_FRAMESIZE_RAW) * 2 (Yellow Book) Mode1 Form1 2048 (M1F1_SECTOR_SIZE) * 3 (Yellow Book) Mode1 Form2 2336 (M2RAW_SECTOR_SIZE) * 4 (Green Book) Mode2 Form1 2048 (M2F1_SECTOR_SIZE) @@ -69,90 +69,42 @@ This is from linux.h - not to slight other OS's. This was the first place I came across such useful stuff. */ -#ifndef CD_MINS -#define CD_MINS 74 /* max. minutes per CD, not really a limit */ -#endif -#ifndef CD_SECS -#define CD_SECS 60 /* seconds per minute */ -#endif -#ifndef CD_FRAMES -#define CD_FRAMES 75 /* frames per second */ -#endif -#ifndef CD_SYNC_SIZE -#define CD_SYNC_SIZE 12 /* 12 sync bytes per raw data frame */ -#endif -#ifndef CD_MSF_OFFSET -#define CD_MSF_OFFSET 150 /* MSF numbering offset of first frame */ -#endif -#ifndef CD_CHUNK_SIZE -#define CD_CHUNK_SIZE 24 /* lowest-level "data bytes piece" */ -#endif -#ifndef CD_NUM_OF_CHUNKS -#define CD_NUM_OF_CHUNKS 98 /* chunks per frame */ -#endif -#ifndef CD_FRAMESIZE_SUB -#define CD_FRAMESIZE_SUB 96 /* subchannel data "frame" size */ -#endif -#ifndef CD_HEAD_SIZE -#define CD_HEAD_SIZE 4 /* header (address) bytes per raw data frame */ -#endif -#ifndef CD_SUBHEAD_SIZE -#define CD_SUBHEAD_SIZE 8 /* subheader bytes per raw XA data frame */ -#endif -#ifndef CD_EDC_SIZE -#define CD_EDC_SIZE 4 /* bytes EDC per most raw data frame types */ -#endif -#ifndef CD_ZERO_SIZE -#define CD_ZERO_SIZE 8 /* bytes zero per yellow book mode 1 frame */ -#endif -#ifndef CD_ECC_SIZE -#define CD_ECC_SIZE 276 /* bytes ECC per most raw data frame types */ -#endif -#ifndef CD_FRAMESIZE -#define CD_FRAMESIZE 2048 /* bytes per frame, "cooked" mode */ -#endif -#ifndef CD_FRAMESIZE_RAW -#define CD_FRAMESIZE_RAW 2352 /* bytes per frame, "raw" mode */ -#endif -#ifndef CD_FRAMESIZE_RAWER -#define CD_FRAMESIZE_RAWER 2646 /* The maximum possible returned bytes */ -#endif -/* most drives don't deliver everything: */ -#ifndef CD_FRAMESIZE_RAW1 -#define CD_FRAMESIZE_RAW1 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE) /*2340*/ -#endif -#ifndef CD_FRAMESIZE_RAW0 -#define CD_FRAMESIZE_RAW0 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE) /*2336*/ -#endif +#define CDIO_CD_MINS 74 /* max. minutes per CD, not really a limit */ +#define CDIO_CD_SECS_PER_MIN 60 /* seconds per minute */ +#define CDIO_CD_FRAMES_PER_SEC 75 /* frames per second */ +#define CDIO_CD_SYNC_SIZE 12 /* 12 sync bytes per raw data frame */ +#define CDIO_CD_CHUNK_SIZE 24 /* lowest-level "data bytes piece" */ +#define CDIO_CD_NUM_OF_CHUNKS 98 /* chunks per frame */ +#define CDIO_CD_FRAMESIZE_SUB 96 /* subchannel data "frame" size */ +#define CDIO_CD_HEADER_SIZE 4 /* header (address) bytes per raw data + frame */ +#define CDIO_CD_SUBHEADER_SIZE 8 /* subheader bytes per raw XA data frame */ +#define CDIO_CD_EDC_SIZE 4 /* bytes EDC per most raw data frame types */ +#define CDIO_CD_M1F1_ZERO_SIZE 8 /* bytes zero per yellow book mode 1 frame */ +#define CDIO_CD_ECC_SIZE 276 /* bytes ECC per most raw data frame types */ +#define CDIO_CD_FRAMESIZE 2048 /* bytes per frame, "cooked" mode */ +#define CDIO_CD_FRAMESIZE_RAW 2352/* bytes per frame, "raw" mode */ +#define CDIO_CD_FRAMESIZE_RAWER 2646 /* The maximum possible returned bytes */ +#define CDIO_CD_FRAMESIZE_RAW1 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE) /*2340*/ +#define CDIO_CD_FRAMESIZE_RAW0 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE) /*2336*/ -#ifndef CD_XA_HEAD -#define CD_XA_HEAD (CD_HEAD_SIZE+CD_SUBHEAD_SIZE) /* "before data" part of raw XA frame */ -#endif -#ifndef CD_XA_TAIL -#define CD_XA_TAIL (CD_EDC_SIZE+CD_ECC_SIZE) /* "after data" part of raw XA frame */ -#endif -#ifndef CD_XA_SYNC_HEAD -#define CD_XA_SYNC_HEAD (CD_SYNC_SIZE+CD_XA_HEAD) /* sync bytes + header of XA frame */ -#endif +/* "before data" part of raw XA (green, mode2) frame */ +#define CDIO_CD_XA_HEADER (CDIO_CD_HEADER_SIZE+CDIO_CD_SUBHEADER_SIZE) -/* CD-ROM address types (cdrom_tocentry.cdte_format) */ -#ifndef CDROM_LBA -#define CDROM_LBA 0x01 /* "logical block": first frame is #0 */ -#endif -#ifndef CDROM_MSF -#define CDROM_MSF 0x02 /* "minute-second-frame": binary, not bcd here! */ -#endif +/* "after data" part of raw XA (green, mode2 form1) frame */ +#define CDIO_CD_XA_TAIL (CDIO_CD_EDC_SIZE+CDIO_CD_ECC_SIZE) -/* bit to tell whether track is data or audio (cdrom_tocentry.cdte_ctrl) */ -#ifndef CDROM_DATA_TRACK -#define CDROM_DATA_TRACK 0x04 -#endif +/* "before data" sync bytes + header of XA (green, mode2) frame */ +#define CDIO_CD_XA_SYNC_HEADER (CDIO_CD_SYNC_SIZE+CDIO_CD_XA_HEADER) + +/* CD-ROM address types (Linux cdrom_tocentry.cdte_format) */ +#define CDIO_CDROM_LBA 0x01 /* "logical block": first frame is #0 */ +#define CDIO_CDROM_MSF 0x02 /* "minute-second-frame": binary, not bcd here! */ + +#define CDIO_CDROM_DATA_TRACK 0x04 /* The leadout track is always 0xAA, regardless of # of tracks on disc */ -#ifndef CDROM_LEADOUT -#define CDROM_LEADOUT 0xAA -#endif - +#define CDIO_CDROM_LEADOUT_TRACK 0xAA #define M1F1_SECTOR_SIZE 2048 #define M2F1_SECTOR_SIZE 2048 @@ -163,10 +115,11 @@ #define CD_MAX_TRACKS 99 -#define CD_FRAMES_PER_SECOND 75 -#define CD_FRAMES_PER_MINUTE (60*(CD_FRAMES_PER_SECOND)) -#define CD_74MIN_SECTORS (UINT32_C(74)*CD_FRAMES_PER_MINUTE) -#define CD_80MIN_SECTORS (UINT32_C(80)*CD_FRAMES_PER_MINUTE) +#define CDIO_CD_FRAMES_PER_MINUTE \ + (CDIO_CD_FRAMES_PER_SEC*CDIO_CD_SECS_PER_MINUTE) + +#define CD_74MIN_SECTORS (UINT32_C(74)*CDIO_CD_FRAMES_PER_MINUTE) +#define CD_80MIN_SECTORS (UINT32_C(80)*CDIO_CD_FRAMES_PER_MINUTE) #define CD_90MIN_SECTORS (UINT32_C(90)*CD_FRAMES_PER_MINUTE) #define CD_MAX_SECTORS (UINT32_C(100)*CD_FRAMES_PER_MINUTE-CDIO_PREGAP_SECTORS) diff --git a/src/cdinfo.c b/src/cdinfo.c index 19c846cf..d1eeeb37 100644 --- a/src/cdinfo.c +++ b/src/cdinfo.c @@ -1,5 +1,5 @@ /* - $Id: cdinfo.c,v 1.5 2003/04/06 06:46:06 rocky Exp $ + $Id: cdinfo.c,v 1.6 2003/04/06 17:57:20 rocky Exp $ Copyright (C) 2003 Rocky Bernstein Copyright (C) 1996,1997,1998 Gerd Knorr @@ -130,7 +130,7 @@ and #define ROCKRIDGE 2048 #define JOLIET 4096 -char buffer[6][CD_FRAMESIZE_RAW]; /* for CD-Data */ +char buffer[6][CDIO_CD_FRAMESIZE_RAW]; /* for CD-Data */ /* Some interesting sector numbers stored in the above buffer. */ #define ISO_SUPERBLOCK_SECTOR 16 /* buffer[0] */ @@ -659,7 +659,7 @@ cddb_discid() } cdio_get_track_msf(img, 1, &start_msf); - cdio_get_track_msf(img, CDROM_LEADOUT, &msf); + cdio_get_track_msf(img, CDIO_CDROM_LEADOUT_TRACK, &msf); t = msf_seconds(&msf) - msf_seconds(&start_msf); @@ -826,14 +826,14 @@ main(int argc, const char *argv[]) } /* Read and possibly print track information. */ - for (i = first_track_num; i <= CDROM_LEADOUT; i++) { + for (i = first_track_num; i <= CDIO_CDROM_LEADOUT_TRACK; i++) { msf_t msf; if (!cdio_get_track_msf(img, i, &msf)) { err_exit("cdio_track_msf for track %i failed, I give up.\n", i); } - if (i == CDROM_LEADOUT) { + if (i == CDIO_CDROM_LEADOUT_TRACK) { if (!opts.no_tracks) printf("%3d: %2.2x:%2.2x:%2.2x %06d leadout\n", (int) i, @@ -859,7 +859,7 @@ main(int argc, const char *argv[]) first_data = i; } /* skip to leadout? */ - if (i == num_tracks) i = CDROM_LEADOUT-1; + if (i == num_tracks) i = CDIO_CDROM_LEADOUT_TRACK-1; } #if CDIO_IOCTL_FINISHED