From 8bf123a750b15adff97b11a1e86cca36324f206a Mon Sep 17 00:00:00 2001 From: rocky Date: Sat, 14 Jan 2006 09:45:44 +0000 Subject: [PATCH] More enumerations. *.c: add "debugger" enumeration variables. --- lib/driver/device.c | 15 ++++++++++++-- lib/driver/image/nrg.c | 9 ++++---- lib/driver/image/nrg.h | 47 +++++++++++++++++++++++++++--------------- 3 files changed, 48 insertions(+), 23 deletions(-) diff --git a/lib/driver/device.c b/lib/driver/device.c index 4d2f9ceb..ec88625a 100644 --- a/lib/driver/device.c +++ b/lib/driver/device.c @@ -1,7 +1,7 @@ /* - $Id: device.c,v 1.28 2005/11/07 07:44:00 rocky Exp $ + $Id: device.c,v 1.29 2006/01/14 09:45:44 rocky Exp $ - Copyright (C) 2005 Rocky Bernstein + Copyright (C) 2005, 2006 Rocky Bernstein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -76,6 +76,17 @@ const driver_id_t cdio_os_driver = DRIVER_WIN32; const driver_id_t cdio_os_driver = DRIVER_UNKNOWN; #endif +/** The below variables are trickery to force enum symbol values to be + recorded in debug symbol tables. They are used to allow one to refer + to the enumeration value names in the typedefs above in a debugger + and debugger expressions. +*/ +cdio_drive_cap_misc_t debug_cdio_drive_cap_misc; +cdio_drive_cap_read_t debug_cdio_drive_cap_read_t; +cdio_drive_cap_write_t debug_drive_cap_write_t; +cdio_mmc_hw_len_t debug_cdio_mmc_hw_len; +cdio_src_category_mask_t debug_cdio_src_category_mask; + static bool cdio_have_false(void) { diff --git a/lib/driver/image/nrg.c b/lib/driver/image/nrg.c index 8ca9439c..05ef86c5 100644 --- a/lib/driver/image/nrg.c +++ b/lib/driver/image/nrg.c @@ -1,7 +1,7 @@ /* - $Id: nrg.c,v 1.18 2005/07/07 06:51:58 rocky Exp $ + $Id: nrg.c,v 1.19 2006/01/14 09:45:44 rocky Exp $ - Copyright (C) 2003, 2004, 2005 Rocky Bernstein + Copyright (C) 2003, 2004, 2005, 2006 Rocky Bernstein Copyright (C) 2001, 2003 Herbert Valerio Riedel This program is free software; you can redistribute it and/or modify @@ -46,11 +46,12 @@ #include "_cdio_stdio.h" #include "nrg.h" -static const char _rcsid[] = "$Id: nrg.c,v 1.18 2005/07/07 06:51:58 rocky Exp $"; +static const char _rcsid[] = "$Id: nrg.c,v 1.19 2006/01/14 09:45:44 rocky Exp $"; +nero_id_t nero_id; +nero_dtype_t nero_dtype; /* reader */ - #define DEFAULT_CDIO_DEVICE "image.nrg" /* diff --git a/lib/driver/image/nrg.h b/lib/driver/image/nrg.h index 0c5b4f28..ea22134f 100644 --- a/lib/driver/image/nrg.h +++ b/lib/driver/image/nrg.h @@ -1,7 +1,7 @@ /* - $Id: nrg.h,v 1.2 2006/01/14 08:58:25 rocky Exp $ + $Id: nrg.h,v 1.3 2006/01/14 09:45:44 rocky Exp $ - Copyright (C) 2004 Rocky Bernstein + Copyright (C) 2004, 2006 Rocky Bernstein Copyright (C) 2001, 2003 Herbert Valerio Riedel This program is free software; you can redistribute it and/or modify @@ -92,24 +92,37 @@ typedef struct { PRAGMA_END_PACKED /* Nero images are Big Endian. */ -#define CDTX_ID 0x43445458 /* CD TEXT */ -#define CUEX_ID 0x43554558 /* Nero version 5.5.x-6.x */ -#define CUES_ID 0x43554553 /* Nero pre version 5.5.x-6.x */ -#define DAOX_ID 0x44414f58 /* Nero version 5.5.x-6.x */ -#define DAOI_ID 0x44414f49 -#define END1_ID 0x454e4421 -#define ETN2_ID 0x45544e32 -#define ETNF_ID 0x45544e46 -#define NER5_ID 0x4e455235 /* Nero version 5.5.x */ -#define NERO_ID 0x4e45524f /* Nero pre 5.5.x */ -#define SINF_ID 0x53494e46 /* Session information */ -#define MTYP_ID 0x4d545950 /* Disc Media type? */ +typedef enum { + CDTX_ID = 0x43445458, /* CD TEXT */ + CUEX_ID = 0x43554558, /* Nero version 5.5.x-6.x */ + CUES_ID = 0x43554553, /* Nero pre version 5.5.x-6.x */ + DAOX_ID = 0x44414f58, /* Nero version 5.5.x-6.x */ + DAOI_ID = 0x44414f49, + END1_ID = 0x454e4421, + ETN2_ID = 0x45544e32, + ETNF_ID = 0x45544e46, + NER5_ID = 0x4e455235, /* Nero version 5.5.x */ + NERO_ID = 0x4e45524f, /* Nero pre 5.5.x */ + SINF_ID = 0x53494e46, /* Session information */ + MTYP_ID = 0x4d545950, /* Disc Media type? */ +} nero_id_t; #define MTYP_AUDIO_CD 1 /* This isn't correct. But I don't know the the right thing is and it sometimes works (and sometimes is wrong). */ /* Disk track type Values gleaned from DAOX */ -#define DTYP_MODE1 0 -#define DTYP_MODE2_XA 2 -#define DTYP_INVALID 255 +typedef enum { + DTYP_MODE1 = 0, + DTYP_MODE2_XA = 2, + DTYP_INVALID = 255 +} nero_dtype_t; + +/** The below variables are trickery to force the above enum symbol + values to be recorded in debug symbol tables. They are used to + allow one to refer to the enumeration value names in the typedefs + above in a debugger and debugger expressions. +*/ +extern nero_id_t nero_id; +extern nero_dtype_t nero_dtype; +