Compare commits

..

8 Commits

23 changed files with 491 additions and 2183 deletions

View File

@@ -52,8 +52,7 @@ bin_PROGRAMS = \
xorriso_xorriso_CPPFLAGS = -Ilibisoburn
xorriso_xorriso_CFLAGS = -DXorriso_with_maiN \
$(READLINE_DEF) $(LIBACL_DEF) $(XATTR_DEF) \
$(EXTF_DEF) $(EXTF_SUID_DEF) $(ZLIB_DEF) \
$(XORRISO_DVD_OBS_64K)
$(EXTF_DEF) $(EXTF_SUID_DEF) $(ZLIB_DEF)
xorriso_xorriso_LDADD = libisoburn/libisoburn.la -lisofs -lburn \
$(THREAD_LIBS) $(LIBBURN_ARCH_LIBS)

19
README
View File

@@ -4,7 +4,7 @@
libisoburn. By Vreixo Formoso <metalpain2002@yahoo.es>
and Thomas Schmitt <scdbackup@gmx.net>
Integrated sub project of libburnia-project.org.
http://files.libburnia-project.org/releases/libisoburn-0.4.6.pl00.tar.gz
http://files.libburnia-project.org/releases/libisoburn-0.4.2.pl01.tar.gz
Copyright (C) 2006-2009 Vreixo Formoso, Thomas Schmitt.
Provided under GPL version 2.
------------------------------------------------------------------------------
@@ -29,17 +29,17 @@ By using this software you agree to the disclaimer at the end of this text:
Compilation, First Glimpse, Installation
Dynamic library and compile time header requirements for libisoburn-0.4.6 :
- libburn.so.4 , version libburn-0.7.4 or higher
- libisofs.so.6 , version libisofs-0.6.24 or higher
Dynamic library and compile time header requirements for libisoburn-0.4.2 :
- libburn.so.4 , version libburn-0.7.0 or higher
- libisofs.so.6 , version libisofs-0.6.22 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time.
Obtain libisoburn-0.4.6.pl00.tar.gz, take it to a directory of your choice
Obtain libisoburn-0.4.2.pl01.tar.gz, take it to a directory of your choice
and do:
tar xzf libisoburn-0.4.6.pl00.tar.gz
cd libisoburn-0.4.6
tar xzf libisoburn-0.4.2.pl01.tar.gz
cd libisoburn-0.4.2
Within that directory execute:
@@ -91,11 +91,6 @@ By default the filter feature is disabled if effective user id and real
user id differ. This ban can be lifted by
--enable-external-filters-setuid
In some situations Linux may deliver a better write performance to DVD drives
if 64 KB rather than 32 KB are transmitted in each write operation.
64k can be made default at configure time by:
--enable-dvd-obs-64k
Drives and Disk File Objects

View File

