all: Add iso9660_get_rock_attr_str to get an ls-like mode string for rock

ridge.

{cd,iso}-info.c util.{c,h}: put common printing routine in util.c

rock.h: add enum for NM flags
iso9660.h: move mode_t typedef so it can be used in rock.h
xa.{c,h}: small typos.

test/*: in most cases better output. On VCD's however there there is a
slight regression on displaying the filename someitmes. Will be
addressed later.
This commit is contained in:
rocky
2005-02-20 10:21:01 +00:00
parent 0a048cb05c
commit a8e1fd6038
21 changed files with 470 additions and 296 deletions

View File

@@ -1,5 +1,5 @@
/*
$Id: iso9660.h,v 1.68 2005/02/19 11:47:05 rocky Exp $
$Id: iso9660.h,v 1.69 2005/02/20 10:21:01 rocky Exp $
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
@@ -258,6 +258,11 @@ typedef struct iso9660_ltime_s iso9660_ltime_t;
typedef struct iso9660_dir_s iso9660_dir_t;
typedef struct iso9660_stat_s iso9660_stat_t;
typedef uint32_t posix_mode_t;
typedef uint32_t posix_nlink_t;
typedef uint32_t posix_uid_t;
typedef uint32_t posix_gid_t;
#include <cdio/rock.h>
/*! \brief Format of an ISO-9660 directory record
@@ -511,11 +516,6 @@ typedef struct iso9660_svd_s iso9660_svd_t;
PRAGMA_END_PACKED
typedef uint32_t posix_mode_t;
typedef uint32_t posix_nlink_t;
typedef uint32_t posix_uid_t;
typedef uint32_t posix_gid_t;
/*! \brief Unix stat-like version of iso9660_dir
The iso9660_stat structure is not part of the ISO-9660

View File

@@ -1,5 +1,5 @@
/*
$Id: rock.h,v 1.2 2005/02/13 22:03:00 rocky Exp $
$Id: rock.h,v 1.3 2005/02/20 10:21:01 rocky Exp $
Copyright (C) 2005 Rocky Bernstein <rocky@panix.com>
@@ -147,6 +147,19 @@ typedef struct iso_rock_sl_s {
} GNUC_PACKED iso_rock_sl_t ;
/*! Alternate name. See Section 4.1.4 */
/*! These are the bits and their meanings for flags in the NM structure. */
typedef enum {
ISO_ROCK_NM_CONTINUE = 1,
ISO_ROCK_NM_CURRENT = 2,
ISO_ROCK_NM_PARENT = 4,
} iso_rock_nm_flag_t;
#define ISO_ROCK_NM_CONTINUE 1
#define ISO_ROCK_NM_CURRENT 2
#define ISO_ROCK_NM_PARENT 4
typedef struct iso_rock_nm_s {
unsigned char flags;
char name[EMPTY_ARRAY_SIZE];
@@ -229,6 +242,41 @@ int get_rock_ridge_filename(iso9660_dir_t * de, /*out*/ char * retname,
int parse_rock_ridge_stat(iso9660_dir_t *de, /*out*/ iso9660_stat_t *p_stat);
/*!
Returns a string which interpreting the POSIX mode st_mode.
For example:
\verbatim
drwxrws---
-rw---Sr--
lrwxrwxrwx
\endverbatim
A description of the characters in the string follows
The 1st character is either "d" if the entry is a directory, "l" is
a symbolic link or "-" if neither.
The 2nd to 4th characters refer to permissions for a user while the
the 5th to 7th characters refer to permissions for a group while, and
the 8th to 10h characters refer to permissions for everyone.
In each of these triplets the first character (2, 5, 8) is "r" if
the entry is allowed to be read.
The second character of a triplet (3, 6, 9) is "w" if the entry is
allowed to be written.
The third character of a triplet (4, 7, 10) is "x" if the entry is
executable but not user (for character 4) or group (for characters
6) settable and "s" if the item has the corresponding user/group set.
For a directory having an executable property on ("x" or "s") means
the directory is allowed to be listed or "searched". If the execute
property is not allowed for a group or user but the corresponding
group/user is set "S" indicates this. If none of these properties
holds the "-" indicates this.
*/
const char *iso9660_get_rock_attr_str(posix_mode_t st_mode);
#endif /* __ISO_ROCK_H__ */
/*

View File

@@ -1,5 +1,5 @@
/*
$Id: xa.h,v 1.14 2005/02/13 00:20:05 rocky Exp $
$Id: xa.h,v 1.15 2005/02/20 10:21:01 rocky Exp $
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
@@ -139,7 +139,7 @@ typedef struct iso9660_xa_s
/*!
Returns a string which interpreting the extended attribute xa_attr.
Returns a string interpreting the extended attribute xa_attr.
For example:
\verbatim
d---1xrxrxr
@@ -147,7 +147,7 @@ typedef struct iso9660_xa_s
-a--1xrxrxr
\endverbatim
A description of the characters in the string follows
A description of the characters in the string follows.
The 1st character is either "d" if the entry is a directory, or "-" if not
The 2nd character is either "a" if the entry is CDDA (audio), or "-" if not
The 3rd character is either "i" if the entry is interleaved, or "-" if not

View File

@@ -1,5 +1,5 @@
/*
$Id: iso9660_fs.c,v 1.20 2005/02/20 03:20:42 rocky Exp $
$Id: iso9660_fs.c,v 1.21 2005/02/20 10:21:01 rocky Exp $
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
@@ -52,7 +52,7 @@
#include <stdio.h>
static const char _rcsid[] = "$Id: iso9660_fs.c,v 1.20 2005/02/20 03:20:42 rocky Exp $";
static const char _rcsid[] = "$Id: iso9660_fs.c,v 1.21 2005/02/20 10:21:01 rocky Exp $";
/* Implementation of iso9660_t type */
struct _iso9660_s {
@@ -794,7 +794,7 @@ _iso9660_dir_to_statbuf (iso9660_dir_t *p_iso9660_dir, bool_3way_t b_xa,
uint8_t i_joliet_level)
{
uint8_t dir_len= iso9660_get_dir_len(p_iso9660_dir);
unsigned int i_fname;
iso711_t i_fname;
unsigned int stat_len;
iso9660_stat_t *p_stat;
@@ -813,11 +813,7 @@ _iso9660_dir_to_statbuf (iso9660_dir_t *p_iso9660_dir, bool_3way_t b_xa,
p_stat->secsize = _cdio_len2blocks (p_stat->size, ISO_BLOCKSIZE);
p_stat->b_rock = dunno; /*FIXME should do based on mask */
if ('\0' == p_iso9660_dir->filename[0] && 1 == i_fname)
strcpy (p_stat->filename, ".");
else if ('\1' == p_iso9660_dir->filename[0] && 1 == i_fname)
strcpy (p_stat->filename, "..");
else {
{
char rr_fname[256] = "";
int i_rr_fname =
get_rock_ridge_filename(p_iso9660_dir, rr_fname, p_stat);
@@ -827,7 +823,11 @@ _iso9660_dir_to_statbuf (iso9660_dir_t *p_iso9660_dir, bool_3way_t b_xa,
strncpy(p_stat->filename, rr_fname, i_rr_fname+1);
} else {
#ifdef HAVE_JOLIET
if (i_joliet_level) {
if ('\0' == p_iso9660_dir->filename[0] && 1 == i_fname)
strcpy (p_stat->filename, ".");
else if ('\1' == p_iso9660_dir->filename[0] && 1 == i_fname)
strcpy (p_stat->filename, "..");
else if (i_joliet_level) {
int i_inlen = i_fname;
int i_outlen = (i_inlen / 2);
char *p_psz_out = NULL;
@@ -835,9 +835,10 @@ _iso9660_dir_to_statbuf (iso9660_dir_t *p_iso9660_dir, bool_3way_t b_xa,
i_outlen);
strncpy(p_stat->filename, p_psz_out, i_fname);
free(p_psz_out);
} else
} else {
#endif /*HAVE_JOLIET*/
strncpy (p_stat->filename, p_iso9660_dir->filename, i_fname);
}
}
}

View File

@@ -21,6 +21,7 @@ iso9660_get_pvd_id
iso9660_get_pvd_space_size
iso9660_get_pvd_type
iso9660_get_pvd_version
iso9660_get_rock_attr_str
iso9660_get_root_lsn
iso9660_get_system_id
iso9660_get_volume_id

View File

@@ -1,5 +1,5 @@
/*
$Id: rock.c,v 1.4 2005/02/18 01:31:08 rocky Exp $
$Id: rock.c,v 1.5 2005/02/20 10:21:01 rocky Exp $
Copyright (C) 2005 Rocky Bernstein <rocky@panix.com>
Adapted from GNU/Linux fs/isofs/rock.c (C) 1992, 1993 Eric Youngdale
@@ -85,8 +85,8 @@
@return length of name field; 0: not found, -1: to be ignored
*/
int
get_rock_ridge_filename(iso9660_dir_t * de, /*out*/ char * psz_name,
iso9660_stat_t *p_stat)
get_rock_ridge_filename(iso9660_dir_t * p_iso9660_dir,
/*out*/ char * psz_name, iso9660_stat_t *p_stat)
{
int len;
unsigned char *chr;
@@ -97,7 +97,7 @@ get_rock_ridge_filename(iso9660_dir_t * de, /*out*/ char * psz_name,
if (!p_stat || nope == p_stat->b_rock) return 0;
*psz_name = 0;
SETUP_ROCK_RIDGE(de, chr, len);
SETUP_ROCK_RIDGE(p_iso9660_dir, chr, len);
/* repeat:*/
{
iso_extension_record_t * rr;
@@ -114,20 +114,26 @@ get_rock_ridge_filename(iso9660_dir_t * de, /*out*/ char * psz_name,
case SIG('S','P'):
CHECK_SP(goto out);
break;
case SIG('C','E'):
case SIG('C','E'):
{
iso711_t i_fname = from_711(p_iso9660_dir->filename_len);
if ('\0' == p_iso9660_dir->filename[0] && 1 == i_fname)
break;
if ('\1' == p_iso9660_dir->filename[0] && 1 == i_fname)
break;
}
CHECK_CE;
break;
case SIG('N','M'):
p_stat->b_rock = yep;
if (truncate) break;
/*
* If the flags are 2 or 4, this indicates '.' or '..'.
* We don't want to do anything with this, because it
* screws up the code that calls us. We don't really
* care anyways, since we can just use the non-RR
* name.
*/
if (rr->u.NM.flags & 6) {
if (rr->u.NM.flags & ISO_ROCK_NM_PARENT) {
i_namelen = strlen("..");
strcat(psz_name, "..");
break;
} else if (rr->u.NM.flags & ISO_ROCK_NM_CURRENT) {
i_namelen = strlen(".");
strcat(psz_name, ".");
break;
}
@@ -193,7 +199,7 @@ get_rock_ridge_filename(iso9660_dir_t * de, /*out*/ char * psz_name,
}
static int
parse_rock_ridge_stat_internal(iso9660_dir_t *de,
parse_rock_ridge_stat_internal(iso9660_dir_t *p_iso9660_dir,
iso9660_stat_t *p_stat, int regard_xa)
{
int len;
@@ -203,7 +209,7 @@ parse_rock_ridge_stat_internal(iso9660_dir_t *de,
if (nope == p_stat->b_rock) return 0;
SETUP_ROCK_RIDGE(de, chr, len);
SETUP_ROCK_RIDGE(p_iso9660_dir, chr, len);
if (regard_xa)
{
chr+=14;
@@ -372,17 +378,117 @@ parse_rock_ridge_stat_internal(iso9660_dir_t *de,
}
int
parse_rock_ridge_stat(iso9660_dir_t *de, /*out*/ iso9660_stat_t *p_stat)
parse_rock_ridge_stat(iso9660_dir_t *p_iso9660_dir,
/*out*/ iso9660_stat_t *p_stat)
{
int result;
if (!p_stat) return 0;
result = parse_rock_ridge_stat_internal(de, p_stat, 0);
result = parse_rock_ridge_stat_internal(p_iso9660_dir, p_stat, 0);
/* if Rock-Ridge flag was reset and we didn't look for attributes
* behind eventual XA attributes, have a look there */
if (0xFF == p_stat->s_rock_offset && nope != p_stat->b_rock) {
result = parse_rock_ridge_stat_internal(de, p_stat, 14);
result = parse_rock_ridge_stat_internal(p_iso9660_dir, p_stat, 14);
}
return result;
}
#define BUF_COUNT 16
#define BUF_SIZE sizeof("drwxrwxrwx")
/* Return a pointer to a internal free buffer */
static char *
_getbuf (void)
{
static char _buf[BUF_COUNT][BUF_SIZE];
static int _i = -1;
_i++;
_i %= BUF_COUNT;
memset (_buf[_i], 0, BUF_SIZE);
return _buf[_i];
}
/*!
Returns a string which interpreting the POSIX mode st_mode.
For example:
\verbatim
drwxrws---
-rw-rw-r--
lrwxrwxrwx
\endverbatim
A description of the characters in the string follows
The 1st character is either "b" for a block device,
"c" for a character device, "d" if the entry is a directory, "l" for
a symbolic link, "p" for a pipe or FIFO, "s" for a "socket",
or "-" if none of the these.
The 2nd to 4th characters refer to permissions for a user while the
the 5th to 7th characters refer to permissions for a group while, and
the 8th to 10h characters refer to permissions for everyone.
In each of these triplets the first character (2, 5, 8) is "r" if
the entry is allowed to be read.
The second character of a triplet (3, 6, 9) is "w" if the entry is
allowed to be written.
The third character of a triplet (4, 7, 10) is "x" if the entry is
executable but not user (for character 4) or group (for characters
6) settable and "s" if the item has the corresponding user/group set.
For a directory having an executable property on ("x" or "s") means
the directory is allowed to be listed or "searched". If the execute
property is not allowed for a group or user but the corresponding
group/user is set "S" indicates this. If none of these properties
holds the "-" indicates this.
*/
const char *
iso9660_get_rock_attr_str(posix_mode_t st_mode)
{
char *result = _getbuf();
if (st_mode & ISO_ROCK_ISBLK)
result[ 0] = 'b';
else if (st_mode & ISO_ROCK_ISDIR)
result[ 0] = 'd';
else if (st_mode & ISO_ROCK_ISCHR)
result[ 0] = 'c';
else if (st_mode & ISO_ROCK_ISLNK)
result[ 0] = 'l';
else if (st_mode & ISO_ROCK_ISFIFO)
result[ 0] = 'p';
else if (st_mode & ISO_ROCK_ISSOCK)
result[ 0] = 's';
/* May eventually fill in others.. */
else
result[ 0] = '-';
result[ 1] = (st_mode & ISO_ROCK_IRUSR) ? 'r' : '-';
result[ 2] = (st_mode & ISO_ROCK_IWUSR) ? 'w' : '-';
if (st_mode & ISO_ROCK_ISUID)
result[ 3] = (st_mode & ISO_ROCK_IXUSR) ? 's' : 'S';
else
result[ 3] = (st_mode & ISO_ROCK_IXUSR) ? 'x' : '-';
result[ 4] = (st_mode & ISO_ROCK_IRGRP) ? 'r' : '-';
result[ 5] = (st_mode & ISO_ROCK_IWGRP) ? 'w' : '-';
if (st_mode & ISO_ROCK_ISGID)
result[ 6] = (st_mode & ISO_ROCK_IXGRP) ? 's' : 'S';
else
result[ 6] = (st_mode & ISO_ROCK_IXGRP) ? 'x' : '-';
result[ 7] = (st_mode & ISO_ROCK_IROTH) ? 'r' : '-';
result[ 8] = (st_mode & ISO_ROCK_IWOTH) ? 'w' : '-';
result[ 9] = (st_mode & ISO_ROCK_IXOTH) ? 'x' : '-';
result[11] = '\0';
return result;
}

View File

@@ -1,5 +1,5 @@
/*
$Id: xa.c,v 1.3 2005/02/12 18:24:21 rocky Exp $
$Id: xa.c,v 1.4 2005/02/20 10:21:01 rocky Exp $
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2003, 2005 Rocky Bernstein <rocky@panix.com>
@@ -42,12 +42,12 @@ const char ISO_XA_MARKER_STRING[] = {'C', 'D', '-', 'X', 'A', '0', '0', '1'};
/* Private headers */
#include "cdio_assert.h"
#define BUF_COUNT 16
#define BUF_SIZE 80
/* Variables to hold debugger-helping enumerations */
enum cdio_xa_enums;
#define BUF_COUNT 16
#define BUF_SIZE 80
/* Return a pointer to a internal free buffer */
static char *
_getbuf (void)

View File

@@ -1,4 +1,4 @@
# $Id: Makefile.am,v 1.31 2005/01/06 11:55:09 rocky Exp $
# $Id: Makefile.am,v 1.32 2005/02/20 10:21:01 rocky Exp $
#
# Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
#
@@ -35,7 +35,7 @@ endif
if BUILD_CD_DRIVE
cd_drive_SOURCES = cd-drive.c util.c util.h
cd_drive_LDADD = $(LIBCDIO_LIBS) $(LIBPOPT_LIBS) $(LIBICONV)
cd_drive_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBPOPT_LIBS) $(LIBICONV)
bin_cd_drive = cd-drive
endif
@@ -53,7 +53,7 @@ endif
if BUILD_CD_READ
cd_read_SOURCES = cd-read.c util.c util.h
cd_read_LDADD = $(LIBCDIO_LIBS) $(LIBPOPT_LIBS) $(LIBICONV)
cd_read_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LIBPOPT_LIBS) $(LIBICONV)
bin_cd_read = cd-read
endif

View File

@@ -1,5 +1,5 @@
/*
$Id: cd-info.c,v 1.115 2005/02/19 11:43:05 rocky Exp $
$Id: cd-info.c,v 1.116 2005/02/20 10:21:01 rocky Exp $
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
Copyright (C) 1996, 1997, 1998 Gerd Knorr <kraxel@bytesex.org>
@@ -92,6 +92,8 @@ struct arguments
int silent;
int no_header;
int no_joliet;
int no_xa;
int no_rock_ridge;
int print_iso9660;
int list_drives;
source_image_t source_image;
@@ -239,6 +241,12 @@ parse_options (int argc, const char *argv[])
0, "Don't use Joliet extensions"},
#endif /*HAVE_JOLIET*/
{"no-rock-ridge", '\0', POPT_ARG_NONE, &opts.no_rock_ridge,
0, "Don't use Rock-Ridge-extension information"},
{"no-xa", '\0', POPT_ARG_NONE, &opts.no_xa,
0, "Don't use XA-extension information"},
{"quiet", 'q', POPT_ARG_NONE, &opts.silent, 0,
"Don't produce warning output" },
@@ -591,8 +599,6 @@ print_iso9660_recurse (CdIo_t *p_cdio, const char pathname[],
char *psz_iso_name = p_statbuf->filename;
char _fullname[4096] = { 0, };
char translated_name[MAX_ISONAME+1];
#define DATESTR_SIZE 30
char date_str[DATESTR_SIZE];
if (yep != p_statbuf->b_rock) {
iso9660_name_translate_ext(psz_iso_name, translated_name,
@@ -610,26 +616,8 @@ print_iso9660_recurse (CdIo_t *p_cdio, const char pathname[],
&& strcmp (psz_iso_name, ".."))
_cdio_list_append (p_dirlist, strdup (_fullname));
if (fs & CDIO_FS_ANAL_XA) {
printf ( " %c %s %d %d [fn %.2d] [LSN %6lu] ",
(p_statbuf->type == _STAT_DIR) ? 'd' : '-',
iso9660_get_xa_attr_str (p_statbuf->xa.attributes),
uint16_from_be (p_statbuf->xa.user_id),
uint16_from_be (p_statbuf->xa.group_id),
p_statbuf->xa.filenum,
(long unsigned int) p_statbuf->lsn);
if (uint16_from_be(p_statbuf->xa.attributes) & XA_ATTR_MODE2FORM2) {
printf ("%9u (%9u)",
(unsigned int) p_statbuf->secsize * M2F2_SECTOR_SIZE,
(unsigned int) p_statbuf->size);
} else {
printf ("%9u", (unsigned int) p_statbuf->size);
}
}
strftime(date_str, DATESTR_SIZE, "%b %d %Y %H:%M ", &p_statbuf->tm);
printf (" %s %s\n", date_str, (yep != p_statbuf->b_rock)
? translated_name : psz_iso_name);
print_fs_attrs(p_statbuf, opts.no_rock_ridge, fs & CDIO_FS_ANAL_XA,
translated_name, psz_iso_name);
}
_cdio_list_free (p_entlist, true);
@@ -831,7 +819,9 @@ init(void)
opts.silent = false;
opts.list_drives = false;
opts.no_header = false;
opts.no_joliet = false;
opts.no_joliet = 0;
opts.no_rock_ridge = 0;
opts.no_xa = 0;
opts.no_device = 0;
opts.no_disc_mode = 0;
opts.debug_level = 0;

View File

@@ -1,5 +1,5 @@
/*
$Id: iso-info.c,v 1.24 2005/02/19 11:43:05 rocky Exp $
$Id: iso-info.c,v 1.25 2005/02/20 10:21:01 rocky Exp $
Copyright (C) 2004, 2005 Rocky Bernstein <rocky@panix.com>
@@ -202,8 +202,6 @@ print_iso9660_recurse (iso9660_t *p_iso, const char pathname[])
char *iso_name = p_statbuf->filename;
char _fullname[4096] = { 0, };
char translated_name[MAX_ISONAME+1];
#define DATESTR_SIZE 30
char date_str[DATESTR_SIZE];
if (yep != p_statbuf->b_rock) {
iso9660_name_translate_ext(iso_name, translated_name, i_joliet_level);
@@ -214,7 +212,6 @@ print_iso9660_recurse (iso9660_t *p_iso, const char pathname[])
iso_name);
}
strncat (_fullname, "/", sizeof (_fullname));
if (p_statbuf->type == _STAT_DIR
@@ -223,26 +220,10 @@ print_iso9660_recurse (iso9660_t *p_iso, const char pathname[])
_cdio_list_append (dirlist, strdup (_fullname));
if (opts.print_iso9660) {
if (iso9660_ifs_is_xa(p_iso) && 0 == opts.no_xa) {
printf ( " %c %s %d %d [fn %.2d] [LSN %6lu] ",
(p_statbuf->type == _STAT_DIR) ? 'd' : '-',
iso9660_get_xa_attr_str (p_statbuf->xa.attributes),
uint16_from_be (p_statbuf->xa.user_id),
uint16_from_be (p_statbuf->xa.group_id),
p_statbuf->xa.filenum,
(long unsigned int) p_statbuf->lsn);
if (uint16_from_be(p_statbuf->xa.attributes) & XA_ATTR_MODE2FORM2) {
printf ("%9u (%9u)",
(unsigned int) p_statbuf->secsize * M2F2_SECTOR_SIZE,
(unsigned int) p_statbuf->size);
}
} else {
printf ("%9u", (unsigned int) p_statbuf->size);
}
strftime(date_str, DATESTR_SIZE, "%b %d %Y %H:%M ", &p_statbuf->tm);
printf (" %s %s\n", date_str,
yep == p_statbuf->b_rock ? iso_name : translated_name);
print_fs_attrs(p_statbuf,
0 == opts.no_rock_ridge,
iso9660_ifs_is_xa(p_iso) && 0 == opts.no_xa,
iso_name, translated_name);
} else
if ( strcmp (iso_name, ".") && strcmp (iso_name, ".."))
printf("%9u %s%s\n", p_statbuf->size, pathname,

View File

@@ -1,5 +1,5 @@
/*
$Id: util.c,v 1.36 2005/02/09 01:31:10 rocky Exp $
$Id: util.c,v 1.37 2005/02/20 10:21:01 rocky Exp $
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
@@ -22,6 +22,7 @@
#include "util.h"
#include <cdio/mmc.h>
#include <cdio/bytesex.h>
cdio_log_handler_t gl_default_cdio_log_handler = NULL;
char *source_name = NULL;
@@ -450,3 +451,43 @@ report (FILE *stream, const char *psz_format, ...)
va_end(args);
}
/* Prints "ls"-like file attributes */
void
print_fs_attrs(iso9660_stat_t *p_statbuf, bool b_rock, bool b_xa,
const char *psz_name_untranslated,
const char *psz_name_translated)
{
char date_str[30];
if (yep == p_statbuf->b_rock && b_rock) {
printf ( " %s %d %d [LSN %6lu] ",
iso9660_get_rock_attr_str (p_statbuf->st_mode),
p_statbuf->st_uid,
p_statbuf->st_gid,
(long unsigned int) p_statbuf->lsn);
} else if (b_xa) {
printf ( " %s %d %d [fn %.2d] [LSN %6lu] ",
iso9660_get_xa_attr_str (p_statbuf->xa.attributes),
uint16_from_be (p_statbuf->xa.user_id),
uint16_from_be (p_statbuf->xa.group_id),
p_statbuf->xa.filenum,
(long unsigned int) p_statbuf->lsn);
if (uint16_from_be(p_statbuf->xa.attributes) & XA_ATTR_MODE2FORM2) {
printf ("%9u (%9u)",
(unsigned int) p_statbuf->secsize * M2F2_SECTOR_SIZE,
(unsigned int) p_statbuf->size);
} else
printf ("%9u", (unsigned int) p_statbuf->size);
} else {
printf (" %c %9u",
(p_statbuf->type == _STAT_DIR) ? 'd' : '-',
(unsigned int) p_statbuf->size);
}
strftime(date_str, sizeof(date_str), "%b %d %Y %H:%M ", &p_statbuf->tm);
printf (" %s %s\n", date_str,
yep == p_statbuf->b_rock && b_rock
? psz_name_untranslated : psz_name_translated);
}

View File

@@ -1,7 +1,7 @@
/*
$Id: util.h,v 1.10 2005/01/09 00:10:49 rocky Exp $
$Id: util.h,v 1.11 2005/02/20 10:21:01 rocky Exp $
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
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
@@ -30,6 +30,7 @@
#include <sys/types.h>
#include <cdio/cdio.h>
#include <cdio/logging.h>
#include <cdio/iso9660.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
@@ -131,4 +132,9 @@ void print_drive_capabilities(cdio_drive_read_cap_t p_read_cap,
it may not be desireable to send output to stdout and stderr. */
void report (FILE *stream, const char *psz_format, ...);
/* Prints "ls"-like file attributes */
void print_fs_attrs(iso9660_stat_t *p_statbuf, bool b_rock, bool b_xa,
const char *psz_name_untranslated,
const char *psz_name_translated);
#endif /* UTIL_H */

View File

@@ -4,7 +4,7 @@ PARTICULAR PURPOSE.
__________________________________
ISO-9660 Information
/:
2048 Jan 10 2004 00:47 .
2048 Jan 10 2004 00:47 ..
17992 Jan 10 2004 00:47 copying
d 2048 Jan 10 2004 00:47 .
d 2048 Jan 10 2004 00:47 ..
- 17992 Jan 10 2004 00:47 copying

View File

@@ -20,13 +20,13 @@ Volume : CDROM
Volume Set :
ISO9660 filesystem
/:
Apr 20 2003 07:26 .
Apr 20 2003 07:26 ..
Jul 29 2002 08:39 COPYING
Apr 20 2003 12:18 doc
d 2048 Apr 20 2003 07:26 .
d 2048 Apr 20 2003 07:26 ..
- 17992 Jul 29 2002 08:39 COPYING
d 2048 Apr 20 2003 12:18 doc
/doc/:
Apr 20 2003 12:18 .
Apr 20 2003 07:26 ..
Apr 20 2003 12:18 readme.txt
d 2048 Apr 20 2003 12:18 .
d 2048 Apr 20 2003 07:26 ..
- 648 Apr 20 2003 12:18 readme.txt

View File

@@ -4,20 +4,20 @@ PARTICULAR PURPOSE.
__________________________________
ISO-9660 Information
/:
2048 Oct 22 2004 18:44 .
2048 Oct 22 2004 18:44 ..
2048 Oct 22 2004 18:44 libcdio
d 2048 Oct 22 2004 18:44 .
d 2048 Oct 22 2004 18:44 ..
d 2048 Oct 22 2004 18:44 libcdio
/libcdio/:
2048 Oct 22 2004 18:44 .
2048 Oct 22 2004 18:44 ..
17992 Mar 12 2004 02:18 copying
2156 Jun 26 2004 06:01 readme
2849 Aug 12 2004 05:22 readme.libcdio
2048 Oct 22 2004 18:44 test
d 2048 Oct 22 2004 18:44 .
d 2048 Oct 22 2004 18:44 ..
- 17992 Mar 12 2004 02:18 copying
- 2156 Jun 26 2004 06:01 readme
- 2849 Aug 12 2004 05:22 readme.libcdio
d 2048 Oct 22 2004 18:44 test
/libcdio/test/:
2048 Oct 22 2004 18:44 .
2048 Oct 22 2004 18:44 ..
74 Jul 25 2004 05:52 isofs_m1.cue
d 2048 Oct 22 2004 18:44 .
d 2048 Oct 22 2004 18:44 ..
- 74 Jul 25 2004 05:52 isofs_m1.cue

View File

@@ -4,20 +4,20 @@ PARTICULAR PURPOSE.
__________________________________
ISO-9660 Information
/:
2048 Oct 22 2004 18:44 .
2048 Oct 22 2004 18:44 ..
2048 Oct 22 2004 18:44 libcdio
d 2048 Oct 22 2004 18:44 .
d 2048 Oct 22 2004 18:44 ..
d 2048 Oct 22 2004 18:44 libcdio
/libcdio/:
2048 Oct 22 2004 18:44 .
2048 Oct 22 2004 18:44 ..
17992 Mar 12 2004 02:18 COPYING
2156 Jun 26 2004 06:01 README
2849 Aug 12 2004 05:22 README.libcdio
2048 Oct 22 2004 18:44 test
d 2048 Oct 22 2004 18:44 .
d 2048 Oct 22 2004 18:44 ..
- 17992 Mar 12 2004 02:18 COPYING
- 2156 Jun 26 2004 06:01 README
- 2849 Aug 12 2004 05:22 README.libcdio
d 2048 Oct 22 2004 18:44 test
/libcdio/test/:
2048 Oct 22 2004 18:44 .
2048 Oct 22 2004 18:44 ..
74 Jul 25 2004 05:52 isofs-m1.cue
d 2048 Oct 22 2004 18:44 .
d 2048 Oct 22 2004 18:44 ..
- 74 Jul 25 2004 05:52 isofs-m1.cue

View File

@@ -22,45 +22,45 @@ Volume : MONVOISIN
Volume Set :
ISO9660 filesystem
/:
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
d d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Feb 19 2001 16:37 cdi
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Feb 19 2001 16:37 ext
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Feb 19 2001 16:37 mpegav
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Feb 19 2001 16:37 segment
d d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Feb 19 2001 16:37 vcd
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Feb 19 2001 16:37 CDI
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Feb 19 2001 16:37 EXT
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Feb 19 2001 16:37 MPEGAV
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Feb 19 2001 16:37 SEGMENT
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Feb 19 2001 16:37 VCD
/CDI/:
d d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Dec 31 1969 23:59 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
- ---2-xrxrxr 0 0 [fn 01] [LSN 211] 1494332 ( 1315168) Feb 19 2001 16:37 cdi_imag.rtf
- ----1xrxrxr 0 0 [fn 01] [LSN 854] 13616 Feb 19 2001 16:37 cdi_text.fnt
- ----1xrxrxr 0 0 [fn 01] [LSN 861] 102400 Feb 19 2001 16:37 cdi_vcd.app
- ----1xrxrxr 0 0 [fn 01] [LSN 911] 279 Feb 19 2001 16:37 cdi_vcd.cfg
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Dec 31 1969 23:59 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
---2-xrxrxr 0 0 [fn 01] [LSN 211] 1494332 ( 1315168) Feb 19 2001 16:37 CDI_IMAG.RTF;1
----1xrxrxr 0 0 [fn 01] [LSN 854] 13616 Feb 19 2001 16:37 CDI_TEXT.FNT;1
----1xrxrxr 0 0 [fn 01] [LSN 861] 102400 Feb 19 2001 16:37 CDI_VCD.APP;1
----1xrxrxr 0 0 [fn 01] [LSN 911] 279 Feb 19 2001 16:37 CDI_VCD.CFG;1
/EXT/:
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Dec 31 1969 23:59 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
- ----1xrxrxr 0 0 [fn 01] [LSN 912] 65536 Feb 19 2001 16:37 lot_x.vcd
- ----1xrxrxr 0 0 [fn 01] [LSN 944] 24 Feb 19 2001 16:37 psd_x.vcd
- ----1xrxrxr 0 0 [fn 01] [LSN 945] 114 Feb 19 2001 16:37 scandata.dat
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Dec 31 1969 23:59 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
----1xrxrxr 0 0 [fn 01] [LSN 912] 65536 Feb 19 2001 16:37 LOT_X.VCD;1
----1xrxrxr 0 0 [fn 01] [LSN 944] 24 Feb 19 2001 16:37 PSD_X.VCD;1
----1xrxrxr 0 0 [fn 01] [LSN 945] 114 Feb 19 2001 16:37 SCANDATA.DAT;1
/MPEGAV/:
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Dec 31 1969 23:59 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
- ---2-xrxrxr 0 0 [fn 01] [LSN 1251] 3655652 ( 3221504) Feb 19 2001 16:37 avseq01.dat
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Dec 31 1969 23:59 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
---2-xrxrxr 0 0 [fn 01] [LSN 1251] 3655652 ( 3221504) Feb 19 2001 16:37 AVSEQ01.DAT;1
/SEGMENT/:
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Dec 31 1969 23:59 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Dec 31 1969 23:59 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
/VCD/:
d d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Dec 31 1969 23:59 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
- ----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Feb 19 2001 16:37 entries.vcd
- ----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Feb 19 2001 16:37 info.vcd
- ----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Feb 19 2001 16:37 lot.vcd
- ----1xrxrxr 0 0 [fn 00] [LSN 184] 24 Feb 19 2001 16:37 psd.vcd
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Dec 31 1969 23:59 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Dec 31 1969 23:59 ..
----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Feb 19 2001 16:37 ENTRIES.VCD;1
----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Feb 19 2001 16:37 INFO.VCD;1
----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Feb 19 2001 16:37 LOT.VCD;1
----1xrxrxr 0 0 [fn 00] [LSN 184] 24 Feb 19 2001 16:37 PSD.VCD;1
XA sectors Video CD
session #2 starts at track 2, LSN: 1251, ISO 9660 blocks: 1101

View File

@@ -21,37 +21,37 @@ Volume : SVCD_OGT_TEST_NTSC
Volume Set :
ISO9660 filesystem
/:
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
d d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 ext
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 mpeg2
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 segment
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 svcd
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 EXT
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 MPEG2
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 SEGMENT
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 SVCD
/EXT/:
d d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ----1xrxrxr 0 0 [fn 00] [LSN 375] 201 Jul 14 1978 00:00 scandata.dat
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
----1xrxrxr 0 0 [fn 00] [LSN 375] 201 Jul 14 1978 00:00 SCANDATA.DAT;1
/MPEG2/:
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ---2-xrxrxr 0 0 [fn 00] [LSN 526] 7971320 ( 7024640) Jul 14 1978 00:00 avseq01.mpg
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
---2-xrxrxr 0 0 [fn 00] [LSN 526] 7971320 ( 7024640) Jul 14 1978 00:00 AVSEQ01.MPG;1
/SEGMENT/:
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ---2-xrxrxr 0 0 [fn 00] [LSN 225] 183596 ( 161792) Jul 14 1978 00:00 item0001.mpg
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
---2-xrxrxr 0 0 [fn 00] [LSN 225] 183596 ( 161792) Jul 14 1978 00:00 ITEM0001.MPG;1
/SVCD/:
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00 entries.svd
- ----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00 info.svd
- ----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00 lot.svd
- ----1xrxrxr 0 0 [fn 00] [LSN 184] 40 Jul 14 1978 00:00 psd.svd
- ----1xrxrxr 0 0 [fn 00] [LSN 186] 190 Jul 14 1978 00:00 search.dat
- ----1xrxrxr 0 0 [fn 00] [LSN 185] 2048 Jul 14 1978 00:00 tracks.svd
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00 ENTRIES.SVD;1
----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00 INFO.SVD;1
----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00 LOT.SVD;1
----1xrxrxr 0 0 [fn 00] [LSN 184] 40 Jul 14 1978 00:00 PSD.SVD;1
----1xrxrxr 0 0 [fn 00] [LSN 186] 190 Jul 14 1978 00:00 SEARCH.DAT;1
----1xrxrxr 0 0 [fn 00] [LSN 185] 2048 Jul 14 1978 00:00 TRACKS.SVD;1
XA sectors Super Video CD (SVCD) or Chaoji Video CD (CVD)
session #2 starts at track 2, LSN: 526, ISO 9660 blocks: 376

View File

@@ -22,60 +22,60 @@ Volume : SVCD
Volume Set : SVCD01
ISO9660 filesystem
/:
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 .
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jan 06 2001 21:29 autorun
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jan 06 2001 21:29 data
d d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jan 06 2001 21:29 ext
d d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jan 06 2001 21:29 mpegav
d d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jan 06 2001 21:29 segment
d d---1xrxrxr 0 0 [fn 00] [LSN 26] 2048 Jan 06 2001 21:29 svcd
d d---1xrxrxr 0 0 [fn 00] [LSN 27] 2048 Jan 06 2001 21:29 vmp
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 .
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jan 06 2001 21:29 AUTORUN
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jan 06 2001 21:29 DATA
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jan 06 2001 21:29 EXT
d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jan 06 2001 21:29 MPEGAV
d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jan 06 2001 21:29 SEGMENT
d---1xrxrxr 0 0 [fn 00] [LSN 26] 2048 Jan 06 2001 21:29 SVCD
d---1xrxrxr 0 0 [fn 00] [LSN 27] 2048 Jan 06 2001 21:29 VMP
/AUTORUN/:
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jan 06 2001 21:29 .
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jan 06 2001 21:29 .
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
/DATA/:
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jan 06 2001 21:29 .
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
d d---1xrxrxr 0 0 [fn 00] [LSN 300] 2048 Jan 06 2001 21:29 svcddata
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jan 06 2001 21:29 .
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
d---1xrxrxr 0 0 [fn 00] [LSN 300] 2048 Jan 06 2001 21:29 SVCDDATA
/DATA/SVCDDATA/:
d d---1xrxrxr 0 0 [fn 00] [LSN 300] 2048 Jan 06 2001 21:29 .
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jan 06 2001 21:29 ..
d---1xrxrxr 0 0 [fn 00] [LSN 300] 2048 Jan 06 2001 21:29 .
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jan 06 2001 21:29 ..
/EXT/:
d d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jan 06 2001 21:29 .
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jan 06 2001 21:29 .
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
/MPEGAV/:
d d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jan 06 2001 21:29 .
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
- ---2--r-r-r 0 0 [fn 01] [LSN 463] 13909140 ( 12257280) Jan 06 2001 21:29 avseq01.mpg
d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jan 06 2001 21:29 .
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
---2--r-r-r 0 0 [fn 01] [LSN 463] 13909140 ( 12257280) Jan 06 2001 21:29 AVSEQ01.MPG;1
/SEGMENT/:
d d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jan 06 2001 21:29 .
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jan 06 2001 21:29 .
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
/SVCD/:
d d---1xrxrxr 0 0 [fn 00] [LSN 26] 2048 Jan 06 2001 21:29 .
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
- ----1xr-rxr 0 0 [fn 00] [LSN 151] 2048 Jan 06 2001 21:29 entries.svd
- ----1xr-rxr 0 0 [fn 00] [LSN 150] 2048 Jan 06 2001 21:29 info.svd
- ----1xr-rxr 0 0 [fn 00] [LSN 152] 65536 Jan 06 2001 21:29 lot.svd
- ----1xr-rxr 0 0 [fn 00] [LSN 184] 16 Jan 06 2001 21:29 psd.svd
- ----1xr-rxr 0 0 [fn 00] [LSN 188] 427 Jan 06 2001 21:29 search.dat
- ----1xr-rxr 0 0 [fn 00] [LSN 186] 4096 Jan 06 2001 21:29 spicontx.svd
- ----1xr-rxr 0 0 [fn 00] [LSN 185] 2048 Jan 06 2001 21:29 tracks.svd
d---1xrxrxr 0 0 [fn 00] [LSN 26] 2048 Jan 06 2001 21:29 .
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
----1xr-rxr 0 0 [fn 00] [LSN 151] 2048 Jan 06 2001 21:29 ENTRIES.SVD;1
----1xr-rxr 0 0 [fn 00] [LSN 150] 2048 Jan 06 2001 21:29 INFO.SVD;1
----1xr-rxr 0 0 [fn 00] [LSN 152] 65536 Jan 06 2001 21:29 LOT.SVD;1
----1xr-rxr 0 0 [fn 00] [LSN 184] 16 Jan 06 2001 21:29 PSD.SVD;1
----1xr-rxr 0 0 [fn 00] [LSN 188] 427 Jan 06 2001 21:29 SEARCH.DAT;1
----1xr-rxr 0 0 [fn 00] [LSN 186] 4096 Jan 06 2001 21:29 SPICONTX.SVD;1
----1xr-rxr 0 0 [fn 00] [LSN 185] 2048 Jan 06 2001 21:29 TRACKS.SVD;1
/VMP/:
d d---1xrxrxr 0 0 [fn 00] [LSN 27] 2048 Jan 06 2001 21:29 .
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
d d---1xrxrxr 0 0 [fn 00] [LSN 28] 2048 Jan 06 2001 21:29 svcdj
d---1xrxrxr 0 0 [fn 00] [LSN 27] 2048 Jan 06 2001 21:29 .
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29 ..
d---1xrxrxr 0 0 [fn 00] [LSN 28] 2048 Jan 06 2001 21:29 SVCDJ
/VMP/SVCDJ/:
d d---1xrxrxr 0 0 [fn 00] [LSN 28] 2048 Jan 06 2001 21:29 .
d d---1xrxrxr 0 0 [fn 00] [LSN 27] 2048 Jan 06 2001 21:29 ..
d---1xrxrxr 0 0 [fn 00] [LSN 28] 2048 Jan 06 2001 21:29 .
d---1xrxrxr 0 0 [fn 00] [LSN 27] 2048 Jan 06 2001 21:29 ..
XA sectors Chaoji Video CD (CVD)

View File

@@ -22,69 +22,69 @@ Volume : V0469
Volume Set :
ISO9660 filesystem
/:
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
d d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 ext
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 mpegav
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 segment
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 sources
d d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jul 14 1978 00:00 vcd
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 EXT
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 MPEGAV
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 SEGMENT
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 Sources
d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jul 14 1978 00:00 VCD
/EXT/:
d d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ----1xrxrxr 0 0 [fn 01] [LSN 375] 65536 Jul 14 1978 00:00 lot_x.vcd
- ----1xrxrxr 0 0 [fn 01] [LSN 407] 144 Jul 14 1978 00:00 psd_x.vcd
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
----1xrxrxr 0 0 [fn 01] [LSN 375] 65536 Jul 14 1978 00:00 LOT_X.VCD;1
----1xrxrxr 0 0 [fn 01] [LSN 407] 144 Jul 14 1978 00:00 PSD_X.VCD;1
/MPEGAV/:
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ---2-xrxrxr 0 0 [fn 01] [LSN 1182] 904036 ( 796672) Jul 14 1978 00:00 avseq01.dat
- ---2-xrxrxr 0 0 [fn 02] [LSN 1721] 904036 ( 796672) Jul 14 1978 00:00 avseq02.dat
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
---2-xrxrxr 0 0 [fn 01] [LSN 1182] 904036 ( 796672) Jul 14 1978 00:00 AVSEQ01.DAT;1
---2-xrxrxr 0 0 [fn 02] [LSN 1721] 904036 ( 796672) Jul 14 1978 00:00 AVSEQ02.DAT;1
/SEGMENT/:
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ---2-xrxrxr 0 0 [fn 01] [LSN 225] 220780 ( 194560) Jul 14 1978 00:00 item0001.dat
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
---2-xrxrxr 0 0 [fn 01] [LSN 225] 220780 ( 194560) Jul 14 1978 00:00 ITEM0001.DAT;1
/Sources/:
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
d d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00 html
- ----1xrxrxr 0 0 [fn 01] [LSN 434] 842 Dec 11 2002 10:33 index.htm
- ----1xrxrxr 0 0 [fn 01] [LSN 435] 1216557 Jan 07 2003 18:01 menu.ppm
- ----1xrxrxr 0 0 [fn 01] [LSN 1030] 2793 Jan 07 2003 18:08 source.xml
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00 HTML
----1xrxrxr 0 0 [fn 01] [LSN 434] 842 Dec 11 2002 10:33 index.htm;1
----1xrxrxr 0 0 [fn 01] [LSN 435] 1216557 Jan 07 2003 18:01 menu.ppm;1
----1xrxrxr 0 0 [fn 01] [LSN 1030] 2793 Jan 07 2003 18:08 source.xml;1
/Sources/HTML/:
d d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 ..
- ----1xrxrxr 0 0 [fn 01] [LSN 425] 1067 Jan 07 2003 17:51 0.xml
- ----1xrxrxr 0 0 [fn 01] [LSN 426] 1067 Jan 07 2003 17:51 1.xml
d d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jul 14 1978 00:00 img
- ----1xrxrxr 0 0 [fn 01] [LSN 427] 1327 Jan 07 2003 17:51 movies.css
- ----1xrxrxr 0 0 [fn 01] [LSN 428] 12024 Jan 07 2003 17:51 toc.xsl
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 ..
----1xrxrxr 0 0 [fn 01] [LSN 425] 1067 Jan 07 2003 17:51 0.xml;1
----1xrxrxr 0 0 [fn 01] [LSN 426] 1067 Jan 07 2003 17:51 1.xml;1
d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jul 14 1978 00:00 img
----1xrxrxr 0 0 [fn 01] [LSN 427] 1327 Jan 07 2003 17:51 movies.css;1
----1xrxrxr 0 0 [fn 01] [LSN 428] 12024 Jan 07 2003 17:51 toc.xsl;1
/Sources/HTML/img/:
d d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00 ..
- ----1xrxrxr 0 0 [fn 01] [LSN 408] 1999 Nov 13 2002 07:27 al.gif
- ----1xrxrxr 0 0 [fn 01] [LSN 409] 7626 Jan 07 2003 17:42 loeki_groep_01.gif
- ----1xrxrxr 0 0 [fn 01] [LSN 413] 9986 Jan 07 2003 17:42 loeki_groep_02.gif
- ----1xrxrxr 0 0 [fn 01] [LSN 418] 207 Nov 14 2002 19:33 a_left.gif
- ----1xrxrxr 0 0 [fn 01] [LSN 419] 207 Nov 14 2002 19:33 a_right.gif
- ----1xrxrxr 0 0 [fn 01] [LSN 420] 441 Nov 13 2002 10:54 animatie.gif
- ----1xrxrxr 0 0 [fn 01] [LSN 421] 250 Nov 14 2002 11:44 face_up2.gif
- ----1xrxrxr 0 0 [fn 01] [LSN 422] 259 Nov 13 2002 11:09 familie.gif
- ----1xrxrxr 0 0 [fn 01] [LSN 423] 1010 Nov 14 2002 11:52 goldstar2.gif
- ----1xrxrxr 0 0 [fn 01] [LSN 424] 1783 Nov 13 2002 07:15 vcd.gif
d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00 ..
----1xrxrxr 0 0 [fn 01] [LSN 408] 1999 Nov 13 2002 07:27 AL.gif;1
----1xrxrxr 0 0 [fn 01] [LSN 409] 7626 Jan 07 2003 17:42 Loeki_Groep_01.gif;1
----1xrxrxr 0 0 [fn 01] [LSN 413] 9986 Jan 07 2003 17:42 Loeki_Groep_02.gif;1
----1xrxrxr 0 0 [fn 01] [LSN 418] 207 Nov 14 2002 19:33 a_left.gif;1
----1xrxrxr 0 0 [fn 01] [LSN 419] 207 Nov 14 2002 19:33 a_right.gif;1
----1xrxrxr 0 0 [fn 01] [LSN 420] 441 Nov 13 2002 10:54 animatie.gif;1
----1xrxrxr 0 0 [fn 01] [LSN 421] 250 Nov 14 2002 11:44 face_up2.gif;1
----1xrxrxr 0 0 [fn 01] [LSN 422] 259 Nov 13 2002 11:09 familie.gif;1
----1xrxrxr 0 0 [fn 01] [LSN 423] 1010 Nov 14 2002 11:52 goldstar2.gif;1
----1xrxrxr 0 0 [fn 01] [LSN 424] 1783 Nov 13 2002 07:15 vcd.gif;1
/VCD/:
d d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00 entries.vcd
- ----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00 info.vcd
- ----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00 lot.vcd
- ----1xrxrxr 0 0 [fn 00] [LSN 184] 72 Jul 14 1978 00:00 psd.vcd
d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00 ENTRIES.VCD;1
----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00 INFO.VCD;1
----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00 LOT.VCD;1
----1xrxrxr 0 0 [fn 00] [LSN 184] 72 Jul 14 1978 00:00 PSD.VCD;1
XA sectors Video CD
session #2 starts at track 2, LSN: 1182, ISO 9660 blocks: 1032

View File

@@ -25,42 +25,42 @@ Volume : SVIDEOCD
Volume Set :
ISO9660 filesystem
/:
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
d d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 ext
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 mpeg2
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 segment
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 svcd
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 EXT
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 MPEG2
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 SEGMENT
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 SVCD
/EXT/:
d d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ----1xrxrxr 0 0 [fn 00] [LSN 675] 78 Jul 14 1978 00:00 scandata.dat
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
----1xrxrxr 0 0 [fn 00] [LSN 675] 78 Jul 14 1978 00:00 SCANDATA.DAT;1
/MPEG2/:
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ---2-xrxrxr 0 0 [fn 00] [LSN 826] 174300 ( 153600) Jul 14 1978 00:00 avseq01.mpg
- ---2-xrxrxr 0 0 [fn 00] [LSN 1051] 174300 ( 153600) Jul 14 1978 00:00 avseq02.mpg
- ---2-xrxrxr 0 0 [fn 00] [LSN 1276] 174300 ( 153600) Jul 14 1978 00:00 avseq03.mpg
- ---2-xrxrxr 0 0 [fn 00] [LSN 1501] 174300 ( 153600) Jul 14 1978 00:00 avseq04.mpg
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
---2-xrxrxr 0 0 [fn 00] [LSN 826] 174300 ( 153600) Jul 14 1978 00:00 AVSEQ01.MPG;1
---2-xrxrxr 0 0 [fn 00] [LSN 1051] 174300 ( 153600) Jul 14 1978 00:00 AVSEQ02.MPG;1
---2-xrxrxr 0 0 [fn 00] [LSN 1276] 174300 ( 153600) Jul 14 1978 00:00 AVSEQ03.MPG;1
---2-xrxrxr 0 0 [fn 00] [LSN 1501] 174300 ( 153600) Jul 14 1978 00:00 AVSEQ04.MPG;1
/SEGMENT/:
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ---2-xrxrxr 0 0 [fn 00] [LSN 225] 65072 ( 57344) Jul 14 1978 00:00 item0001.mpg
- ---2-xrxrxr 0 0 [fn 00] [LSN 375] 65072 ( 57344) Jul 14 1978 00:00 item0002.mpg
- ---2-xrxrxr 0 0 [fn 00] [LSN 525] 65072 ( 57344) Jul 14 1978 00:00 item0003.mpg
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
---2-xrxrxr 0 0 [fn 00] [LSN 225] 65072 ( 57344) Jul 14 1978 00:00 ITEM0001.MPG;1
---2-xrxrxr 0 0 [fn 00] [LSN 375] 65072 ( 57344) Jul 14 1978 00:00 ITEM0002.MPG;1
---2-xrxrxr 0 0 [fn 00] [LSN 525] 65072 ( 57344) Jul 14 1978 00:00 ITEM0003.MPG;1
/SVCD/:
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 .
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
- ----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00 entries.svd
- ----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00 info.svd
- ----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00 lot.svd
- ----1xrxrxr 0 0 [fn 00] [LSN 184] 112 Jul 14 1978 00:00 psd.svd
- ----1xrxrxr 0 0 [fn 00] [LSN 186] 40 Jul 14 1978 00:00 search.dat
- ----1xrxrxr 0 0 [fn 00] [LSN 185] 2048 Jul 14 1978 00:00 tracks.svd
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 .
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00 ENTRIES.SVD;1
----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00 INFO.SVD;1
----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00 LOT.SVD;1
----1xrxrxr 0 0 [fn 00] [LSN 184] 112 Jul 14 1978 00:00 PSD.SVD;1
----1xrxrxr 0 0 [fn 00] [LSN 186] 40 Jul 14 1978 00:00 SEARCH.DAT;1
----1xrxrxr 0 0 [fn 00] [LSN 185] 2048 Jul 14 1978 00:00 TRACKS.SVD;1
XA sectors Super Video CD (SVCD) or Chaoji Video CD (CVD)
session #2 starts at track 2, LSN: 826, ISO 9660 blocks: 676