Add missing field in SVD structure. Document correspondencies with ECMA 119
better.
This commit is contained in:
@@ -1,9 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
$Id: iso9660.h,v 1.92 2006/03/26 15:03:54 rocky Exp $
|
$Id: iso9660.h,v 1.93 2006/05/06 16:08:06 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, 2006 Rocky Bernstein
|
Copyright (C) 2003, 2004, 2005, 2006 Rocky Bernstein <rocky@gnu.org>
|
||||||
<rockyb@users.sourceforge.net>
|
|
||||||
|
|
||||||
See also iso9660.h by Eric Youngdale (1993).
|
See also iso9660.h by Eric Youngdale (1993).
|
||||||
|
|
||||||
@@ -301,9 +300,12 @@ struct iso9660_pvd_s {
|
|||||||
table */
|
table */
|
||||||
iso732_t opt_type_m_path_table; /**< first sector of optional
|
iso732_t opt_type_m_path_table; /**< first sector of optional
|
||||||
M Path table */
|
M Path table */
|
||||||
iso9660_dir_t root_directory_record; /**< See section 9.1 of
|
iso9660_dir_t root_directory_record; /**< See 8.4.18 and
|
||||||
|
section 9.1 of
|
||||||
ISO 9660 spec. */
|
ISO 9660 spec. */
|
||||||
char root_directory_filename; /**< Is '\\0' */
|
char root_directory_filename; /**< Is '\\0' or root
|
||||||
|
directory. Also pads previous
|
||||||
|
field to 34 bytes */
|
||||||
dchar_t volume_set_id[ISO_MAX_VOLUMESET_ID]; /**< Volume Set of
|
dchar_t volume_set_id[ISO_MAX_VOLUMESET_ID]; /**< Volume Set of
|
||||||
which the volume is
|
which the volume is
|
||||||
a member. See
|
a member. See
|
||||||
@@ -390,8 +392,10 @@ struct iso9660_svd_s {
|
|||||||
*/
|
*/
|
||||||
iso711_t version; /**< value 1 */
|
iso711_t version; /**< value 1 */
|
||||||
char flags; /**< Section 8.5.3 */
|
char flags; /**< Section 8.5.3 */
|
||||||
achar_t system_id[ISO_MAX_SYSTEM_ID]; /**< each char is an achar */
|
achar_t system_id[ISO_MAX_SYSTEM_ID]; /**< Section 8.5.4; each char
|
||||||
dchar_t volume_id[ISO_MAX_VOLUME_ID]; /**< each char is a dchar */
|
is an achar */
|
||||||
|
dchar_t volume_id[ISO_MAX_VOLUME_ID]; /**< Section 8.5.5; each char
|
||||||
|
is a dchar */
|
||||||
char unused2[8];
|
char unused2[8];
|
||||||
iso733_t volume_space_size; /**< total number of
|
iso733_t volume_space_size; /**< total number of
|
||||||
sectors */
|
sectors */
|
||||||
@@ -399,30 +403,39 @@ struct iso9660_svd_s {
|
|||||||
iso723_t volume_set_size; /**< often 1 */
|
iso723_t volume_set_size; /**< often 1 */
|
||||||
iso723_t volume_sequence_number; /**< often 1 */
|
iso723_t volume_sequence_number; /**< often 1 */
|
||||||
iso723_t logical_block_size; /**< sector size, e.g. 2048 */
|
iso723_t logical_block_size; /**< sector size, e.g. 2048 */
|
||||||
iso733_t path_table_size; /**< bytes in path table */
|
iso733_t path_table_size; /**< 8.5.7; bytes in path
|
||||||
iso731_t type_l_path_table; /**< first sector of little-
|
table */
|
||||||
endian path table */
|
iso731_t type_l_path_table; /**< 8.5.8; first sector of
|
||||||
iso731_t opt_type_l_path_table; /**< first sector of optional
|
|
||||||
little-endian path table */
|
little-endian path table */
|
||||||
iso732_t type_m_path_table; /**< first sector of big-
|
iso731_t opt_type_l_path_table; /**< 8.5.9; first sector of
|
||||||
endian path table */
|
optional little-endian
|
||||||
iso732_t opt_type_m_path_table; /**< first sector of optional
|
path table */
|
||||||
|
iso732_t type_m_path_table; /**< 8.5.10; first sector of
|
||||||
big-endian path table */
|
big-endian path table */
|
||||||
iso9660_dir_t root_directory_record; /**< See section 9.1 of
|
iso732_t opt_type_m_path_table; /**< 8.5.11; first sector of
|
||||||
ISO 9660 spec. */
|
optional big-endian path
|
||||||
dchar_t volume_set_id[ISO_MAX_VOLUMESET_ID]; /**< dchars */
|
table */
|
||||||
achar_t publisher_id[ISO_MAX_PUBLISHER_ID]; /**< Publisher of
|
iso9660_dir_t root_directory_record; /**< See section 8.5.12 and
|
||||||
volume. If the first
|
9.1 of ISO 9660 spec. */
|
||||||
character is '_' 0x5F,
|
char root_directory_filename; /**< Is '\\0' or root
|
||||||
|
directory. Also pads previous
|
||||||
|
field to 34 bytes */
|
||||||
|
dchar_t volume_set_id[ISO_MAX_VOLUMESET_ID]; /**< 8.5.13;
|
||||||
|
dchars */
|
||||||
|
achar_t publisher_id[ISO_MAX_PUBLISHER_ID]; /**<
|
||||||
|
Publisher of volume.
|
||||||
|
If the first char-
|
||||||
|
aracter is '_' 0x5F,
|
||||||
the remaining bytes
|
the remaining bytes
|
||||||
specify a file
|
specify a file
|
||||||
containing the user.
|
containing the user.
|
||||||
If all bytes are " "
|
If all bytes are " "
|
||||||
(0x20) no publisher
|
(0x20) no publisher
|
||||||
is specified. See
|
is specified. See
|
||||||
section 8.4.20 of
|
section 8.5.14 of
|
||||||
ECMA 119 */
|
ECMA 119 */
|
||||||
achar_t preparer_id[ISO_MAX_PREPARER_ID]; /**< preparer of
|
achar_t preparer_id[ISO_MAX_PREPARER_ID]; /**<
|
||||||
|
Data preparer of
|
||||||
volume. If the first
|
volume. If the first
|
||||||
character is '_' 0x5F,
|
character is '_' 0x5F,
|
||||||
the remaining bytes
|
the remaining bytes
|
||||||
@@ -431,7 +444,7 @@ struct iso9660_svd_s {
|
|||||||
If all bytes are " "
|
If all bytes are " "
|
||||||
(0x20) no preparer
|
(0x20) no preparer
|
||||||
is specified.
|
is specified.
|
||||||
See section 8.4.21
|
See section 8.5.15
|
||||||
of ECMA 119 */
|
of ECMA 119 */
|
||||||
achar_t application_id[ISO_MAX_APPLICATION_ID]; /**< application
|
achar_t application_id[ISO_MAX_APPLICATION_ID]; /**< application
|
||||||
use to create the
|
use to create the
|
||||||
@@ -443,19 +456,19 @@ struct iso9660_svd_s {
|
|||||||
If all bytes are " "
|
If all bytes are " "
|
||||||
(0x20) no application
|
(0x20) no application
|
||||||
is specified.
|
is specified.
|
||||||
See section of 8.4.22
|
See section of 8.5.16
|
||||||
of ECMA 119 */
|
of ECMA 119 */
|
||||||
dchar_t copyright_file_id[37]; /**< Name of file for
|
dchar_t copyright_file_id[37]; /**< Name of file for
|
||||||
copyright info. If
|
copyright info. If
|
||||||
all bytes are " "
|
all bytes are " "
|
||||||
(0x20), then no file
|
(0x20), then no file
|
||||||
is identified. See
|
is identified. See
|
||||||
section 8.4.23 of ECMA 119
|
section 8.5.17 of ECMA 119
|
||||||
9660 spec. */
|
9660 spec. */
|
||||||
dchar_t abstract_file_id[37]; /**< See section 8.4.24 of
|
dchar_t abstract_file_id[37]; /**< See section 8.5.18 of
|
||||||
|
ECMA 119. */
|
||||||
|
dchar_t bibliographic_file_id[37]; /**< See section 8.5.19 of
|
||||||
ECMA 119. */
|
ECMA 119. */
|
||||||
dchar_t bibliographic_file_id[37]; /**< See section 7.5 of
|
|
||||||
ISO 9660 spec. */
|
|
||||||
iso9660_ltime_t creation_date; /**< date and time of volume
|
iso9660_ltime_t creation_date; /**< date and time of volume
|
||||||
creation. See section 8.4.26.1
|
creation. See section 8.4.26.1
|
||||||
of the ECMA 119 spec. */
|
of the ECMA 119 spec. */
|
||||||
@@ -472,7 +485,7 @@ struct iso9660_svd_s {
|
|||||||
spec. */
|
spec. */
|
||||||
iso711_t file_structure_version; /**< value 1 for ECMA 119 */
|
iso711_t file_structure_version; /**< value 1 for ECMA 119 */
|
||||||
uint8_t unused4[1]; /**< unused - value 0 */
|
uint8_t unused4[1]; /**< unused - value 0 */
|
||||||
char application_data[512]; /**< Application can put
|
char application_data[512]; /**< 8.5.20 Application can put
|
||||||
whatever it wants here. */
|
whatever it wants here. */
|
||||||
uint8_t unused5[653]; /**< Unused - value 0 */
|
uint8_t unused5[653]; /**< Unused - value 0 */
|
||||||
} GNUC_PACKED;
|
} GNUC_PACKED;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
$Id: iso9660.c,v 1.25 2006/03/18 02:35:07 rocky Exp $
|
$Id: iso9660.c,v 1.26 2006/05/06 16:08:06 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, 2006 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2003, 2004, 2005, 2006 Rocky Bernstein <rocky@gnu.org>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -54,7 +54,7 @@ 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.25 2006/03/18 02:35:07 rocky Exp $";
|
static const char _rcsid[] = "$Id: iso9660.c,v 1.26 2006/05/06 16:08:06 rocky Exp $";
|
||||||
|
|
||||||
/* Variables to hold debugger-helping enumerations */
|
/* Variables to hold debugger-helping enumerations */
|
||||||
enum iso_enum1_s iso_enums1;
|
enum iso_enum1_s iso_enums1;
|
||||||
@@ -541,12 +541,16 @@ iso9660_set_pvd(void *pd,
|
|||||||
memcpy(&(ipd.root_directory_record), root_dir,
|
memcpy(&(ipd.root_directory_record), root_dir,
|
||||||
sizeof(ipd.root_directory_record));
|
sizeof(ipd.root_directory_record));
|
||||||
ipd.root_directory_filename='\0';
|
ipd.root_directory_filename='\0';
|
||||||
ipd.root_directory_record.length = 33+1;
|
ipd.root_directory_record.length = sizeof(ipd.root_directory_record)+1;
|
||||||
iso9660_strncpy_pad (ipd.volume_set_id, VOLUME_SET_ID, 128, ISO9660_DCHARS);
|
iso9660_strncpy_pad (ipd.volume_set_id, VOLUME_SET_ID,
|
||||||
|
ISO_MAX_VOLUMESET_ID, ISO9660_DCHARS);
|
||||||
|
|
||||||
iso9660_strncpy_pad (ipd.publisher_id, publisher_id, 128, ISO9660_ACHARS);
|
iso9660_strncpy_pad (ipd.publisher_id, publisher_id, ISO_MAX_PUBLISHER_ID,
|
||||||
iso9660_strncpy_pad (ipd.preparer_id, preparer_id, 128, ISO9660_ACHARS);
|
ISO9660_ACHARS);
|
||||||
iso9660_strncpy_pad (ipd.application_id, application_id, 128, ISO9660_ACHARS);
|
iso9660_strncpy_pad (ipd.preparer_id, preparer_id, ISO_MAX_PREPARER_ID,
|
||||||
|
ISO9660_ACHARS);
|
||||||
|
iso9660_strncpy_pad (ipd.application_id, application_id,
|
||||||
|
ISO_MAX_APPLICATION_ID, ISO9660_ACHARS);
|
||||||
|
|
||||||
iso9660_strncpy_pad (ipd.copyright_file_id , "", 37, ISO9660_DCHARS);
|
iso9660_strncpy_pad (ipd.copyright_file_id , "", 37, ISO9660_DCHARS);
|
||||||
iso9660_strncpy_pad (ipd.abstract_file_id , "", 37, ISO9660_DCHARS);
|
iso9660_strncpy_pad (ipd.abstract_file_id , "", 37, ISO9660_DCHARS);
|
||||||
|
|||||||
Reference in New Issue
Block a user