NEWS: all that's gone on so far in 0.73cvs

README: Note paranoia and samba vfs module
*.{h,c}: more debugger symbols. Use _s convention more.
This commit is contained in:
rocky
2005-02-22 10:42:50 +00:00
parent 7bbdbd4f7c
commit a37cfc0ba4
7 changed files with 58 additions and 20 deletions

14
NEWS
View File

@@ -1,3 +1,15 @@
0.73cvs
- Rock Ridge Extension support added
- file time/size attributes fixes
- cd-info/iso-info show more ls-like attributes and more often
- ISO 9660 more accurate more often
- Add ability to look for ISO 9660 filesystem in unknown Disc image formats
- Add routine for getting ISO9660 long date
- remove memory leaks
- Add enumerations and symbols to facilitate debugging
- Break out C++ example programs into a separate directory. More C++ programs.
0.72 0.72
- cdparanoia included - with regression tests and sample library programs - cdparanoia included - with regression tests and sample library programs
@@ -171,4 +183,4 @@
0.1 0.1
Routines split off from VCDImager. Routines split off from VCDImager.
$Id: NEWS,v 1.63 2005/01/24 00:06:31 rocky Exp $ $Id: NEWS,v 1.64 2005/02/22 10:42:50 rocky Exp $

15
README
View File