@@ -1,4 +1,4 @@
AC_INIT([libisoburn], [0.4.6], [http://libburnia-project.org])
AC_INIT([libisoburn], [0.4.2], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@@ -21,7 +21,7 @@ dnl
dnl These three are only copies to provide libtool with unused LT_RELEASE
ISOBURN_MAJOR_VERSION=0
ISOBURN_MINOR_VERSION=4
ISOBURN_MICRO_VERSION=6
ISOBURN_MICRO_VERSION=2
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
@@ -34,16 +34,16 @@ dnl Libtool versioning
dnl Generate libisoburn.so.1.x.y
dnl SONAME will become LT_CURRENT - LT_AGE
dnl
dnl ts A91208
dnl This is the release version 0.4.6 = libisoburn.so.1.35.0
dnl ts A90829
dnl This is the release version 0.4.2 = libisoburn.so.1.31.0
dnl ### This is the development version after above stable release
dnl LT_CURRENT++, LT_AGE++ have not happened happened yet.
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
dnl
dnl SONAME = 36 - 35 = 1 . Library name = libisoburn.so.1.35.0
dnl SONAME = 32 - 31 = 1 . Library name = libisoburn.so.1.31.0
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
LT_CURRENT=36
LT_AGE=35
LT_CURRENT=32
LT_AGE=31
LT_REVISION=0
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
@@ -196,25 +196,13 @@ else
fi
AC_SUBST(EXTF_SUID_DEF)
AC_ARG_ENABLE(dvd-obs-64k,
[ --enable-dvd-obs-64k 64 KB default size for xorriso DVD/BD writing, default=no],
, enable_fifo_odirect=no)
if test x$enable_dvd_obs_64k = xyes; then
XORRISO_DVD_OBS_64K="-DXorriso_dvd_obs_default_64K"
echo "enabled xorriso write size default 64 KB on DVD and BD"
else
XORRISO_DVD_OBS_64K=
echo "disabled xorriso write size default 64 KB on DVD and BD"
fi
AC_SUBST(XORRISO_DVD_OBS_64K)
AC_CHECK_HEADER(libburn/libburn.h)
AC_CHECK_HEADER(libisofs/libisofs.h)
dnl Check for proper library versions
LIBBURN_REQUIRED=0.7.4
LIBISOFS_REQUIRED=0.6.24
LIBBURN_REQUIRED=0.7.0
LIBISOFS_REQUIRED=0.6.22
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)

View File

@@ -267,7 +267,6 @@ int isoburn_is_intermediate_dvd_rw(struct burn_drive *d, int flag)
bit4= do not emulate TOC on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external filesystems
bit7= pretend -ROM and scan for table of content
*/
static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
int flag)
@@ -289,11 +288,8 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
ret= burn_disc_get_multi_caps(d, BURN_WRITE_NONE, &caps, 0);
if(ret<0) /* == 0 is read-only media, but it is too early to reject it here */
goto ex;
if(ret==0 || (flag & 128))
if(ret==0)
readonly= 1;
if(flag & 128)
flag = (flag & ~ 16) | 8;
ret= isoburn_new(o, 0);
if(ret<=0)
goto ex;
@@ -309,9 +305,8 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
(*o)->fabricated_disc_status= BURN_DISC_APPENDABLE;
#endif
if(caps->start_adr)
if(caps->start_adr) { /* set emulation to overwriteable */
(*o)->emulation_mode= 1;
if(caps->start_adr && !readonly) { /* set emulation to overwriteable */
ret= isoburn_is_intermediate_dvd_rw(d, 0);
if(ret>0) {
(*o)->min_start_byte= 0;
@@ -339,7 +334,6 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
/* >>> recognize unsuitable media (but allow read-only media) */;
if(readonly) {
(*o)->fabricated_disc_status= BURN_DISC_FULL;
/* This might be overwriteable media in a -ROM drive.
Pitfall:
Multi-session media which bear a xorriso image for overwriteables
@@ -370,10 +364,8 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
ret= isoburn_emulate_toc(d, 1);
if(ret<0)
goto ex;
else if(ret > 0)
(*o)->emulation_mode= 1;
}
if(ret == 0 && (profile != 0x08 || (flag & 128)) && (flag & 8)) {
if(ret == 0 && profile != 0x08 && (flag&8)) {
/* This might also be multi-session media which do not
get shown with a decent TOC.
CD-R TOC (profile 0x08) can be trusted. Others not.
@@ -420,7 +412,6 @@ ex:
bit4= do not emulate TOC on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external filesystems
bit7= pretend -ROM profile and scan for table of content
*/
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
char *adr, int flag)
@@ -451,7 +442,7 @@ int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
goto ex;
drive_grabbed= 1;
ret= isoburn_welcome_media(&o, (*drive_infos)[0].drive,
(flag & (8 | 16 | 32 | 64 | 128)) | !!(flag&2));
(flag & (8 | 16 | 32 | 64)) | !!(flag&2));
if(ret<=0)
goto ex;
@@ -1056,7 +1047,7 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
int *image_blocks, char *info, int flag)
{
unsigned char buffer[64*1024];
int ret, info_mode, capacity;
int ret, info_mode;
off_t data_count;
info_mode= flag&255;
@@ -1064,12 +1055,8 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
if(flag&(1<<13)) {
memcpy(buffer, info, 64*1024);
} else {
ret = burn_get_read_capacity(d, &capacity, 0);
if(ret > 0 && (off_t) capacity * (off_t) 2048 >= (off_t) (64 * 1024)) {
ret = burn_read_data(d, ((off_t) lba) * (off_t) 2048, (char *) buffer,
ret = burn_read_data(d, ((off_t) lba) * (off_t) 2048, (char *) buffer,
(off_t) 64*1024, &data_count, 2); /* no error messages */
} else
ret= 0;
if(ret<=0)
return(-1*!!(flag&(1<<15)));
if(info_mode==2)
@@ -1131,7 +1118,7 @@ int isoburn_emulate_toc(struct burn_drive *d, int flag)
{
int ret, image_size= 0, lba, track_blocks, session_count= 0, read_flag= 0;
int scan_start= 0, scan_count= 0, probe_minus_16= 0, growisofs_nwa;
int with_enclosure= 0, readable_blocks= -1;
int with_enclosure= 0;
struct isoburn *o;
char msg[160], size_text[80], *sev, volid[33], *volid_pt= NULL;
time_t start_time, last_pacifier, now;
@@ -1145,10 +1132,6 @@ int isoburn_emulate_toc(struct burn_drive *d, int flag)
if(o->emulation_mode<=0 && !(flag&1))
return(0);
ret= burn_get_read_capacity(d, &readable_blocks, 0);
if(ret <= 0)
readable_blocks= -1;
start_time= last_pacifier= time(NULL);
lba= 0;
if(!(flag&2)) {
@@ -1226,12 +1209,6 @@ int isoburn_emulate_toc(struct burn_drive *d, int flag)
if(ret==2) /* ISO header was found in first half block */
lba-= 16;
if(readable_blocks >= 0 && lba + track_blocks > readable_blocks) {
sprintf(msg, "ISO image size %ds larger than readable size %ds",
lba + track_blocks, readable_blocks);
isoburn_msgs_submit(o, 0x00060000, msg, 0, "WARNING", 0);
track_blocks= readable_blocks - lba;
}
ret= isoburn_make_toc_entry(o, &session_count, lba, track_blocks, volid_pt,
0);
if(ret<=0)
@@ -1265,12 +1242,6 @@ int isoburn_emulate_toc(struct burn_drive *d, int flag)
failure:;
isoburn_toc_entry_destroy(&(o->toc), 1);
if(with_enclosure && o->emulation_mode == 1) {
if(readable_blocks >= 0 && image_size > readable_blocks) {
sprintf(msg, "ISO image size %ds larger than readable size %ds",
image_size, readable_blocks);
isoburn_msgs_submit(o, 0x00060000, msg, 0, "WARNING", 0);
image_size= readable_blocks;
}
session_count= 0;
ret= isoburn_make_toc_entry(o, &session_count, 0, image_size, NULL, 0);
}

View File

@@ -434,10 +434,6 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
iso_write_opts_set_aaip_susp_1_10(wopts, opts->aaip_susp_1_10);
iso_write_opts_set_sort_files(wopts, opts->sort_files);
iso_write_opts_set_record_md5(wopts, opts->session_md5, opts->file_md5 & 3);
if(opts->scdbackup_tag_name[0] && opts->scdbackup_tag_time[0])
iso_write_opts_set_scdbackup_tag(wopts, opts->scdbackup_tag_name,
opts->scdbackup_tag_time,
opts->scdbackup_tag_written);
iso_write_opts_set_replace_mode(wopts, opts->replace_dir_mode,
opts->replace_file_mode, opts->replace_uid, opts->replace_gid);
iso_write_opts_set_default_dir_mode(wopts, opts->dir_mode);
@@ -1031,30 +1027,3 @@ int isoburn_igopt_get_data_start(struct isoburn_imgen_opts *o, int *lba)
return(1);
}
int isoburn_igopt_set_scdbackup_tag(struct isoburn_imgen_opts *o, char *name,
char *timestamp, char *tag_written)
{
strncpy(o->scdbackup_tag_name, name, 80);
o->scdbackup_tag_name[80]= 0;
strncpy(o->scdbackup_tag_time, timestamp, 18);
o->scdbackup_tag_time[18]= 0;
o->scdbackup_tag_written = tag_written;
if(tag_written != NULL)
tag_written[0]= 0;
return(1);
}
int isoburn_igopt_get_scdbackup_tag(struct isoburn_imgen_opts *o,
char name[81], char timestamp[19],
char **tag_written)
{
strncpy(name, o->scdbackup_tag_name, 80);
name[80]= 0;
strncpy(timestamp, o->scdbackup_tag_time, 18);
timestamp[18]= 0;
*tag_written= o->scdbackup_tag_written;
return(1);
}

View File

@@ -471,22 +471,6 @@ struct isoburn_imgen_opts {
If >=16: Valid block number. Block size is always 2 KiB.
*/
int data_start_lba;
/**
* If not empty: Parameters "name" and "timestamp" for a scdbackup stream
* checksum tag. See scdbackup/README appendix VERIFY.
* It makes sense only for single session images which start at LBA 0.
* Such a tag may be part of a libisofs checksum tag block after the
* session tag line. It then covers the whole session up to its own start
* position.
* If scdbackup_tag_written is not NULL then it is a pointer to an
* application provided array with at least 512 characters. The effectively
* written scdbackup tag will be copied to this memory location.
*/
char scdbackup_tag_name[81];
char scdbackup_tag_time[19];
char *scdbackup_tag_written;
};

View File

@@ -307,8 +307,8 @@ int isoburn_activate_session(struct burn_drive *drive)
*/
int isoburn_start_emulation(struct isoburn *o, int flag)
{
int ret, i, capacity = -1;
off_t data_count, to_read;
int ret, i;
off_t data_count;
struct burn_drive *drive;
struct ecma119_pri_vol_desc *pvm;
@@ -321,24 +321,13 @@ int isoburn_start_emulation(struct isoburn *o, int flag)
drive= o->drive;
/* We can assume 0 as start block for image.
The data there point to the most recent session.
*/
ret = burn_get_read_capacity(drive, &capacity, 0);
if (ret > 0 && capacity > 0) {
memset(o->target_iso_head, 0, Libisoburn_target_head_sizE);
to_read = Libisoburn_target_head_sizE;
if((off_t) capacity * (off_t) 2048 < to_read)
to_read = (off_t) capacity * (off_t) 2048;
ret = burn_read_data(drive, (off_t) 0, (char*)o->target_iso_head,
to_read, &data_count, 2);
if (ret <= 0) {
/* an error means a full disc with no ISO image */
o->fabricated_disc_status= BURN_DISC_FULL;
return 1;
}
} else {
/* No read capacity means blank media */
/* we can assume 0 as start block for image */
/* TODO what about ms? where we validate valid iso image in ms disc? */
ret = burn_read_data(drive, (off_t) 0, (char*)o->target_iso_head,
(off_t) Libisoburn_target_head_sizE, &data_count, 2);
/* an error means an empty disc */
if (ret <= 0) {
o->fabricated_disc_status= BURN_DISC_BLANK;
return 1;
}

View File

@@ -216,7 +216,7 @@ void isoburn_version(int *major, int *minor, int *micro);
*/
#define isoburn_libisofs_req_major 0
#define isoburn_libisofs_req_minor 6
#define isoburn_libisofs_req_micro 24
#define isoburn_libisofs_req_micro 22
/** The minimum version of libburn to be used with this version of libisoburn
at compile time.
@@ -224,7 +224,7 @@ void isoburn_version(int *major, int *minor, int *micro);
*/
#define isoburn_libburn_req_major 0
#define isoburn_libburn_req_minor 7
#define isoburn_libburn_req_micro 4
#define isoburn_libburn_req_micro 0
/** The minimum version of libisofs to be used with this version of libisoburn
@@ -260,7 +260,7 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
*/
#define isoburn_header_version_major 0
#define isoburn_header_version_minor 4
#define isoburn_header_version_micro 6
#define isoburn_header_version_micro 2
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.
@@ -386,11 +386,10 @@ int isoburn_drive_scan_and_grab(struct burn_drive_info *drive_infos[],
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external
filesystems
bit7= pretend read-only profile and scan for table of content
@return 1 = success , 0 = drive not found , <0 = other error
*/
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
char* adr, int flag);
char* adr, int flag);
/** Aquire a drive from the burn_drive_info[] array which was obtained by
a previous call of burn_drive_scan().
@@ -1142,29 +1141,6 @@ int isoburn_igopt_get_effective_lba(struct isoburn_imgen_opts *o, int *lba);
int isoburn_igopt_get_data_start(struct isoburn_imgen_opts *o, int *lba);
/** Set resp. get parameters "name" and "timestamp" for a scdbackup checksum
tag. It will be appended to the libisofs session tag if the image starts at
LBA 0. See isoburn_disc_track_lba_nwa. The scdbackup tag can be used
to verify the image by command scdbackup_verify <device> -auto_end.
See scdbackup/README appendix VERIFY for its inner details.
@since 0.4.4
@param o The option set to work on
@param name The tag name. 80 characters max.
@param timestamp A string of up to 13 characters YYMMDD.hhmmss
A9 = 2009, B0 = 2010, B1 = 2011, ... C0 = 2020, ...
@param tag_written Either NULL or the address of an array with at least 512
characters. In the latter case the eventually produced
scdbackup tag will be copied to this array when the image
gets written. This call sets scdbackup_tag_written[0] = 0
to mark its preliminary invalidity.
@return 1 success, <=0 failure
*/
int isoburn_igopt_set_scdbackup_tag(struct isoburn_imgen_opts *o, char *name,
char *timestamp, char *tag_written);
int isoburn_igopt_get_scdbackup_tag(struct isoburn_imgen_opts *o,
char name[81], char timestamp[19],
char **tag_written);
/* ----------------------------------------------------------------------- */
/* End of Options for image generation */

View File

@@ -4,7 +4,7 @@
xorriso. By Thomas Schmitt <scdbackup@gmx.net>
Integrated sub project of libburnia-project.org but also published via:
http://scdbackup.sourceforge.net/xorriso_eng.html
http://scdbackup.sourceforge.net/xorriso-0.4.6.pl00.tar.gz
http://scdbackup.sourceforge.net/xorriso-0.4.2.pl01.tar.gz
Copyright (C) 2006-2009 Thomas Schmitt, provided under GPL version 2.
------------------------------------------------------------------------------
@@ -35,7 +35,7 @@ The most simple way to get xorriso from source code is the xorriso standalone
tarball.
Prerequisites:
The tarball contains everything that is needed except the following system
The tarball contains anything that is needed except the following system
components:
libc, libpthread
plus on FreeBSD: libiconv, libcam
@@ -46,10 +46,10 @@ Optional at compile time are:
If they were present at compile time, then the optional libraries have to
be present at runtime, too.
Obtain xorriso-0.4.6.pl00.tar.gz, take it to a directory of your choice and do:
Obtain xorriso-0.4.2.pl01.tar.gz, take it to a directory of your choice and do:
tar xzf xorriso-0.4.6.pl00.tar.gz
cd xorriso-0.4.6
tar xzf xorriso-0.4.2.pl01.tar.gz
cd xorriso-0.4.2
Within that directory execute:
@@ -59,10 +59,7 @@ Within that directory execute:
This will produce a binary named
./xorriso/xorriso
If you want xorriso to report a "Build timestamp" with its option -version :
make buildstamped
You may strip the binary to reduce it in size
which you may strip to reduce it in size
strip ./xorriso/xorriso
You may copy or move it to a directory where it can be found by the shell,
@@ -105,17 +102,8 @@ By default the filter feature is disabled if effective user id and real
user id differ. This ban can be lifted by
--enable-external-filters-setuid
Sometimes xorriso will yield better write performance on Linux if 64 KB are
transmitted in each write operation rather than 32 KB. See option -dvd_obs .
64k can be made default at configure time by:
--enable-dvd-obs-64k
For xorriso -as cdrecord emulation only:
In some situations Linux may deliver a better write performance to drives if
the track input is read with O_DIRECT (see man 2 open). The included libburn
and the cdrecord emulation of xorriso can be told to use this peculiar read
mode by:
--enable-track-src-odirect
If you want xorriso to report a "Build timestamp" with its option -version:
make buildstamped
Drives and Disk File Objects
@@ -237,14 +225,14 @@ Tag_id distinguishes the following tag types
"libisofs_rlsb32_checksum_tag_v1" Relocated 64 kB superblock tag
"libisofs_sb_checksum_tag_v1" Superblock tag
"libisofs_tree_checksum_tag_v1" Directory tree tag
"libisofs_checksum_tag_v1" Session end tag
"libisofs_checksum_tag_v1" Session tag
A relocated superblock may appear at LBA 0 of an image which was produced for
being stored in a disk file or on overwriteable media (e.g. DVD+R, BD-RE).
xorriso records the first session at LBA 32. An eventual follow-up session
begins at the next block address which is divisible by 32 and higher than the
address of the previous session's end tag. Normally no session starts after the
address given by relocated superblock parameter session_start=.
xorriso records a first session recorded with its superblock at LBA 32 and
the may follow at the next block address after the session tag which is
divisible by 32. Normally no session starts after the address given by
relocated superblock parameter session_start=.
Session oriented media like CD-R[W], DVD+R, BD-R will have no relocated
superblock but rather bear a table-of-content on media level.
@@ -275,9 +263,9 @@ and a matching dynamically linked xorriso binary.
This binary is leaner but depends on properly installed libraries of suitable
revision.
Dynamic library and compile time header requirements for libisoburn-0.4.6 :
- libburn.so.4 , version libburn-0.7.4 or higher
- libisofs.so.6 , version libisofs-0.6.24 or higher
Dynamic library and compile time header requirements for libisoburn-0.4.0 :
- libburn.so.4 , version libburn-0.7.0 or higher
- libisofs.so.6 , version libisofs-0.6.22 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time. So compile in the oldest possible installation
setup unless you have reason to enforce a newer bug fix level.

View File

@@ -6185,19 +6185,18 @@ Version leap to libisoburn-0.4.2
xorriso/xorriso.1
Some updates and corrections in xorriso man page
29 Aug 2009 [2765]
29 Aug 2009 []
xorriso/changelog.txt
Document changes and release timestamp
----------------------------------- release - xorriso-0.4.2 - 2009.08.29.143001
* libisoburn: New write options session_md5, file_md5, file_stability
* libisoburn: New read option nomd5
* Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
* Options -lsl and lsdl now display correct link counts if -hardlinks is on
* New option -md5, new -as mkisofs option --md5
* New options -check_md5, -check_md5_r
* New find actions check_md5 get_md5, get_any_xattr
* New find tests -has_md5, -has_any_xattr
* libisoburn: New write options session_md5, file_md5, read option nomd5
* Options -compare, -compare_r, -update, update_r now can use recorded MD5
* New -find action make_md5 to equip files from old images with MD5
* New option -calm_drive
@@ -6222,448 +6221,14 @@ xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.3
29 Aug 2009 [2766]
[]
xorriso/changelog.txt
Documented changes and release timestamp
30 Aug 2009 [2767]
move -m 'Promoted branch to tag'
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourTwo
http://svn.libburnia-project.org/libisoburn/tags/ZeroFourTwo
Document changes and release timestamp
------------------------------------ cycle - xorriso-0.4.3 - 2009.08.29.180146
31 Aug 2009 [2768]
xorriso/make_xorriso_standalone.sh
Added libisofs/doc/checksums.txt to xorriso standalone tarball
2009.08.31.162746 [2769]
xorriso/xorriso.c
Bug fix: -for_backup did not enable -xattr and -md5 if no drive was chosen yet
31 Aug 2009 [2770]
configure.ac
Requiring libisofs-0.6.23 now
2009.08.31.210528 [2771]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
New API call iso_write_opts_set_scdbackup_tag()
2009.08.31.211005 [2772]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New option -scdbackup_tag
2009.09.01.110102 [2776]
xorriso/compile_xorriso.sh
xorriso/xorriso_makefile_am.txt
Removed libburn/lec.c from xorriso standalone and development scripts
------------------------------------ cycle - xorriso-0.4.3 - 2009.09.01.110102
* Bug fix: -for_backup did not enable -xattr and -md5 if no drive was chosen yet
* New option -scdbackup_tag
2009.09.06.094209 [2796]
configure.ac
libisoburn/libisoburn.h
Requiring libburn-0.7.1 now
2009.09.06.112851 [2798]
xorriso/xorrisoburn.c
Reporting "Media product:" with xorriso option -toc
2009.09.06.144813 [2799]
xorriso/xorrisoburn.c
Reporting media product info with -as cdrecord -atip
2009.09.07.161247 [2800]
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
Avoided to use MD5 on filtered streams with compare and update
------------------------------------ cycle - xorriso-0.4.3 - 2009.09.07.161247
* Option -toc now reports "Media product:"
2009.09.13.095136 [2811]
libisoburn/burn_wrap.c
xorriso/xorrisoburn.c
Eventually truncate stdio: track size to file size and issue warning
2009.09.16.162424 [2812]
xorriso/xorriso.h
xorriso/xorriso.c
Avoiding a potential memory leak in xorriso main()
2009.09.17.144453 [2813]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
Expanded new API call isoburn_igopt_set_scdbackup_tag
2009.09.17.144849 [2814]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
Changing new option -scdbackup_tag
2009.09.19.161026 [2817]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New -osirrox sub-options o_excl_on/off. Program osirrox starts with o_excl_off.
2009.09.20.092811 [2818]
xorriso/xorriso.c
xorriso/xorrisoburn.c
Bug fix: Corrected handling of -as cdrecord -mode2, -xa, -xa2, -xa2, -xamix, xorrisofs -help, xorrecord -help
2009.09.20.110715 [2819]
xorriso/xorriso.c
xorriso/xorrisoburn.c
Adjusted xorriso -as cdrecord fifo chunk size to -xa1
------------------------------------ cycle - xorriso-0.4.3 - 2009.09.20.110715
* Bug fix: With -as cdrecord : -xa1 and -xamix were ignored although they do matter
* Bug fix: xorrisofs -help, xorrecord -help displayed original xorriso -help
2009.09.22.143534 [2821]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
Bug fix: -cut_out deleted previously cut-out pieces of the same file
------------------------------------ cycle - xorriso-0.4.3 - 2009.09.22.143534
* Bug fix: -cut_out deleted previously cut-out pieces of the same file
2009.09.27.080401 [2827]
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
Narrowed rules for recognizing split file parts
2009.09.28.173322 [2828]
xorriso/xorrisoburn.c
xorriso/xorriso.1
Restricted split part recognition to directories with a complete part set
2009.09.30.092640 [2829]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New -check_media sub options bad_limit=, slow_limit=, chunk_size=
------------------------------------ cycle - xorriso-0.4.3 - 2009.09.30.092640
2009.10.05.165632 [2831]
libisoburn/isofs_wrap.c
libisoburn/burn_wrap.c
Avoided FAILURE event with welcoming empty disk files
2009.10.05.172143 [2832]
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
New option -pvd_info
2009.10.05.183619 [2833]
xorriso/xorrisoburn.c
Adjusted -pvd_info to the peculiarities of -volid
2009.10.05.190215 [2834]
xorriso/xorrisoburn.c
Added code to xorriso for repairing "_" in all three PVD id file names
------------------------------------ cycle - xorriso-0.4.3 - 2009.10.05.190215
* New option -pvd_info
2009.10.06.071704 [2835]
xorriso/xorrisoburn.c
Made sure that -pvd_info reports the actual PVD address
2009.10.07.072645 [2836]
libisoburn/isofs_wrap.c
Declared as closed those media which have read errors in the first 64 kB
2009.10.07.075634 [2837]
libisoburn/libisoburn.h
libisoburn/burn_wrap.c
New bit7 with isoburn_drive_aquire(): pretend read-only
2009.10.07.080042 [2838]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New -rom_toc_scan sub option "force" to get DVD/BD table-of-content on Solaris
------------------------------------ cycle - xorriso-0.4.3 - 2009.10.07.080042
2009.10.07.124047 [2839]
xorriso/xorriso.c
xorriso/xorrisoburn.c
Aligned sessions on overwriteables to full 32 blocks
2009.10.07.140521 [2840]
libisoburn/burn_wrap.c
Avoided FATAL event with -rom_toc_scan force and non-ISO media
2009.10.07.180552 [2841]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New options -system_id , -volset_id
------------------------------------ cycle - xorriso-0.4.3 - 2009.10.07.180552
* New options -system_id , -volset_id
* Bug fix libisofs: Filenames could lose blanks during a multi-session cycle
------------------------------- patch - xorriso-0.4.2.pl02 - 2009.10.08.080001
* Bug fix: -for_backup did not enable -xattr and -md5 if no drive was chosen yet
* Bug fix: xorrisofs -help, xorrecord -help displayed original xorriso -help
* Bug fix libisofs: Filenames could lose blanks during a multi-session cycle
2009.10.08.155605 [2845]
configure.ac
libisoburn/libisoburn.h
Requiring libisofs-0.6.24 now
2009.10.08.155749 [2846]
xorriso/configure_ac.txt
xorriso/xorriso_eng.html
Adapted xorriso-standalone to version leap libisofs-0.6.25
2009.10.10.142353 [2851]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
xorriso/xorriso_eng.html
New option -mount_opts
2009.10.11.141528 [2852]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
Made -application_id, -publisher, -system_id, -volset_id pending image changes
2009.10.11.141815 [2853]
xorriso/xorriso.c
Changed FreeBSD mount command to mount_cd9660
2009.10.14.114830 [2862]
xorriso/configure_ac.txt
Adapted xorriso-standalone to version leap libburn-0.7.3
2009.10.14.115223 [2863]
README
xorriso/README
configure.ac
libisoburn/libisoburn.h
Requiring libburn-0.7.2 now
------------------------------------ cycle - xorriso-0.4.3 - 2009.10.14.115223
* New option -mount_opts
2009.10.17.191225 [2866]
xorriso/compile_xorriso.sh
xorriso/xorriso_makefile_am.txt
Added libburn/ecma130ab.[cho] to xorriso standalone and development scripts
2009.10.22.155746 [2869]
xorriso/xorrisoburn.c
Added a "NOT READBLE" result line to -check_md5
22 Oct 2009 [2870]
xorriso/xorriso.1
Added man page example: Burn an existing ISO image file to media
27 Oct 2009 [2873]
xorriso/xorriso.1
Adjustments of xorriso man page
27 Oct 2009 [2874]
svn copy -m "Branching for libisoburn release 0.4.4" \
http://svn.libburnia-project.org/libisoburn/trunk \
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourFour
2009.10.27.153001 [2875]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.4
27 Oct 2009 [2876]
xorriso/changelog.txt
Documented changes and release timestamp
----------------------------------- release - xorriso-0.4.4 - 2009.10.27.153001
* Bug fix: -cut_out deleted previously cut-out pieces of the same file
* Bug fix libisofs: Filenames could lose blanks during a multi-session cycle
* Bug fix: -for_backup did not enable -xattr and -md5 if no drive was chosen yet
* Bug fix: With -as cdrecord : -xa1 and -xamix were ignored although they do matter
* Bug fix: xorrisofs -help, xorrecord -help displayed original xorriso -help
* New option -pvd_info
* Option -toc now reports "Media product:"
* New options -system_id , -volset_id
* New option -mount_opts
* New option -scdbackup_tag
2009.10.27.205410 [2877]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.5
28 Oct 2009 [2878]
xorriso/changelog.txt
Documented changes and release timestamp
28 Oct 2009 [2879]
svn move -m "Promoted branch to tag"
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourFour
http://svn.libburnia-project.org/libisoburn/tags/ZeroFourFour
------------------------------------ cycle - xorriso-0.4.5 - 2009.10.27.205410
2009.11.12.204523 [2897]
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New -calm_drive mode "revoke"
------------------------------- patch - xorriso-0.4.4.pl01 - 2009.11.13.120001
* libburn: Workaround for Pioneer DVR-216D which got stuck on DVD-R burns
* libburn: Workaround for Pioneer DVR-216D refusal to eject
2009.11.17.123150 [2909]
configure.ac
libisoburn/libisoburn.h
Requiring libburn-0.7.3 now
2009.11.17.134239 [2910]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New options -dvd_obs and -stdio_sync
2009.11.17.142447 [2911]
configure.ac
Makefile.am
xorriso/configure_ac.txt
xorriso/makefile_libxorriso_am.txt
New configure option --enable-dvd-obs-64k
------------------------------------ cycle - xorriso-0.4.5 - 2009.11.17.142447
* New options -dvd_obs and -stdio_sync
* New configure option --enable-dvd-obs-64k
2009.11.28.123903 [2927]
xorriso/xorrisoburn.c
Made use of burn_fifo_source_new() flag bit0 and of burn_os_open_track_src()
2009.11.28.124241 [2928]
README
xorriso/README
xorriso/configure_ac.txt
xorriso/xorriso_makefile_am.txt
New configure option --enable-track-src-odirect
------------------------------------ cycle - xorriso-0.4.5 - 2009.11.28.124241
------------------------------------ cycle - xorriso-0.4.5 - 2009.12.05.141523
* Bug fix: SIGSEGV with option -toc on LG GH22LS30
07 Dec 2009 [2944]
xorriso/configure_ac.txt
Adapted xorriso-standalone to version leap libburn-0.7.5
2009.12.07.082130 [2945]
README
xorriso/README
configure.ac
libisoburn/libisoburn.h
Requiring libburn-0.7.4 now
08 Dec 2009 [2947]
svn copy -m Branching for libisoburn release 0.4.6
http://svn.libburnia-project.org/libisoburn/trunk
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourSix
2009.12.08.130001 [2948]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.6
08 Dec 2009 []
xorriso/changelog.txt
Documented changes and release timestamp
----------------------------------- release - xorriso-0.4.6 - 2009.12.08.130001
* Bug fix: SIGSEGV form NULL pointer with option -toc on LG GH22LS30
* libburn: Workaround for Pioneer DVR-216D which got stuck on DVD-R burns
* libburn: Workaround for Pioneer DVR-216D refusal to eject
* New options -dvd_obs and -stdio_sync
* New configure option --enable-dvd-obs-64k
------------------------------------ cycle - xorriso-0.4.7 -
------------------------------------ cycle - xorriso-0.4.7 -
------------------------------------ cycle - xorriso-0.4.3 -
------------------------------------ cycle - xorriso-0.4.3 -
===============================================================================
TODO
@@ -6671,7 +6236,10 @@ Documented changes and release timestamp
------------------------------------------------- bugs
- options -print_info , -print_mark
- >>> what about stat.st_nlink ?
- Must it be maintained for directories (i.e. nlink == files + 2)?
There are indications that it should either give the number of subdirs
(including . and ..) or be 1
- what about split files and hard links ?
@@ -6687,8 +6255,6 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
------------------------------------------------- important
- (ECMA-119 names in: -copyright_id , -abstract_id , -biblio_id)
- Mark data blocks of -check_md5 matching files as valid in sector map ?
- tree of name nodes to represent the cached paths of hardlink candidates.

View File

@@ -137,7 +137,7 @@ cc -I. -DXorriso_with_maiN $def_libreadline \
"$burn"/toc.o \
\
"$burn"/crc.o \
"$burn"/ecma130ab.o \
"$burn"/lec.o \
\
"$isoburn"/isoburn.o \
"$isoburn"/burn_wrap.o \

View File

@@ -1,4 +1,4 @@
AC_INIT([xorriso], [0.4.6], [http://libburnia-project.org])
AC_INIT([xorriso], [0.4.2], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@@ -9,14 +9,14 @@ AM_INIT_AUTOMAKE([subdir-objects])
BURN_MAJOR_VERSION=0
BURN_MINOR_VERSION=7
BURN_MICRO_VERSION=5
BURN_MICRO_VERSION=1
AC_SUBST(BURN_MAJOR_VERSION)
AC_SUBST(BURN_MINOR_VERSION)
AC_SUBST(BURN_MICRO_VERSION)
LIBISOFS_MAJOR_VERSION=0
LIBISOFS_MINOR_VERSION=6
LIBISOFS_MICRO_VERSION=25
LIBISOFS_MICRO_VERSION=23
AC_SUBST(LIBISOFS_MAJOR_VERSION)
AC_SUBST(LIBISOFS_MINOR_VERSION)
AC_SUBST(LIBISOFS_MICRO_VERSION)
@@ -204,29 +204,7 @@ else
fi
AC_SUBST(EXTF_SUID_DEF)
AC_ARG_ENABLE(dvd-obs-64k,
[ --enable-dvd-obs-64k 64 KB default size for DVD/BD writing, default=no],
, enable_fifo_odirect=no)
if test x$enable_dvd_obs_64k = xyes; then
XORRISO_DVD_OBS_64K="-DXorriso_dvd_obs_default_64K"
echo "enabled xorriso write size default 64 KB on DVD and BD"
else
XORRISO_DVD_OBS_64K=
echo "disabled xorriso write size default 64 KB on DVD and BD"
fi
AC_SUBST(XORRISO_DVD_OBS_64K)
AC_ARG_ENABLE(track-src-odirect,
[ --enable-track-src-odirect Enable use of O_DIRECT with -as cdrskin, default=no],
, enable_track_src_odirect=no)
if test x$enable_track_src_odirect = xyes; then
LIBBURN_O_DIRECT_DEF="-DLibburn_read_o_direcT"
echo "enabled use of O_DIRECT with input of -as cdrskin"
else
LIBBURN_O_DIRECT_DEF=
echo "disabled use of O_DIRECT with input of -as cdrskin"
fi
AC_SUBST(LIBBURN_O_DIRECT_DEF)
AC_CONFIG_FILES([
Makefile

View File

@@ -25,7 +25,7 @@
current_dir=$(pwd)
lone_dir="$current_dir"/"xorriso-standalone"
xorriso_rev=0.4.6
xorriso_rev=0.4.2
# For unstable uploads:
## xorriso_pl=""
# For stable releases:
@@ -153,7 +153,6 @@ copy_files libisofs/*.[ch] "$lone_dir"/libisofs
copy_files libisofs/filters/*.[ch] "$lone_dir"/libisofs/filters
copy_files doc/susp_aaip*.txt "$lone_dir"/doc
copy_files doc/zisofs_format.txt "$lone_dir"/doc
copy_files doc/checksums.txt "$lone_dir"/doc
copy_files COPYRIGHT "$lone_dir"/libisofs
# To get a common version.h

View File

@@ -70,8 +70,7 @@ bin_PROGRAMS = \
xorriso_xorriso_CPPFLAGS = -Ilibisoburn
xorriso_xorriso_CFLAGS = -DXorriso_with_maiN -DXorriso_without_subS \
$(READLINE_DEF) $(LIBACL_DEF) $(XATTR_DEF) \
$(EXTF_DEF) $(EXTF_SUID_DEF) $(ZLIB_DEF) \
$(XORRISO_DVD_OBS_64K)
$(EXTF_DEF) $(EXTF_SUID_DEF) $(ZLIB_DEF)
xorriso_xorriso_LDADD = libisoburn/libisoburn.la -lisofs -lburn \
libxorriso/libxorriso.la \

View File

@@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Nov 17, 2009"
.TH XORRISO 1 "Aug 29, 2009"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@@ -26,13 +26,13 @@ with Rock Ridge extensions.
.SH DESCRIPTION
.PP
.B xorriso
is a program which copies file objects from POSIX compliant
is a program which maps file objects from POSIX compliant
filesystems into Rock Ridge enhanced ISO 9660 filesystems and allows
session-wise manipulation of such filesystems. It can load the management
information of existing ISO images and it writes the session results to
optical media or to filesystem objects.
.br
Vice versa xorriso is able to copy file objects out of ISO 9660 filesystems.
Vice versa xorriso is able to restore file objects from ISO 9660 filesystems.
.PP
A special property of xorriso is that it needs neither an external ISO 9660
formatter program nor an external burn program for CD, DVD or BD but rather
@@ -152,8 +152,10 @@ not altered. Pending alteration can be revoked by command -rollback.
Writing a session to the target is supposed to be very expensive in terms of
time and of consumed space on appendable or write-once media. Therefore all
intended manipulations of a particular ISO image should be done in a single
session. But in principle it is possible
to store intermediate states and to continue with image manipulations.
session.
.br
In some special situations (e.g. in a file-to-file situation) it can be
useful to store intermediate states and to continue with image manipulations.
.SS
.B Media types and states:
There are two families of media in the MMC standard:
@@ -168,11 +170,12 @@ session history. If they contain one or more ISO 9660 sessions and if the
first session was written by xorriso, then a table of content can
be emulated. Else only a single overall session will be visible.
.br
DVD-RW media can be formatted by -format "full".
They can be made unformatted by -blank "deformat".
DVD-RW media can be formatted by -format full.
They can be made unformatted by -blank deformat.
.br
Regular files and block devices are handled as overwriteable media.
Pipes and other writeable file types are handled as blank multi-session media.
Emulated drives are handled as overwriteable media if they are random
read-write accessible. If they are only sequentially writeable then
they are handled as blank multi-session media.
.PP
These media can assume several states in which they offer different
capabilities.
@@ -185,7 +188,7 @@ With used CD-RW and DVD-RW it can be achieved by action -blank "as_needed".
Overwriteable media are considered blank if they are new or if they have
been marked as blank by xorriso.
Action -blank "as_needed" can be used to do this marking on overwriteable
media, or to apply eventual mandatory formatting to new media.
media, or to apply eventual mandatory formatting of new media.
.br
\fBAppendable\fR media accept further sessions. Either they are MMC
multi-session media in appendable state, or they are overwriteable media
@@ -331,7 +334,7 @@ among the start arguments. Do not try to fool this ban via backdoor addresses
to stdout.
.br
If stdout is used as drive, then -use_readline is permanently disabled.
Use of backdoors can cause severe memory and/or tty corruption.
Use of backdoors will cause severe memory and/or tty corruption.
.PP
Be aware that especially the superuser can write into any accessible file or
device by using its path with the "stdio:" prefix. By default any address
@@ -353,7 +356,7 @@ prefix "stdio:" to other paths.
is the name of a set of additional informations which enhance
an ISO 9660 filesystem so that it can represent a POSIX compliant filesystem
with ownership, access permissions, symbolic links, and other attributes.
.br
.PP
This is what xorriso uses for a decent representation of the disk files
within the ISO image. Rock Ridge information is produced with any xorriso
image.
@@ -402,7 +405,6 @@ according to entry "group::". xorriso brings "group::" into effect before
eventually removing the ACL from a file.
.PP
.B xattr
(aka EA)
are pairs of name and value which can be attached to file objects. AAIP is
able to represent them and xorriso allows to record and restore pairs which
have names out of the user namespace. I.e. those which begin with "user.",
@@ -412,8 +414,7 @@ xattr processing happens only if it is enabled by option
.B -xattr.
.br
As with ACL, currently only xorriso is able to retrieve xattr from AAIP
enhanced images, to restore them to xattr capable file systems, or to print
them.
enhanced images and to restore them to xattr capable file systems.
.SS
.B Command processing:
.br
@@ -520,8 +521,8 @@ try to abort as soon as possible.
.SH OPTIONS
.br
All command words are shown with a leading dash although this dash is not
mandatory for the option to be recognized. Nevertheless within option -as
the dashes of the emulated options are mandatory.
mandatory for the option to be recognized. Note that with emulation modes the
dashes of the emulated options are mandatory.
.br
Normally any number of leading dashes is ignored with command words and
inner dashes are interpreted as underscores.
@@ -652,8 +653,7 @@ have to deny its rw-permissions in the filesystem.
\fB\-assert_volid\fR pattern severity
Refuse to load ISO images with volume ids which do not match the given
search pattern. When refusing an image, give up the input drive and issue
an event of the given severity (like FAILURE, see -abort_on). An empty search
pattern accepts any image.
an event of the given severity. An empty search pattern accepts any image.
.br
This option does not hamper the creation of an empty image from blank
input media and does not discard an already loaded image.
@@ -780,7 +780,7 @@ The speed advantage appears only if the loaded session was produced with
Note that -disk_dev_ino "off" is totally in effect only if -hardlinks is "off",
too.
.TP
\fB\-rom_toc_scan\fR "on"|"force"|"off"[:"emul_on"|"emul_off"]
\fB\-rom_toc_scan\fR "on"|"off"[:"emul_on"|"emul_off"]
Read-only drives do not tell the actual media type but show any media as
ROM (e.g. as DVD-ROM). The session history of MMC multi-session media might
be truncated to first and last session or even be completely false.
@@ -793,11 +793,6 @@ than the drive's table of content. At its end it can cause read attempts
to invalid addresses and thus ugly drive behavior.
Setting "on" enables that scan for alleged read-only media.
.br
Some operating systems are not able to mount the most recent session of
multi-session DVD or BD. If on such a system xorriso has no own MMC
capabilities then it may still find that session from a scanned table of
content. Setting "force" handles any media like a ROM media with setting "on".
.br
On the other hand the emulation of session history on overwriteable media
can hamper reading of partly damaged media. Setting "off:emul_off" disables
the elsewise trustworthy table-of-content scan for those media.
@@ -805,14 +800,13 @@ the elsewise trustworthy table-of-content scan for those media.
To be in effect, the -rom_toc_scan setting has to be made before the -*dev
command which aquires drive and media.
.TP
\fB\-calm_drive\fR "in"|"out"|"all"|"revoke"|"on"|"off"
\fB\-calm_drive\fR "in"|"out"|"all"|"on"|"off"
Reduce drive noise until it is actually used again. Some drives stay alert
for substantial time after they have been used for reading. This reduces
the startup time for the next drive operation but can be loud and waste
energy if no i/o with the drive is expected to happen soon.
.br
Modes "in", "out", "all" immediately calm down -indev, -outdev, resp. both.
Mode "revoke" immediately alerts both.
Mode "on" causes -calm_drive to be performed automatically after each -dev,
-indev, and -outdev. Mode "off" disables this.
.TP
@@ -947,10 +941,10 @@ composed from disk_path by replacing disk_prefix by iso_rr_prefix.
\fB\-update\fR disk_path iso_rr_path
Compare file object disk_path with file object iso_rr_path. If they do not
match, then perform the necessary image manipulations to make iso_rr_path
a matching copy of disk_path. By default this comparison will imply lengthy
content reading before a decision is made. Options -disk_dev_ino or -md5 may
accelerate comparison if they were already in effect when the loaded session
was recorded.
a matching copy of disk_path. This comparison will imply lengthy content
reading before a decision is made. On the other hand it strives for the
smallest possible amount of add-on data which is needed to achieve the
matching copy.
.br
If disk_path is a directory and iso_rr_path does not exist yet, then the
whole subtree will be inserted. Else only directory attributes will be
@@ -1000,12 +994,30 @@ E.g:
.br
/file/part_3_of_3_at_4094m_with_2047m_of_5753194821
.br
While option -split_size is set larger than 0, and if all pieces of a file
reside in the same ISO directory with no other files, and if the names look
like above, then their ISO directory will be recognized and handled like a
regular file. This affects options -compare*, -update*, and overwrite
situations.
See option -split_size for details.
-cut_out is coordinated with -compare* and -update* if the names of the
part files follow a convention by which xorriso is able to recognize
file parts and process them accordingly:
.br
A disk file gets mapped to an ISO directory containing its split parts
as regular files. The parts have names which describe the splitting
by 5 numbers which are separated by some non-numerical text:
.br
part_number, total_parts, byte_offset, byte_count, disk_file_size
.br
Scaling characters like "m" or "k" are taken into respect and may
serve as separators as well. All digits are interpreted as decimal,
even if leading zeros are present.
.br
Not all parts have to be present on the same media. But those parts
which are present have to sit in the same directory. No other files
are allowed in there. Parts have to be disjoint. Their numbers have
to be plausible. E.g. byte_count must be valid as -cut_out argument
and it must be the same with all parts.
.br
If the disk file grows enough to need new parts then those get added
to the directory if it already contains all parts of the old disk file.
If not all parts are present, then only those present parts will
be updated.
.TP
\fB\-cpr\fR disk_path [***] iso_rr_path
Insert the given files or directory trees from filesystem
@@ -1305,7 +1317,7 @@ Matches if pattern matches the file path as it would be printed by action
"echo". Character '/' is not special but can be matched by wildcards.
.br
\fB\-type\fR type_letter :
Matches files of the given type:
Matches files files of the given type:
"block", "char", "dir", "pipe", "file", "link", "socket", "eltorito",
"Xotic" which eventually matches what is not matched by the other types.
.br
@@ -1365,7 +1377,7 @@ Matches if the next test or sub expression does not match.
Several tests do this specifically:
.br
-undamaged, -lba_range with negative start_lba, -has_no_acl, -has_no_xattr,
-has_no_aaip, -has_no_filter .
-has_no_aaip, -has_no_filter
.br
\fB\-and\fR :
Matches if both neighboring tests or expressions match.
@@ -1399,7 +1411,7 @@ may have specific parameters. See also their particular descriptions.
as parameter. E.g.: -exec chown thomas --
.br
\fBchgrp\fR and \fBchgrp_r\fR change the group attribute and get the group id
as parameter. E.g.: -exec chgrp_r staff --
as paramieter. E.g.: -exec chgrp_r staff --
.br
\fBchmod\fR and \fBchmod_r\fR change access permissions and get a mode string
as parameter. E.g.: -exec chmod a-w,a+r --
@@ -1506,13 +1518,10 @@ Switch to growing mode.
(A subsequent -outdev will activate modification mode or blind growing.)
-commit is performed automatically at end of program if there
are uncommitted manipulations pending.
.br
So, to perform a final write operation with no new -dev
and no new loading of image, rather execute option -end.
If you want to go on without image loading, execute -commit_eject "none".
To eject after write without image loading, use -commit_eject "all".
.br
To suppress a final write, execute -rollback_end.
To eject outdev after write without new loading of image, use -commit_eject.
.br
Writing can last quite a while. It is not unnormal with several
@@ -1523,7 +1532,8 @@ xorriso and the drives are in a client-server relationship.
The drives have much freedom about what to do with the media.
Some combinations of drives and media simply do not work,
despite the promises by their vendors.
If writing fails then try other media or another drive. The reason
If writing fails - or even the drive gets stuck and you need
to reboot - then try other media or another drive. The reason
for such failure is hardly ever in the code of the various
burn programs but you may well try some of those listed below
under SEE ALSO.
@@ -1552,8 +1562,8 @@ DVD-RAM and BD-RE. Other media in blank state are gracefully ignored.
Media which cannot be made ready for writing from scratch cause a FAILURE
event.
.br
"fast" makes CD-RW and unformatted DVD-RW re-usable, or invalidates
overwriteable ISO images. "all" might work more thoroughly and need more time.
"fast" and "all" make CD-RW and unformatted DVD-RW re-usable,
or invalidate overwriteable ISO images.
.br
"deformat" converts overwriteable DVD-RW into unformatted ones.
.br
@@ -1779,7 +1789,7 @@ and eventually enables -disk_pattern expansion.
.TP
\fB\-overwrite\fR "on"|"nondir"|"off"
Allow or disallow to overwrite existing files in the
ISO image by files with the same name.
ISO image by files with the same user defined name.
.br
With setting "off", name collisions cause FAILURE events.
With setting "nondir", only directories are protected by such events, other
@@ -1796,38 +1806,15 @@ maps a large disk file onto a ISO directory with several part files in it.
This is necessary if the size of the disk file exceeds -file_size_limit.
Older operating systems can handle files in mounted ISO 9660 filesystems
only if they are smaller than 2 GiB resp. 4 GiB.
See also option -cut_out for more information about file parts.
.br
Default is 0 which will exclude files larger than -file_size_limit by a
FAILURE event.
A well tested -split_size is 2047m. Sizes above -file_size_limit are not
permissible.
.br
While option -split_size is set larger than 0 such a directory with split
file pieces will be recognized and handled like a regular file by options
-compare* , -update*, and in overwrite situations. There are -ossirox
options "concat_split_on" and "concat_split_off" which control the handling
when files get restored to disk.
.br
In order to be recognizable, the names of the part files have to
describe the splitting by 5 numbers:
.br
part_number,total_parts,byte_offset,byte_count,disk_file_size
.br
which are embedded in the following text form:
.br
part_#_of_#_at_#_with_#_of_#
.br
Scaling characters like "m" or "k" are taken into respect.
All digits are interpreted as decimal, even if leading zeros are present.
.br
E.g: /file/part_1_of_3_at_0_with_2047m_of_5753194821
.br
No other files are allowed in the directory. All parts have to be present and
their numbers have to be plausible. E.g. byte_count must be valid as -cut_out
argument and their contents may not overlap.
.TP
.B Settings for result writing:
.PP
.TP
Rock Ridge info will be generated by the program unconditionally.
ACLs will be written according to the setting of option -acl.
.TP
@@ -1906,29 +1893,13 @@ Consider this when setting -volid "ISOIMAGE" before executing -dev, -indev,
or -rollback.
If you insist in -volid "ISOIMAGE", set it again after those commands.
.TP
\fB\-volset_id\fR text
Set the volume set id string to be written with the next -commit.
Permissible are up to 128 characters. This setting gets overridden by
image loading.
.TP
\fB\-publisher\fR text
Set the publisher id string to be written with the next -commit. This may
identify the person or organisation who specified what shall be recorded.
Permissible are up to 128 characters. This setting gets overridden by
image loading.
Set the publisher string to be written with the next -commit. Permissible
are up to 128 characters.
.TP
\fB\-application_id\fR text
Set the application id string to be written with the next -commit. This may
identify the specification of how the data are recorded.
Permissible are up to 128 characters. This setting gets overridden by
image loading.
.TP
\fB\-system_id\fR text
Set the system id string to be written with the next -commit. This may
identify the system which can recognize and act upon the content of the
System Area in image blocks 0 to 15.
Permissible are up to 32 characters. This setting gets overridden by
image loading.
Set the application id string to be written with the next -commit. Permissible
are up to 128 characters.
.TP
\fB\-out_charset\fR character_set_name
Set the character set to which file names get converted when writing an
@@ -1992,19 +1963,6 @@ in order to set an own address limit.
"data" causes full speed to start when superblock and directory entries are
written and writing of file content blocks begins.
.TP
\fB-dvd_obs\fR "default"|"32k"|"64k"
Linux specific:
Set the number of bytes to be transmitted with each write operation to DVD
or BD media. A number of 64 KB may improve throughput with bus systems which
show latency problems. The default depends on media type, on option
-stream_recording , and on compile time options.
.TP
\fB-stdio_sync\fR "on"|"off"|number
Set the number of bytes after which to force output to stdio: pseudo drives.
This forcing keeps the memory from being clogged with lots of
pending data for slow devices. Default "on" is the same as "16m".
Forced output can be disabled by "off".
.TP
\fB\-dummy\fR "on"|"off"
If "on" then simulate burning or refuse with FAILURE event if
no simulation is possible, do neither blank nor format.
@@ -2054,7 +2012,7 @@ can assume overwriteable media.
"discard"|"keep"|"patch"|"show_status"|bootspec
.br
Define the handling of an eventual El Torito object which has
been read from an existing ISO image or define how to make a prepared
been read from an existing ISO image or defines how to make a prepared
ISOLINUX file set bootable.
.br
@@ -2359,9 +2317,9 @@ Drives which are occupied by other processes get not shown.
Show media specific table of content. This is the media session history,
not the ISO image directory tree.
.br
In case of overwriteable media holding a valid ISO image, it may happen that
only a single session gets shown. But if the first session on the
overwriteable media was written by xorriso then a complete
In case of overwriteable media holding a valid ISO image, a single session
gets fabricated from the ISO image size info. But if the first session on the
overwriteable media was written by xorriso then in most cases a complete
session history can be emulated.
.br
A drive which is incapable of writing may show any media as CD-ROM or DVD-ROM
@@ -2380,24 +2338,17 @@ drive can be "indev" or "outdev" to indicate already aquired drives,
or it can be the path of a not yet acquired drive.
Prefix "stdio:" for non-MMC drives is not mandatory.
.br
entity must be either "sbsector" with the superblock sector address as id,
or "track" with a track number as id, or "session" with a session number,
or "volid" with a search pattern for the volume id, or "auto" with any text
as id.
entity must be either "sbsector" , "track" , "session" , "volid"
or "auto". See also option -load.
.br
path will be used as mount point and must already exist as a directory on disk.
id gives the superblock sector address, the track number, the session number,
or a search pattern for the volume id respectively.
.br
path will be used as mount point and must already exist as a directory.
.br
The command gets printed to the result channel. See option -mount
for direct execution of this command.
.TP
\fB\-mount_opts\fR option[:option...]
Set options which influence -mount and -mount_cmd. Currently there is only
option "exclusive" which is default and its counterpart "shared". The latter
causes xorriso not to give up the affected drive with command -mount. On Linux
it adds mount option "loop" which may allow to mount several sessions of
the same block device at the same time. One should not write to a mounted
optical media, of course. Take care to umount all sessions before ejecting.
.TP
\fB\-session_string\fR drive entity id format
Print to the result channel a text which gets composed according to
format and the parameters of the addressed session.
@@ -2425,16 +2376,12 @@ prepared and only in last moment is revoked by this option.
Print available space on output media and the free space after
subtracting already foreseeable consumption by next -commit.
.TP
\fB\-pvd_info\fR
Print various id strings which can be found in loaded ISO images. Some of
them may be changed by options -volid, -publisher, -application_id. For these
ids -pvd_info reports what would be written with the next -commit.
.TP
.B Navigation in ISO image and disk filesystem:
.TP
\fB\-cd\fR iso_rr_path
Change the current working directory in the ISO image.
This is prepended to iso_rr_paths which do not begin with '/'.
Change the current working directory in the emerging ISO
image as it is at the moment. This is prepended to iso_rr_paths
which do not begin with '/'.
.br
It is possible to set the working directory to a path which does not exist
yet in the ISO image. The necessary parent directories will be created when
@@ -2443,7 +2390,7 @@ Use -mkdir if you want to enforce the existence of the directory already at
first insertion.
.TP
\fB\-cdx\fR disk_path
Change the current working directory in the local filesystem.
Change the current working directory on filesystem.
To be prepended to disk_paths which do not begin with '/'.
.TP
\fB\-pwd\fR
@@ -2452,13 +2399,13 @@ Tell the current working directory in the ISO image.
.TP
\fB\-pwdx\fR
.br
Tell the current working directory in the local filesystem.
Tell the current working directory on local filesystem.
.TP
\fB\-ls\fR iso_rr_pattern [***]
List files in the ISO image which match shell patterns
(i.e. with wildcards '*' '?' '[a-z]').
If a pattern does not begin with '/' then it is compared with addresses
relative to -cd.
relative to -cd, the current working directory in the ISO image.
.br
Directories are listed by their content rather than as single file item.
.br
@@ -2477,8 +2424,9 @@ Like -lsd but also list some of the file attributes.
The output format resembles shell command ls -dln.
.TP
\fB\-lsx\fR disk_pattern [***]
List files in the local filesystem which match shell patterns. Patterns which
do not begin with '/' are used relative to -cdx.
List files on local filesystem which match shell patterns. Patterns which do
not begin with '/' are used relative to -cdx, the current working directory in
the local filesystem.
.br
Directories are listed by their content rather than as single file item.
.br
@@ -2526,7 +2474,7 @@ Similar to shell command du -sk.
.TP
\fB\-dux\fR disk_pattern [***]
Recursively list size of directories and files in the local filesystem
which match one of the patterns. Similar to shell command du -k.
which match one of the patterns, similar to shell command du -k.
.TP
\fB\-dusx\fR disk_pattern [***]
List size of directories and files in the local filesystem
@@ -2543,7 +2491,7 @@ different device than their parent. It never matches the disk_path
given as start address for -findx.
.br
-findx accepts the -exec actions as does -find. But except the following few
actions it will always perform action "echo".
actions it will allways perform action "echo".
.br
\fBin_iso\fR reports the path if its counterpart exist in the ISO image.
For this the disk_path of the -findx command gets replaced
@@ -2641,12 +2589,12 @@ of blocks and quality. Qualities which begin with "+" are
supposed to be valid readable data. Qualities with "-" are unreadable or
corrupted data.
"0" indicates qualities which are not covered by the check run or are regularly
allowed to be unreadable (e.g. gaps between tracks).
allowed to to be unreadable (e.g. gaps between tracks).
.br
Alternatively it is possible to report damaged files rather than blocks.
.br
If -md5 is "on" then the default mode what=tracks looks out for libisofs
checksum tags for the ISO session data and eventually checks them
If -md5 is on then the default mode what=tracks looks out for libisofs
checksum tags for the ISO session data and and eventually checks them
against the checksums computed from the data stream.
.TP
\fB\-check_media_defaults\fR [option [option ...]] --
@@ -2667,8 +2615,6 @@ abort_file=/var/opt/xorriso/do_abort_check_media
.br
sector_map='' map_with_volid=off patch_lba0=off report=blocks
.br
bad_limit=valid slow_limit=1.0 chunk_size=0s
.br
Option "reset=now" restores these startup defaults.
.br
Non-default options are:
@@ -2739,16 +2685,6 @@ have an -indev and a loaded image. ":force" may be appended after the number.
.br
"use=sector_map" does not read any media but loads the file given by option
sector_map= and processes this virtual outcome.
.br
"bad_limit=" sets the highest quality which shall be considered as damage.
Choose one of "good", "md5_match", "slow", "partial", "valid", "untested",
"invalid", "tao_end", "off_track", "md5_mismatch", "unreadable".
.br
"slow_limit=" sets the time threshold for a single read chunk to be considered
slow. This may be a fractional number like 0.1 or 1.5.
.br
"chunk_size=" sets the number of bytes to be read in one read operation.
This gets rounded down to full blocks of 2048 bytes. 0 means automatic size.
.TP
\fB\-check_md5\fR severity iso_rr_path [***]
Compare the data content of the given files in the loaded image with their
@@ -2773,7 +2709,7 @@ Only mismatching data files will be reported.
.PP
Normally xorriso only writes to disk files which were given as stdio:
pseudo-drives or as log files.
But its alter ego osirrox is able to extract file objects
But its alter ego, osirrox, is able to extract file objects
from ISO images and to create, overwrite, or delete file objects on disk.
.br
Disk file exclusions by -not_mgt, -not_leaf, -not_paths apply.
@@ -2816,23 +2752,15 @@ allows to restore large numbers of hard links without exhausting
-temp_mem_limit. It does not preserve directory mtime and it needs
-osirrox option auto_chmod_on in order to extract directories which offer no
write permission. Default is "sort_lba_off".
.br
Option "o_excl_on" is the default unless the program was started with leafname
"osirrox". On Linux it tries to avoid using drives which are mounted or in
use by other libburn programs.
Option "o_excl_off" allows on Linux to access such drives. Drives which
get aquired while "o_excl_off" will refuse to get blanked, formatted,
written, or ejected. But be aware that even harmless inquiries can spoil
ongoing burns of CD-R[W] and DVD-R[W].
.TP
\fB\-extract\fR iso_rr_path disk_path
Copy the file objects at and underneath iso_rr_path to their corresponding
Restore the file objects at and underneath iso_rr_path to their corresponding
addresses at and underneath disk_path.
This is the inverse of -map or -update_r.
.br
If iso_rr_path is a directory and disk_path is an existing directory then
both trees will be merged. Directory attributes get extracted only if the disk
directory is newly created by the copy operation.
directory is newly created by the restore operation.
Disk files get removed only if they are to be replaced
by file objects from the ISO image.
.br
@@ -2861,8 +2789,8 @@ is performed. It may be quicker and more rugged than the general reading
method.
.TP
\fB\-cpx\fR iso_rr_path [***] disk_path
Copy single leaf file objects from the ISO image to the address given by
disk_path. If more then one iso_rr_path is given then
Extract single leaf file objects from the ISO image and store them under
the address given by disk_path. If more then one iso_rr_path is given then
disk_path must be a directory or non-existent. In the latter case it gets
created and the extracted files get installed in it with the same leafnames.
.br
@@ -2895,7 +2823,7 @@ This is the inverse of option -cut_out.
.TP
\fB\-mount\fR drive entity id path
Produce the same line as -mount_cmd and then execute it as external program run
after giving up the depicted drive. See also -mount_opts.
after giving up the depicted drive.
This demands -osirrox to be enabled and normally will succeed only for the
superuser. For safety reasons the mount program is only executed if it is
reachable as /bin/mount or /sbin/mount.
@@ -2940,19 +2868,17 @@ If pathspecs are given and if no output file was chosen before or during the
"mkisofs" option list, then standard output (-outdev "-") will get into effect.
If -o points to a regular file, then it will be truncated to 0 bytes
when finally writing begins. This truncation does not happen if the drive
is chosen by xorriso options before -as mkisofs or after its list delimiter.
is chosen by xorriso options before or after -as mkisofs.
Directories and symbolic links are no valid -o targets.
.br
Writing to stdout is possible only if -as "mkisofs" was among the start
arguments or if other start arguments pointed the output drive to
standard output.
.br
Not original mkisofs options are --quoted_path_list , --hardlinks , --acl ,
--xattr , --md5 , --stdio_sync . They work like the xorriso options with the
same name and hardcoded argument "on", e.g. -acl "on".
Explicit arguments are expected by --stdio_sync and --scdbackup_tag.
.br
Quite special is isolinux_mbr= (see -boot_image isolinux isohybrid=).
Not original mkisofs options are --quoted_path_list (see -quoted_path_list),
isolinux_mbr= (see -boot_image isolinux isohybrid=),
--hardlinks (see -hardlinks "on") --acl (see -acl "on"),
--xattr (see -xattr "on").
.br
Personalites "\fBxorrisofs\fR", "\fBgenisoimage\fR", and "\fBgenisofs\fR"
are aliases for "mkisofs".
@@ -3020,18 +2946,6 @@ X of Y MB written (fifo nn%) [buf mmm%]
.br
nn% done, estimate finish Tue Jul 15 20:13:28 2008
.TP
\fB\-scdbackup_tag\fR list_path record_name
Set the parameter "name" for a scdbackup checksum record.
It will be appended in an scdbackup checksum tag to the -md5 session tag if
the image starts at LBA 0. This is the case if it gets written as first
session onto a sequential media, or piped into a program, named pipe or
character device.
.br
If list_path is not empty then the record will also be appended to the
data file given by this path.
.br
Program scdbackup_verify will recognize and verify tag resp. record.
.TP
.B Scripting, dialog and program control features:
.TP
\fB\-no_rc\fR
@@ -3053,7 +2967,7 @@ Print program name and version.
\fB\-history\fR textline
Copy textline into libreadline history.
.TP
\fB\-status\fR mode|filter
\fB\-status\fR [mode|filter]
Print the current settings of xorriso.
Modes:
.br
@@ -3164,7 +3078,7 @@ The first three items are single words, the rest of the line is the volume id.
End program immediately
.TP
\fB#\fR any text
Only in dialog or file execution mode, and only as first
In dialog or file execution mode only and only as first
non-whitespace in line:
Do not execute the line but eventually store it in history.
.TP
@@ -3190,18 +3104,17 @@ Example:
I:1: enter option and arguments :
.TP
\fB\-logfile\fR channel fileaddress
Copy output of a channel to the given file. Channel may be one of: "." for all
channels, "I" for info messages, "R" for result lines, "M" for -mark texts.
Copy output of a channel to the given file.
.TP
\fB\-mark\fR text
If text is not empty it will get put out each time after a dialog line has been
processed.
If text is not empty it will get put out each time an
action has been completed.
.TP
\fB\-prog\fR text
Use text as name of this program in subsequent messages
Use text as this program's name in subsequent messages
.TP
\fB\-prog_help\fR text
Use text as name of this program and perform -help.
Use text as this program's name and perform -help.
.br
.SH EXAMPLES
.SS
@@ -3212,7 +3125,7 @@ Blank media and compose a new ISO image as batch run
.br
A dialog session doing about the same
.br
Manipulate an existing ISO image on the same media
Manipulating an existing ISO image on the same media
.br
Copy modified ISO image from one media to another
.br
@@ -3222,8 +3135,6 @@ Change existing file name tree from ISO-8859-1 to UTF-8
.br
Operate on storage facilities other than optical drives
.br
Burn an existing ISO image file to media
.br
Perform multi-session runs as of cdrtools traditions
.br
Let xorriso work underneath growisofs
@@ -3270,7 +3181,7 @@ session to media.
.br
The ISO image may be shaped in a more elaborate way like the following:
Omit some unwanted stuff by removing it from the image directory tree.
Reintroduce some wanted stuff.
Re-add some wanted stuff.
.br
\fB$\fR cd /home/me
.br
@@ -3294,16 +3205,15 @@ Reintroduce some wanted stuff.
.br
-cd / \\
.br
-add pictures/confidential/work* --
-add pictures/confidential/work*
.br
Note that '/pictures/*private*' is a pattern for iso_rr_paths
while pictures/confidential/work* gets expanded by the shell
with addresses from the hard disk. Options -add and -map have different
argument rules but finally the same effect: they put files into the image.
with addresses from the hard disk.
.SS
.B A dialog session doing about the same
.br
Some settings are already given as start argument. The other activities
-pathspecs is already given as start argument. The other activities
are done as dialog input. The pager gets set to 20 lines of 80 characters.
.br
The drive is aquired by option -dev rather than -outdev in order to see
@@ -3345,16 +3255,15 @@ enter option and arguments :
.br
enter option and arguments :
.br
.B \-commit_eject all -end
.B \-commit -eject all -end
.br
.SS
.B Manipulate an existing ISO image on the same media
.B Manipulating an existing ISO image on the same media
Load image from drive.
Remove (i.e. hide) directory /sounds and its subordinates.
Rename directory /pictures/confidential to /pictures/restricted.
Change access permissions of directory /pictures/restricted.
Add new directory trees /sounds and /movies.
Burn to the same media, check whether the tree can be loaded, and eject.
Add new directory trees /sounds and /movies. Burn to the same media and eject.
.br
\fB$\fR xorriso -dev /dev/sr2 \\
.br
@@ -3428,8 +3337,7 @@ Paths underneath /dev normally need prefix "stdio:"
.br
If /dev/sdb is to be used frequently and /dev/sda is the system disk,
then consider to place the following lines in a xorriso Startup File.
They allow to use /dev/sdb without prefix and protect disk /dev/sda
from xorriso:
They allow to use /dev/sdb without prefix and protect your disk from xorriso:
.br
-drive_class banned /dev/sda*
-drive_class harmless /dev/sdb
@@ -3446,9 +3354,6 @@ Among the write-only drives is standard output:
.br
| gzip >image.iso.gz
.SS
.B Burn an existing ISO image file to media
\fB$\fR xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed image.iso
.SS
.B Perform multi-session runs as of cdrtools traditions
Between both processes there can be performed arbitrary transportation
or filtering.
@@ -3649,9 +3554,6 @@ Avoid to eventually create /home/thomas/restored without rwx-permission.
-extract /personal_mail /home/thomas/restored/personal_mail \\
.br
-rollback_end
.br
The final command -rollback_end prevents an error message about the altered
image being discarded.
.SS
.B Try to retrieve as many blocks as possible from a damaged media
.br
@@ -3665,6 +3567,9 @@ This can be repeated several times, eventually with -eject or with other
-indev drives. See the human readable part of "$HOME"/dvd_copy.map for
addresses which can be used on "$HOME"/dvd_copy with mount option -o sbsector=
resp. -s.
.br
If you want to make the newest session the default mount session, you
may add option "patch_lba0=on" to the final -check_media run.
.SH FILES
.SS
.B Startup files:
@@ -3691,7 +3596,7 @@ The default setting of -check_media abort_file= is:
.br
.SH SEE ALSO
.TP
For mounting xorriso generated ISO 9660 images (-t iso9660)
For mounting xorriso generated ISO 9660 images
.br
.BR mount(8)
.TP

File diff suppressed because it is too large Load Diff

View File

@@ -16,7 +16,7 @@
struct XorrisO;
#define Xorriso_program_versioN "0.4.6"
#define Xorriso_program_versioN "0.4.2"
/* --------------------- Fundamental Management ------------------- */
@@ -36,14 +36,10 @@ char *Xorriso__get_version_text(int flag);
@param progname typically argv[0] of main(). Some leafnames of the progname
path have special meaning and trigger special behavior:
"osirrox" allows image-to-disk copying: -osirrox "on"
"xorrisofs" activates -as "mkisofs" emulation from start
"xorrisofs" activates permanent mkisofs emulation
"genisofs" alias of "xorrisofs"
"mkisofs" alias of "xorrisofs"
"genisoimage" alias of "xorrisofs"
"xorrecord" activates -as "cdrecord" emulation from start
"cdrecord" alias of "xorrecord"
"wodim" alias of "xorrecord"
"cdrskin" alias of "xorrecord"
@param flag unused yet, submit 0
@return >0 success , <=0 failure, no object created
*/
@@ -106,12 +102,6 @@ int Xorriso_read_rc(struct XorrisO *xorriso, int flag);
@param argc Number of arguments.
@param argv The arguments. (*argv)[0] contains the program name.
(*argv)[1] to (*argv)[argc-1] contain commands and parameters
If argv after the call differs from argv before the call,
then one should dispose it later by:
for(i= 0; i < argc; i++)
if(argv[i] != NULL)
free(argv[i]);
free(argv);
@param flag unused yet, submit 0
@return <= 0 error , > 0 success
*/
@@ -268,7 +258,8 @@ int Xorriso_set_problem_status(struct XorrisO *xorriso, char *severity,
/* The next two functions are part of Xorriso_eval_problem_status().
You may use them to build an own advisor function.
You may use them to build an own advisor function or to drain the
library message queues more frequently.
*/
/** Obtain the current problem status of the xorriso handle.
@@ -286,10 +277,7 @@ int Xorriso_get_problem_status(struct XorrisO *xorriso, char severity[80],
the severity of the library events like the severity of a message submitted
via Xorriso_msgs_submit().
xorriso sets the message queues of the libraries to queuing "ALL".
Many inner functions of xorriso call Xorriso_process_msg_queues() on their
own because they expect library output pending. Nevertheless, a loop of
xorriso option calls should either call Xorriso_eval_problem_status() or
Xorriso_process_msg_queues() with each cycle.
So it is essential that they get drained regularly.
@param xorriso The environment handle
@param flag Unused yet. Submit 0.
@return 1 on success, <=0 if failure
@@ -497,9 +485,6 @@ int Xorriso_option_blank(struct XorrisO *xorriso, char *mode, int flag);
int Xorriso_option_boot_image(struct XorrisO *xorriso, char *form,
char *treatment, int flag);
/* Option -calm_drive */
int Xorriso_option_calm_drive(struct XorrisO *xorriso, char *which, int flag);
/* Option -cd alias -cdi */
int Xorriso_option_cdi(struct XorrisO *xorriso, char *iso_rr_path, int flag);
@@ -614,9 +599,6 @@ int Xorriso_option_drive_class(struct XorrisO *xorriso,
/* Option -dummy "on"|"off" */
int Xorriso_option_dummy(struct XorrisO *xorriso, char *mode, int flag);
/* Option -dvd_obs "default"|"32k"|"64k" */
int Xorriso_option_dvd_obs(struct XorrisO *xorriso, char *obs, int flag);
/* Option -eject */
/* @param flag bit0=do not report toc of eventually remaining drives
*/
@@ -701,10 +683,6 @@ int Xorriso_option_list_delimiter(struct XorrisO *xorriso, char *text,
/* Option -list_formats */
int Xorriso_option_list_formats(struct XorrisO *xorriso, int flag);
/* Option -list_profiles */
int Xorriso_option_list_profiles(struct XorrisO *xorriso, char *which,
int flag);
/* Option -load session|track|sbsector value */
/* @param flag bit0= with adr_mode sbsector: adr_value is possibly 16 too high
@return <=0 error , 1 success, 2 revoked by -reassure
@@ -762,16 +740,12 @@ int Xorriso_option_md5(struct XorrisO *xorriso, char *mode, int flag);
int Xorriso_option_mkdiri(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
/* Options -mount , -mount_cmd , -session_string */
/* @param bit0= -mount_cmd: print mount command to result channel rather
than performing it
bit1= perform -session_string rather than -mount_cmd
*/
/* Option -mount */
/* @param bit0= print mount command to result channel rather than performing it
*/
int Xorriso_option_mount(struct XorrisO *xorriso, char *dev, char *adr_mode,
char *adr, char *cmd, int flag);
/* Option -mount_opts option[:...] */
int Xorriso_option_mount_opts(struct XorrisO *xorriso, char *mode, int flag);
/* Option -mv alias -mvi */
int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
@@ -842,9 +816,6 @@ int Xorriso_option_prog_help(struct XorrisO *xorriso, char *name, int flag);
/* Option -publisher */
int Xorriso_option_publisher(struct XorrisO *xorriso, char *name, int flag);
/* Option -pvd_info */
int Xorriso_option_pvd_info(struct XorrisO *xorriso, int flag);
/* Option -pwd alias -pwdi */
int Xorriso_option_pwdi(struct XorrisO *xorriso, int flag);
@@ -884,10 +855,6 @@ int Xorriso_option_rollback(struct XorrisO *xorriso, int flag);
int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode,
int flag);
/* Option -scdbackup_tag */
int Xorriso_option_scdbackup_tag(struct XorrisO *xorriso, char *list_path,
char *record_name, int flag);
/* Option -session_log */
int Xorriso_option_session_log(struct XorrisO *xorriso, char *path, int flag);
@@ -930,16 +897,10 @@ int Xorriso_option_status(struct XorrisO *xorriso, char *mode, int flag);
int Xorriso_option_status_history_max(struct XorrisO *xorriso, int num1,
int flag);
/* Option -stdio_sync "on"|"off"|size */
int Xorriso_option_stdio_sync(struct XorrisO *xorriso, char *rythm, int flag);
/* Option -stream_recording */
int Xorriso_option_stream_recording(struct XorrisO *xorriso, char *mode,
int flag);
/* Option -system_id */
int Xorriso_option_system_id(struct XorrisO *xorriso, char *name, int flag);
/* Option -tell_media_space */
int Xorriso_option_tell_media_space(struct XorrisO *xorriso, int flag);
@@ -975,9 +936,6 @@ int Xorriso_option_version(struct XorrisO *xorriso, int flag);
/* Option -volid */
int Xorriso_option_volid(struct XorrisO *xorriso, char *volid, int flag);
/* Option -volset_id */
int Xorriso_option_volset_id(struct XorrisO *xorriso, char *name, int flag);
/* Option -xattr "on"|"off" */
int Xorriso_option_xattr(struct XorrisO *xorriso, char *mode, int flag);

View File

@@ -25,7 +25,7 @@ session-wise manipulation of such filesystems. It can load the management
information of existing ISO images and it writes the session results to
optical media or to filesystem objects.
<BR>
Vice versa xorriso is able to copy file objects out of ISO 9660 filesystems.
Vice versa xorriso is able to restore file objects from ISO 9660 filesystems.
</P>
<P>
@@ -429,10 +429,10 @@ files or trees to disk:
<P>
<DL>
<DT><H3>Download as source code (see README):</H3></DT>
<DD><A HREF="xorriso-0.4.6.pl00.tar.gz">xorriso-0.4.6.pl00.tar.gz</A>
(1340 KB).
<DD><A HREF="xorriso-0.4.2.pl01.tar.gz">xorriso-0.4.2.pl01.tar.gz</A>
(1295 KB).
</DD>
<DD>(Released 08 Dec 2009)</DD>
<DD>(Released 29 Aug 2009)</DD>
</DL>
</DD>
</DL>
@@ -457,30 +457,35 @@ an <A HREF="http://www.opensource.org/">Open Source</A> approved license</DD>
<HR>
<P>
Bug fixes towards xorriso-0.4.4.pl00:
Bug fixes towards xorriso-0.4.0.pl00:
<UL>
<LI>Workaround for Pioneer DVR-216D which got stuck on DVD-R burns.</LI>
<LI>Workaround for Pioneer DVR-216D which did not always eject the tray.</LI>
<LI>SIGSEGV from NULL pointer with option -toc on LG GH22LS30</LI>
<LI>xorriso -as mkisofs did not understand the -C option of growisofs any more
<LI>Option -devices stalled if a U3 enhanced memory stick was present</LI>
<!--
<LI>- none -</LI>
-->
</UL>
</P>
<!--
<P>
Bug fixes towards xorriso-0.4.4.pl00:
Bug fixes towards xorriso-0.4.2.pl00:
<UL>
<LI>-cut_out deleted previously cut-out pieces of the same file</LI>
</UL>
</P>
-->
<P>
Enhancements towards previous stable version xorriso-0.4.4.pl00:
Enhancements towards previous stable version xorriso-0.4.0.pl00:
<UL>
<LI>New options -dvd_obs and -stdio_sync</LI>
<LI>New configure option --enable-dvd-obs-64k</LI>
<LI>New option -md5, new -as mkisofs option --md5</LI>
<LI>New options -check_md5, -check_md5_r</LI>
<LI>New find actions check_md5 get_md5, get_any_xattr, make_md5</LI>
<LI>New find tests -has_md5, -has_any_xattr</LI>
<LI>New option -list_profiles</LI>
<LI>New option -calm_drive</LI>
<LI>Options -lsl and -lsdl now display correct link counts if -hardlinks is on
<!--
<LI>- none -</LI>
-->
@@ -494,16 +499,16 @@ Enhancements towards previous stable version xorriso-0.4.4.pl00:
Library copies included in xorriso tarballs:
</H3>
<DL>
<DT>libburn-0.7.5</DT>
<DT>libburn-0.7.1</DT>
<DD>reads and writes data from and to CD, DVD, BD.</DD>
<DD>(founded by Derek Foreman and Ben Jansens,
developed and maintained since August 2006 by
Thomas Schmitt from team of libburnia-project.org)</DD>
<DT>libisofs-0.6.25</DT>
<DT>libisofs-0.6.23</DT>
<DD>operates on ISO 9660 filesystem images.</DD>
<DD>(By Vreixo Formoso, Mario Danic and Thomas Schmitt
from team of libburnia-project.org)</DD>
<DT>libisoburn-0.4.6</DT>
<DT>libisoburn-0.4.2</DT>
<DD>coordinates libburn and libisofs, emulates multi-session where needed.</DD>
<DD>(By Vreixo Formoso and Thomas Schmitt
from team of libburnia-project.org)</DD>
@@ -517,27 +522,33 @@ cdrecord and mkisofs.</DT>
<P>
<DL>
<DT><H3>Development snapshot, version 0.4.7 :</H3></DT>
<DD>Bug fixes towards xorriso-0.4.6.pl00:
<DT><H3>Development snapshot, version 0.4.3 :</H3></DT>
<DD>Bug fixes towards xorriso-0.4.2.pl00:
<UL>
<LI>-cut_out deleted previously cut-out pieces of the same file</LI>
<LI>-for_backup did not enable -xattr and -md5 if no drive was chosen yet</LI>
<LI>With -as cdrecord : -xa1 and -xamix were ignored although they do matter</LI>
<LI>xorrisofs -help, xorrecord -help displayed original xorriso -help</LI>
<!--
<LI>- none yet -</LI>
-->
</UL>
</DD>
<DD>Enhancements towards stable version 0.4.6.pl00:
<DD>Enhancements towards stable version 0.4.2.pl01:
<UL>
</LI>
<LI>- none yet -</LI>
<LI>New option -scdbackup_tag</LI>
<LI>Option -toc now reports "Media product:"</LI>
<!--
<LI>- none yet -</LI>
-->
</UL>
</DD>
<DD>&nbsp;</DD>
<DD><A HREF="README_xorriso_devel">README 0.4.7</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.4.7 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.7)</A></DD>
<DD><A HREF="README_xorriso_devel">README 0.4.3</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.4.3 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.3)</A></DD>
<DD>&nbsp;</DD>
<DT>If you want to distribute development versions of xorriso, then use
this tarball which produces static linking between xorriso and the
@@ -547,8 +558,8 @@ libburnia libraries.
installation see README)
</DD>
<DD>
<A HREF="xorriso-0.4.7.tar.gz">xorriso-0.4.7.tar.gz</A>
(1340 KB).
<A HREF="xorriso-0.4.3.tar.gz">xorriso-0.4.3.tar.gz</A>
(1310 KB).
</DD>
<DT>A dynamically linked development version of xorriso can be obtained
from repositories of

View File

@@ -22,8 +22,7 @@ xorriso_xorriso_CPPFLAGS = -I./libburn -I./libisofs -I./libisoburn -I./xorriso
# are in a separate readline-development package.
xorriso_xorriso_CFLAGS = -DXorriso_standalonE -DXorriso_with_maiN \
$(READLINE_DEF) $(LIBACL_DEF) $(XATTR_DEF) \
$(EXTF_DEF) $(EXTF_SUID_DEF) $(ZLIB_DEF) \
$(XORRISO_DVD_OBS_64K) $(LIBBURN_O_DIRECT_DEF)
$(EXTF_DEF) $(EXTF_SUID_DEF) $(ZLIB_DEF)
xorriso_xorriso_LDADD = $(THREAD_LIBS) $(LIBBURN_ARCH_LIBS)
@@ -124,13 +123,13 @@ xorriso_xorriso_SOURCES = \
libburn/debug.h \
libburn/drive.c \
libburn/drive.h \
libburn/ecma130ab.c \
libburn/ecma130ab.h \
libburn/error.h \
libburn/file.c \
libburn/file.h \
libburn/init.c \
libburn/init.h \
libburn/lec.c \
libburn/lec.h \
libburn/libburn.h \
libburn/libdax_audioxtr.h \
libburn/libdax_audioxtr.c \

View File

@@ -131,11 +131,6 @@ struct XorrisO { /* the global context of xorriso */
bit4= use recorded MD5 as proxy of ISO file
*/
char scdbackup_tag_name[81];
char scdbackup_tag_time[19];
char scdbackup_tag_written[512];
char scdbackup_tag_listname[SfileadrL];
int relax_compliance; /* opaque bitfield to be set by xorrisoburn */
int do_follow_pattern;
int do_follow_param;
@@ -170,8 +165,6 @@ struct XorrisO { /* the global context of xorriso */
char publisher[129];
char application_id[129];
char system_id[33];
char volset_id[129];
char session_logfile[SfileadrL];
int session_lba;
@@ -187,8 +180,6 @@ struct XorrisO { /* the global context of xorriso */
scan -ROM profiles for ISO sessions
bit1= bit4 for isoburn_drive_aquire()
do not emulate TOC on overwriteable media
bit2= bit7 for isoburn_drive_aquire()
pretend any media to be -ROM
*/
int image_start_mode; /* From what address to load the ISO image
@@ -208,16 +199,12 @@ struct XorrisO { /* the global context of xorriso */
*/
char image_start_value[81]; /* value according image_start_mode */
int drives_exclusive; /* burn_preset_device_open() param exclusive */
int do_calm_drive; /* bit0= calm down drive after aquiring it */
char indev[SfileadrL];
void *in_drive_handle; /* interpreted only by xorrisoburn.c */
void *in_volset_handle; /* interpreted only by xorrisoburn.c */
char *in_charset; /* The charset to interpret the filename bytes */
int indev_is_exclusive;
time_t isofs_st_out; /* A time point at least 1 second before image
composition began. To be stored with image as
xattr "isofs.st". */
@@ -228,7 +215,6 @@ struct XorrisO { /* the global context of xorriso */
int no_volset_present; /* set to 1 on first failure */
struct CheckmediajoB *check_media_default;
int check_media_bad_limit; /* values defined as Xorriso_read_quality_* */
struct SectorbitmaP *in_sector_map; /* eventual sector validity bitmap */
@@ -238,7 +224,6 @@ struct XorrisO { /* the global context of xorriso */
int dev_fd_1; /* The fd which substitutes for /dev/fd/1 and is
connected to externaly perveived stdout.
*/
int outdev_is_exclusive;
int grow_blindly_msc2; /* if >= 0 this causes growing from drive to drive.
The value is used as block address offset for
@@ -259,9 +244,6 @@ struct XorrisO { /* the global context of xorriso */
int do_stream_recording; /* 0=no, 1=yes, 2=for data, not for dir
>=16 means yes with number as start LBA */
int dvd_obs; /* DVD write chunk size: 0, 32k or 64k */
int stdio_sync; /* stdio fsync interval: -1, 0, >=32 */
int keep_boot_image;
int patch_isolinux_image;
char boot_image_bin_path[SfileadrL];
@@ -293,14 +275,6 @@ struct XorrisO { /* the global context of xorriso */
tree traversal. Better read performance,
no directory mtime restore, needs do_auto_chmod
*/
int mount_opts_flag; /* bit0= "shared" = not "exclusive"
Try to emit non-exclusive mount command.
Do not give up drives.
Linux: use loop device even on block devices
in order to circumvent the ban to mount a
device twice (with different sbsector=)
FreeBSD: ?
*/
int dialog; /* 0=off , 1=single-line , 2=multi-line */
@@ -473,6 +447,9 @@ struct XorrisO { /* the global context of xorriso */
};
/* @param flag bit0= do not set hln_change_pending */
int Xorriso_set_change_pending(struct XorrisO *xorriso, int flag);
int Xorriso_prepare_regex(struct XorrisO *xorriso, char *adr, int flag);
int Xorriso_result(struct XorrisO *xorriso, int flag);
@@ -707,10 +684,6 @@ int Xorriso_compare_2_files(struct XorrisO *xorriso, char *disk_adr,
int Xorriso_report_md5_outcome(struct XorrisO *xorriso, char *severity,
int flag);
int Xorriso_append_scdbackup_record(struct XorrisO *xorriso, int flag);
int Xorriso_may_burn(struct XorrisO *xorriso, int flag);
int Sfile_str(char target[SfileadrL], char *source, int flag);
@@ -1184,8 +1157,6 @@ int Splitparts_get(struct SplitparT *o, int idx, char **name, int *partno,
int Splitpart__parse(char *name, int *partno, int *total_parts,
off_t *offset, off_t *bytes, off_t *total_bytes, int flag);
int Splitpart__is_part_path(char *path, int flag);
int Splitpart__compose(char *adr, int partno, int total_parts,
off_t offset, off_t bytes, off_t total_bytes, int flag);
@@ -1215,8 +1186,7 @@ int Spotlist_sector_size(struct SpotlisT *o, int read_chunk, int flag);
int Spotlist_get_item(struct SpotlisT *o, int idx,
int *start_lba, int *blocks, int *quality, int flag);
char *Spotlist__quality_name(int quality, char name[80], int bad_limit,
int flag);
char *Spotlist__quality_name(int quality, char name[80], int flag);
#define Xorriso_read_quality_gooD 0x7fffffff
@@ -1238,7 +1208,8 @@ struct CheckmediajoB {
int min_lba; /* if >=0 : begin checking at this address */
int max_lba; /* if >=0 : read up to this address, else use mode */
int min_block_size; /* granularity desired by user
int min_block_size; /* >>> not yet implemented:
granularity desired by user
*/
int mode; /* 0= track by track
1= single sweep over libisoburn media capacity
@@ -1277,14 +1248,6 @@ struct CheckmediajoB {
discovered.
*/
double slow_threshold_seq; /* Time limit in seconds for the decision whether
a read operation is considered slow. This does
not apply to thr first read of an interval.
*/
int untested_valid; /* 1= mark untested data blocks as valid when calling
Xorriso_spotlist_to_sectormap()
*/
};
int Checkmediajob_new(struct CheckmediajoB **o, int flag);

View File

@@ -1 +1 @@
#define Xorriso_timestamP "2009.12.08.130001"
#define Xorriso_timestamP "2009.09.22.153001"

File diff suppressed because it is too large Load Diff

View File

@@ -19,7 +19,7 @@
*/
#define xorriso_libisoburn_req_major 0
#define xorriso_libisoburn_req_minor 4
#define xorriso_libisoburn_req_micro 6
#define xorriso_libisoburn_req_micro 2
struct SpotlisT; /* List of intervals with different read qualities */
@@ -480,14 +480,6 @@ int Xorriso_md5_end(struct XorrisO *xorriso, void **ctx, char md5[16],
*/
int Xorriso_drive_snooze(struct XorrisO *xorriso, int flag);
int Xorriso_is_plain_image_file(struct XorrisO *xorriso, void *in_node,
char *path, int flag);
int Xorriso_pvd_info(struct XorrisO *xorriso, int flag);
/* @param flag bit0= do not set hln_change_pending */
int Xorriso_set_change_pending(struct XorrisO *xorriso, int flag);
/* A pseudo file type for El-Torito bootsectors as in man 2 stat :
For now take the highest possible value.