@@ -2,7 +2,9 @@ The libcdio package contains a library which encapsulates CD-ROM
reading and control. Applications wishing to be oblivious of the OS- reading and control. Applications wishing to be oblivious of the OS-
and device-dependent properties of a CD-ROM can use this library. and device-dependent properties of a CD-ROM can use this library.
Also included is a library for working with ISO-9660 filesystems. Also included is a library for working with ISO-9660 filesystems as is
also the CD-DA error/jitter correction library from cdparanoia
(http://www.xiph.org/paranoia).
Some support for disk image types like CDRWin's BIN/CUE format, Some support for disk image types like CDRWin's BIN/CUE format,
cdrdao's TOC format, and Nero's NRG format are available. Therefore, cdrdao's TOC format, and Nero's NRG format are available. Therefore,
@@ -14,7 +16,9 @@ VCDImager (http://vcdimager.org), a navigation-capable Video CD plugin
and CD-DA plugins for the media players xine (http://xinehq.de), and CD-DA plugins for the media players xine (http://xinehq.de),
videolan's vlc (http://videolan.org), and kiso, a KDE GUI for videolan's vlc (http://videolan.org), and kiso, a KDE GUI for
creating, extracting and editing of ISO-Images creating, extracting and editing of ISO-Images
(http://kiso.sourceforge.net). (http://kiso.sourceforge.net), and a Samba vfs module that allows you
to export a CD without mounting it
(http://ontologistics.net/OpenSource/Samba/index.php).
Also included in the libcdio package is a utility program cd-info which Also included in the libcdio package is a utility program cd-info which
displays CD information: number of tracks, CD-format and if possible displays CD information: number of tracks, CD-format and if possible
@@ -26,8 +30,9 @@ shows basic VCD information.
Other utility programs in the libcdio package are cd-read, for Other utility programs in the libcdio package are cd-read, for
performing low-level block reading of a CD or CD image, iso-info for performing low-level block reading of a CD or CD image, iso-info for
displaying ISO-9660 information from an ISO-9660 image, and iso-read displaying ISO-9660 information from an ISO-9660 image, iso-read for
for extracting files from an ISO-9660 image. extracting files from an ISO-9660 image, and a version of the CD-DA
extraction tool cdparanoia which corrects for CD-ROM jitter.
At present, there is no support for directing CD Audio control, At present, there is no support for directing CD Audio control,
e.g. playing, stopping, or pausing of a CD-CA where the blocks are not e.g. playing, stopping, or pausing of a CD-CA where the blocks are not
@@ -41,4 +46,4 @@ libcdio. However at present there are already many gaps in this
library so narrowing its scope in order to focus on these things I library so narrowing its scope in order to focus on these things I
think is a good idea. think is a good idea.
$Id: README,v 1.6 2004/06/26 10:01:09 rocky Exp $ $Id: README,v 1.7 2005/02/22 10:42:50 rocky Exp $

View File

@@ -1,5 +1,5 @@
/* /*
$Id: iso9660.h,v 1.73 2005/02/22 04:32:52 rocky Exp $ $Id: iso9660.h,v 1.74 2005/02/22 10:42:50 rocky Exp $
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org> Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com> Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
@@ -77,7 +77,7 @@ typedef char dchar_t; /*! See section 7.4.1 */
to be helpful in debuggers where wants just to refer to the to be helpful in debuggers where wants just to refer to the
ISO_*_ names and get something. ISO_*_ names and get something.
*/ */
extern enum iso_enums1 { extern enum iso_enum1_s {
ISO_PVD_SECTOR = 16, /**< Sector of Primary Volume Descriptor */ ISO_PVD_SECTOR = 16, /**< Sector of Primary Volume Descriptor */
ISO_EVD_SECTOR = 17, /**< Sector of End Volume Descriptor */ ISO_EVD_SECTOR = 17, /**< Sector of End Volume Descriptor */
LEN_ISONAME = 31, /**< size in bytes of the filename LEN_ISONAME = 31, /**< size in bytes of the filename
@@ -98,7 +98,7 @@ extern enum iso_enums1 {
to be helpful in debuggers where wants just to refer to the to be helpful in debuggers where wants just to refer to the
ISO_*_ names and get something. ISO_*_ names and get something.
*/ */
extern enum iso_flag_enums { extern enum iso_flag_enum_s {
ISO_FILE = 0, /**< Not really a flag... */ ISO_FILE = 0, /**< Not really a flag... */
ISO_EXISTENCE = 1, /**< Do not make existence known (hidden) */ ISO_EXISTENCE = 1, /**< Do not make existence known (hidden) */
ISO_DIRECTORY = 2, /**< This file is a directory */ ISO_DIRECTORY = 2, /**< This file is a directory */
@@ -110,7 +110,7 @@ extern enum iso_flag_enums {
ISO_MULTIEXTENT = 128, /**< Not final entry of a mult. ext. file */ ISO_MULTIEXTENT = 128, /**< Not final entry of a mult. ext. file */
} iso_flag_enums; } iso_flag_enums;
extern enum iso_vd_enums { extern enum iso_vd_enum_s {
ISO_VD_BOOT_RECORD = 0, /**< CD is bootable */ ISO_VD_BOOT_RECORD = 0, /**< CD is bootable */
ISO_VD_PRIMARY = 1, /**< Is in any ISO-9660 */ ISO_VD_PRIMARY = 1, /**< Is in any ISO-9660 */
ISO_VD_SUPPLEMENARY = 2, /**< Used by Joliet, for example */ ISO_VD_SUPPLEMENARY = 2, /**< Used by Joliet, for example */
@@ -554,7 +554,7 @@ typedef uint8_t iso_extension_mask_t;
to be helpful in debuggers where wants just to refer to the to be helpful in debuggers where wants just to refer to the
ISO_EXTENSION_*_ names and get something. ISO_EXTENSION_*_ names and get something.
*/ */
extern enum iso_extension_enums { extern enum iso_extension_enum_s {
ISO_EXTENSION_JOLIET_LEVEL1 = 0x01, ISO_EXTENSION_JOLIET_LEVEL1 = 0x01,
ISO_EXTENSION_JOLIET_LEVEL2 = 0x02, ISO_EXTENSION_JOLIET_LEVEL2 = 0x02,
ISO_EXTENSION_JOLIET_LEVEL3 = 0x04, ISO_EXTENSION_JOLIET_LEVEL3 = 0x04,

View File

@@ -1,5 +1,5 @@
/* /*
$Id: rock.h,v 1.7 2005/02/22 04:32:52 rocky Exp $ $Id: rock.h,v 1.8 2005/02/22 10:42:50 rocky Exp $
Copyright (C) 2005 Rocky Bernstein <rocky@panix.com> Copyright (C) 2005 Rocky Bernstein <rocky@panix.com>
@@ -38,7 +38,7 @@
be helpful in debuggers where wants just to refer to the ISO_ROCK_* be helpful in debuggers where wants just to refer to the ISO_ROCK_*
names and get something. names and get something.
*/ */
extern enum cdio_rock_enums { extern enum iso_rock_enums {
ISO_ROCK_IRUSR = 000400, /**< read permission (owner) */ ISO_ROCK_IRUSR = 000400, /**< read permission (owner) */
ISO_ROCK_IWUSR = 000200, /**< write permission (owner) */ ISO_ROCK_IWUSR = 000200, /**< write permission (owner) */
ISO_ROCK_IXUSR = 000100, /**< execute permission (owner) */ ISO_ROCK_IXUSR = 000100, /**< execute permission (owner) */
@@ -60,7 +60,7 @@ extern enum cdio_rock_enums {
ISO_ROCK_ISCHR = 020000, /**< character special */ ISO_ROCK_ISCHR = 020000, /**< character special */
ISO_ROCK_ISDIR = 040000, /**< directory */ ISO_ROCK_ISDIR = 040000, /**< directory */
ISO_ROCK_ISFIFO = 010000 /**< pipe or FIFO */ ISO_ROCK_ISFIFO = 010000 /**< pipe or FIFO */
} cdio_rock_enums; } iso_rock_enums;
#define ISO_ROCK_IRUSR 000400 /** read permission (owner) */ #define ISO_ROCK_IRUSR 000400 /** read permission (owner) */
#define ISO_ROCK_IWUSR 000200 /** write permission (owner) */ #define ISO_ROCK_IWUSR 000200 /** write permission (owner) */
@@ -350,6 +350,14 @@ int parse_rock_ridge_stat(iso9660_dir_t *de, /*out*/ iso9660_stat_t *p_stat);
*/ */
const char *iso9660_get_rock_attr_str(posix_mode_t st_mode); const char *iso9660_get_rock_attr_str(posix_mode_t st_mode);
/** These variables are not used, but are defined to facilatate debugging
by letting us use enumerations values (which also correspond to
#define's inside a debugged program.
*/
extern iso_rock_nm_flag_t iso_rock_nm_flag;
extern iso_rock_sl_flag_t iso_rock_sl_flag;
extern iso_rock_tf_flag_t iso_rock_tf_flag;
#endif /* __ISO_ROCK_H__ */ #endif /* __ISO_ROCK_H__ */
/* /*

View File

@@ -1,5 +1,5 @@
/* /*
$Id: iso9660.c,v 1.8 2005/02/22 09:55:47 rocky Exp $ $Id: iso9660.c,v 1.9 2005/02/22 10:42:50 rocky Exp $
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org> Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com> Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
@@ -48,12 +48,13 @@ const char ISO_STANDARD_ID[] = {'C', 'D', '0', '0', '1'};
#include <errno.h> #include <errno.h>
#endif #endif
static const char _rcsid[] = "$Id: iso9660.c,v 1.8 2005/02/22 09:55:47 rocky Exp $"; static const char _rcsid[] = "$Id: iso9660.c,v 1.9 2005/02/22 10:42:50 rocky Exp $";
/* Variables to hold debugger-helping enumerations */ /* Variables to hold debugger-helping enumerations */
enum iso_enums1 iso_enums1; enum iso_enum1_s iso_enums1;
enum iso_flag_enums iso_flag_enums; enum iso_flag_enum_s iso_flag_enums;
enum iso_vd_enums iso_vd_enums; enum iso_vd_enum_s iso_vd_enums;
enum iso_extension_enum_s iso_extension_enums;
/* some parameters... */ /* some parameters... */
#define SYSTEM_ID "CD-RTOS CD-BRIDGE" #define SYSTEM_ID "CD-RTOS CD-BRIDGE"

View File

@@ -1,3 +1,11 @@
iso_enums1
iso_extension_enums
iso_flag_enums
iso_vd_enums
iso_rock_enums
iso_rock_nm_flag
iso_rock_sl_flag
iso_rock_tf_flag
iso9660_close iso9660_close
iso9660_dir_add_entry_su iso9660_dir_add_entry_su
iso9660_dir_calc_record_size iso9660_dir_calc_record_size

View File

@@ -1,5 +1,5 @@
/* /*
$Id: rock.c,v 1.10 2005/02/22 02:02:46 rocky Exp $ $Id: rock.c,v 1.11 2005/02/22 10:42:50 rocky Exp $
Copyright (C) 2005 Rocky Bernstein <rocky@panix.com> Copyright (C) 2005 Rocky Bernstein <rocky@panix.com>
Adapted from GNU/Linux fs/isofs/rock.c (C) 1992, 1993 Eric Youngdale Adapted from GNU/Linux fs/isofs/rock.c (C) 1992, 1993 Eric Youngdale
@@ -41,6 +41,10 @@
#include <cdio/logging.h> #include <cdio/logging.h>
#include <cdio/bytesex.h> #include <cdio/bytesex.h>
enum iso_rock_enums iso_rock_enums;
iso_rock_nm_flag_t iso_rock_nm_flag;
iso_rock_sl_flag_t iso_rock_sl_flag;
iso_rock_tf_flag_t iso_rock_tf_flag;
/* Our own realloc routine tailored for the iso9660_stat_t symlink /* Our own realloc routine tailored for the iso9660_stat_t symlink
field. I can't figure out how to make realloc() work without field. I can't figure out how to make realloc() work without