[-]
[+]
|
Changed |
xorriso.changes
|
|
[-]
[+]
|
Changed |
xorriso.spec
^
|
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/ChangeLog
^
|
@@ -1,4 +1,19 @@
-SVN trunk (to become libisoburn-1.2.0.tar.gz or higher)
+libisoburn-1.2.2.tar.gz Mon Apr 02 2012
+===============================================================================
+* New API calls isoburn_get_attached_start_lba(), isoburn_attach_start_lba()
+* New API calls isoburn_igopt_set_rr_reloc(), isoburn_igopt_get_rr_reloc()
+* New API calls isoburn_ropt_set_data_cache(), isoburn_ropt_get_data_cache()
+* New commands -x, -list_arg_sorting
+* New command -rr_reloc_dir
+* New command -data_cache_size
+* New -as mkisofs option -rr_reloc, implemented option -hide-rr-moved
+* Now ignoring -as mkisofs -no-split-symlink-components -no-split-symlink-fields
+* Bug fix: -osirrox on:sort_lba_on -extract from / restored nearly nothing
+* Bug fix: -as mkisofs without -graft-points could not handle names with "="
+* Bug fix: Relaxation options joliet_rec_mtime and iso1999_rec_mtime had wrong values
+
+
+libisoburn-1.2.0.tar.gz Sat Jan 28 2012
===============================================================================
* Bug fix: mkisofs emulation did not record mtime in ECMA-119 directories
* Bug fix: Program abort while drive tray is loading led to endless loop
@@ -8,7 +23,6 @@
isoburn_igopt_iso1999_rec_mtime
* Made -compliance "rec_mtime" default for xorriso
-
libisoburn-1.1.8.tar.gz Mon Nov 21 2011
===============================================================================
* Info document and man page for xorrecord
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/README
^
|
@@ -4,7 +4,7 @@
GNU xorriso. By Thomas Schmitt <scdbackup@gmx.net>
Derived from and supported by libburnia-project.org, published via:
http://www.gnu.org/software/xorriso/xorriso_eng.html
-http://www.gnu.org/software/xorriso/xorriso-1.2.0.tar.gz
+http://www.gnu.org/software/xorriso/xorriso-1.2.2.tar.gz
Provided under GPL version 3 or later. No warranty.
------------------------------------------------------------------------------
@@ -46,10 +46,10 @@
If they were present at compile time, then the optional libraries have to
be present at runtime, too.
-Obtain xorriso-1.2.0.tar.gz, take it to a directory of your choice and do:
+Obtain xorriso-1.2.2.tar.gz, take it to a directory of your choice and do:
- tar xzf xorriso-1.2.0.tar.gz
- cd xorriso-1.2.0
+ tar xzf xorriso-1.2.2.tar.gz
+ cd xorriso-1.2.2
Within that directory execute:
@@ -316,9 +316,9 @@
This binary is very lean but depends on properly installed libraries of
suitable revision.
-Dynamic library and compile time header requirements for libisoburn-1.2.0 :
+Dynamic library and compile time header requirements for libisoburn-1.2.2 :
- libburn.so.4 , version libburn-1.2.0 or higher
-- libisofs.so.6 , version libisofs-1.2.0 or higher
+- libisofs.so.6 , version libisofs-1.2.2 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.
@@ -387,7 +387,7 @@
The following settings will make pfexec keep original UID and EUID and prevent
most superuser powers. Be aware that you still can manipulate all device files
if you have the file permissions for that.
-Full root privileges for xorriso can then be aquired only by command su.
+Full root privileges for xorriso can then be acquired only by command su.
Edit /etc/security/exec_attr and add this line to the other "Media Backup"
lines:
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/config.status
^
|
@@ -275,7 +275,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libisoburn $as_me 1.1.9, which was
+This file was extended by libisoburn $as_me 1.2.1, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -314,9 +314,9 @@
Report bugs to <bug-autoconf@gnu.org>."
ac_cs_version="\
-libisoburn config.status 1.1.9
+libisoburn config.status 1.2.1
configured by ./configure_ts, generated by GNU Autoconf 2.60,
- with options \"'--prefix' '/home/stacker/cdrskin_pykix_dir/usr'\"
+ with options \"'--prefix=/usr'\"
Copyright (C) 2006 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
@@ -381,10 +381,10 @@
fi
if $ac_cs_recheck; then
- echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure_ts " '--prefix' '/home/stacker/cdrskin_pykix_dir/usr' $ac_configure_extra_args " --no-create --no-recursion" >&6
+ echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure_ts " '--prefix=/usr' $ac_configure_extra_args " --no-create --no-recursion" >&6
CONFIG_SHELL=/bin/sh
export CONFIG_SHELL
- exec /bin/sh "./configure_ts" '--prefix' '/home/stacker/cdrskin_pykix_dir/usr' $ac_configure_extra_args --no-create --no-recursion
+ exec /bin/sh "./configure_ts" '--prefix=/usr' $ac_configure_extra_args --no-create --no-recursion
fi
exec 5>>config.log
@@ -471,11 +471,11 @@
s,@PATH_SEPARATOR@,|#_!!_#|:,g
s,@PACKAGE_NAME@,|#_!!_#|libisoburn,g
s,@PACKAGE_TARNAME@,|#_!!_#|libisoburn,g
-s,@PACKAGE_VERSION@,|#_!!_#|1.1.9,g
-s,@PACKAGE_STRING@,|#_!!_#|libisoburn 1.1.9,g
+s,@PACKAGE_VERSION@,|#_!!_#|1.2.1,g
+s,@PACKAGE_STRING@,|#_!!_#|libisoburn 1.2.1,g
s,@PACKAGE_BUGREPORT@,|#_!!_#|http://libburnia-project.org,g
s,@exec_prefix@,|#_!!_#|${prefix},g
-s,@prefix@,|#_!!_#|/home/stacker/cdrskin_pykix_dir/usr,g
+s,@prefix@,|#_!!_#|/usr,g
s,@program_transform_name@,|#_!!_#|s\,x\,x\,,g
s,@bindir@,|#_!!_#|${exec_prefix}/bin,g
s,@sbindir@,|#_!!_#|${exec_prefix}/sbin,g
@@ -496,7 +496,7 @@
s,@libdir@,|#_!!_#|${exec_prefix}/lib,g
s,@localedir@,|#_!!_#|${datarootdir}/locale,g
s,@mandir@,|#_!!_#|${datarootdir}/man,g
-s,@DEFS@,|#_!!_#|-DPACKAGE_NAME=\\"libisoburn\\" -DPACKAGE_TARNAME=\\"libisoburn\\" -DPACKAGE_VERSION=\\"1.1.9\\" -DPACKAGE_STRING=\\"libisoburn\\ 1.1.9\\" -DPACKAGE_BUGREPORT=\\"http://libburnia-project.org\\" -DPACKAGE=\\"libisoburn\\" -DVERSION=\\"1.1.9\\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FSEEKO=1 -DICONV_CONST= -DHAVE_DLFCN_H=1 -DHAVE_LIBACL=1 -DHAVE_LIBZ=1 -DHAVE_LIBJTE=1,g
+s,@DEFS@,|#_!!_#|-DPACKAGE_NAME=\\"libisoburn\\" -DPACKAGE_TARNAME=\\"libisoburn\\" -DPACKAGE_VERSION=\\"1.2.1\\" -DPACKAGE_STRING=\\"libisoburn\\ 1.2.1\\" -DPACKAGE_BUGREPORT=\\"http://libburnia-project.org\\" -DPACKAGE=\\"libisoburn\\" -DVERSION=\\"1.2.1\\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FSEEKO=1 -DICONV_CONST= -DHAVE_DLFCN_H=1 -DHAVE_LIBACL=1 -DHAVE_LIBZ=1 -DHAVE_LIBJTE=1,g
s,@ECHO_C@,|#_!!_#|,g
s,@ECHO_N@,|#_!!_#|-n,g
s,@ECHO_T@,|#_!!_#|,g
@@ -521,7 +521,7 @@
s,@INSTALL_DATA@,|#_!!_#|${INSTALL} -m 644,g
s,@CYGPATH_W@,|#_!!_#|echo,g
s,@PACKAGE@,|#_!!_#|libisoburn,g
-s,@VERSION@,|#_!!_#|1.1.9,g
+s,@VERSION@,|#_!!_#|1.2.1,g
s,@ACLOCAL@,|#_!!_#|${SHELL} /home/thomas/projekte/cdrskin_dir/libisoburn-develop/missing --run aclocal-1.9,g
s,@AUTOCONF@,|#_!!_#|${SHELL} /home/thomas/projekte/cdrskin_dir/libisoburn-develop/missing --run autoconf,g
s,@AUTOMAKE@,|#_!!_#|${SHELL} /home/thomas/projekte/cdrskin_dir/libisoburn-develop/missing --run automake-1.9,g
@@ -538,12 +538,12 @@
s,@am__tar@,|#_!!_#|${AMTAR} chof - "$$tardir",g
s,@am__untar@,|#_!!_#|${AMTAR} xf -,g
s,@ISOBURN_MAJOR_VERSION@,|#_!!_#|1,g
-s,@ISOBURN_MINOR_VERSION@,|#_!!_#|1,g
-s,@ISOBURN_MICRO_VERSION@,|#_!!_#|9,g
-s,@LT_RELEASE@,|#_!!_#|1.1,g
-s,@LT_CURRENT@,|#_!!_#|76,g
+s,@ISOBURN_MINOR_VERSION@,|#_!!_#|2,g
+s,@ISOBURN_MICRO_VERSION@,|#_!!_#|1,g
+s,@LT_RELEASE@,|#_!!_#|1.2,g
+s,@LT_CURRENT@,|#_!!_#|78,g
s,@LT_REVISION@,|#_!!_#|0,g
-s,@LT_AGE@,|#_!!_#|75,g
+s,@LT_AGE@,|#_!!_#|77,g
s,@LT_CURRENT_MINUS_AGE@,|#_!!_#|1,g
s,@MAINTAINER_MODE_TRUE@,|#_!!_#|#,g
s,@MAINTAINER_MODE_FALSE@,|#_!!_#|,g
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/configure
^
|
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for xorriso 1.2.0.
+# Generated by GNU Autoconf 2.60 for xorriso 1.2.2.
#
# Report bugs to <http://libburnia-project.org>.
#
@@ -713,8 +713,8 @@
# Identity of this package.
PACKAGE_NAME='xorriso'
PACKAGE_TARNAME='xorriso'
-PACKAGE_VERSION='1.2.0'
-PACKAGE_STRING='xorriso 1.2.0'
+PACKAGE_VERSION='1.2.2'
+PACKAGE_STRING='xorriso 1.2.2'
PACKAGE_BUGREPORT='http://libburnia-project.org'
ac_default_prefix=/usr/local
@@ -1397,7 +1397,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xorriso 1.2.0 to adapt to many kinds of systems.
+\`configure' configures xorriso 1.2.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1468,7 +1468,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xorriso 1.2.0:";;
+ short | recursive ) echo "Configuration of xorriso 1.2.2:";;
esac
cat <<\_ACEOF
@@ -1592,7 +1592,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xorriso configure 1.2.0
+xorriso configure 1.2.2
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1606,7 +1606,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xorriso $as_me 1.2.0, which was
+It was created by xorriso $as_me 1.2.2, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -2416,7 +2416,7 @@
# Define the identity of the package.
PACKAGE='xorriso'
- VERSION='1.2.0'
+ VERSION='1.2.2'
cat >>confdefs.h <<_ACEOF
@@ -2584,14 +2584,14 @@
BURN_MAJOR_VERSION=1
BURN_MINOR_VERSION=2
-BURN_MICRO_VERSION=0
+BURN_MICRO_VERSION=2
LIBISOFS_MAJOR_VERSION=1
LIBISOFS_MINOR_VERSION=2
-LIBISOFS_MICRO_VERSION=0
+LIBISOFS_MICRO_VERSION=2
@@ -25935,7 +25935,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xorriso $as_me 1.2.0, which was
+This file was extended by xorriso $as_me 1.2.2, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -25988,7 +25988,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-xorriso config.status 1.2.0
+xorriso config.status 1.2.2
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/configure.ac
^
|
@@ -3,7 +3,7 @@
# Copyright (c) 2007 - 2012 Thomas Schmitt <scdbackup@gmx.net>
# Provided under GPL version 2 or later.
-AC_INIT([xorriso], [1.2.0], [http://libburnia-project.org])
+AC_INIT([xorriso], [1.2.2], [http://libburnia-project.org])
AC_PREREQ([2.50])
AC_CANONICAL_HOST
@@ -23,14 +23,14 @@
BURN_MAJOR_VERSION=1
BURN_MINOR_VERSION=2
-BURN_MICRO_VERSION=0
+BURN_MICRO_VERSION=2
AC_SUBST(BURN_MAJOR_VERSION)
AC_SUBST(BURN_MINOR_VERSION)
AC_SUBST(BURN_MICRO_VERSION)
LIBISOFS_MAJOR_VERSION=1
LIBISOFS_MINOR_VERSION=2
-LIBISOFS_MICRO_VERSION=0
+LIBISOFS_MICRO_VERSION=2
AC_SUBST(LIBISOFS_MAJOR_VERSION)
AC_SUBST(LIBISOFS_MINOR_VERSION)
AC_SUBST(LIBISOFS_MICRO_VERSION)
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libburn/crc.h
^
|
@@ -1,11 +1,21 @@
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
+/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
+ Copyright (c) 2012 Thomas Schmitt <scdbackup@gmx.net>
+ Provided under GPL version 2 or later.
+*/
#ifndef BURN__CRC_H
#define BURN__CRC_H
#ifdef Xorriso_standalonE
/* Source module crc.c of yet unclear ancestry is excluded from GNU xorriso */
+/* ts B20219 : The functions have been re-implemented from scratch after
+ studying texts about CRC computation and understanding the
+ meaning of the underlying ECMA-130 specs.
+ Nevertheless, there is no need to include them into xorriso
+ because it does neither CD-TEXT nor raw CD writing.
+*/
#ifndef Libburn_no_crc_C
#define Libburn_no_crc_C 1
#endif
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libburn/libburn.h
^
|
@@ -1477,6 +1477,8 @@
0x40 "BD-ROM",
Read-only for now is this BD-R profile (testers wanted)
0x42 "BD-R random recording"
+ Empty drives are supposed to report
+ 0x00 ""
@param d The drive where the media is inserted.
@param pno Profile Number. See also mmc5r03c.pdf, table 89
@param name Profile Name (see above list, unknown profiles have empty name)
@@ -2927,10 +2929,14 @@
*/
int burn_write_opts_set_simulate(struct burn_write_opts *opts, int sim);
-/** Controls buffer underrun prevention
+/** Controls buffer underrun prevention. This is only needed with CD media
+ and possibly with old DVD-R drives. All other media types are not
+ vulnerable to burn failure due to buffer underrun.
@param opts The write opts to change
@param underrun_proof if non-zero, buffer underrun protection is enabled
- @return Returns 1 on success and 0 on failure.
+ @return Returns 1 if the drive announces to be capable of underrun
+ prevention,
+ Returns 0 if not.
*/
int burn_write_opts_set_underrun_proof(struct burn_write_opts *opts,
int underrun_proof);
@@ -3432,7 +3438,7 @@
*/
#define burn_header_version_major 1
#define burn_header_version_minor 2
-#define burn_header_version_micro 0
+#define burn_header_version_micro 2
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libburn/spc.c
^
|
@@ -1090,6 +1090,12 @@
else
sprintf(msg, "Logical unit is not ready");
goto return_retry;
+ case 0x06:
+ if (*ascq == 0)
+ sprintf(msg, "No reference position found");
+ else
+ break;
+ goto return_fail;
case 0x08:
if (*ascq == 0)
sprintf(msg, "Logical unit communication failure");
@@ -1705,7 +1711,7 @@
int loop_count, int flag)
{
enum response outcome;
- int done = -1, usleep_time, ret;
+ int done = -1, usleep_time;
char *msg = NULL;
if (burn_sg_log_scsi & 3)
@@ -1732,7 +1738,9 @@
}
if (time(NULL) + usleep_time / 1000000 - start_time >
timeout_ms / 1000 + 1) {
- BURN_ALLOC_MEM(msg, char, 320);
+ done = -1; /* In case of alloc failure */
+ BURN_ALLOC_MEM_VOID(msg, char, 320);
+ done = 1;
sprintf(msg,
"Timeout exceed (%d ms). Retry canceled.\n",
timeout_ms);
@@ -1740,7 +1748,6 @@
0x0002018a,
LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH,
msg, 0, 0);
- done = 1;
goto err_ex;
}
if (d->cancel)
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libburn/util.c
^
|
@@ -227,6 +227,7 @@
{"TT", 8, "TDK Corporation"},
{"TY", 8, "Taiyo Yuden Company Limited"},
{"TYG", 3, "Taiyo Yuden Company Limited"},
+ {"UME", 3, "UmeDisc Limited"},
{"UTJR001", 7, "Unifino Inc."},
{"VERBAT", 5, "Mitsubishi Kagaku Media Co."},
{"YUDEN", 5, "Taiyo Yuden Company Limited"},
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libburn/write.c
^
|
@@ -455,7 +455,7 @@
struct burn_session *session,
int nwa)
{
- int i, m, s, f, form, pform, runtime = -150, ret, track_length;
+ int i, m, s, f, form, runtime = -150, ret, track_length;
int leadin_form, leadin_start, pregap = 150, postgap;
unsigned char ctladr, scms;
struct burn_drive *d;
@@ -469,6 +469,8 @@
#ifdef Libburn_track_multi_indeX
int j;
+#else
+ int pform;
#endif
if (ntr < 1) {
@@ -600,7 +602,10 @@
if (tar[0]->pregap2_size < 150)
tar[0]->pregap2_size = 150;
+#ifndef Libburn_track_multi_indeX
pform = form;
+#endif
+
for (i = 0; i < ntr; i++) {
/* ts A70125 :
@@ -788,7 +793,11 @@
rem -= burn_sector_length(tar[i]->mode);
runtime--;
}
+
+#ifndef Libburn_track_multi_indeX
pform = form;
+#endif
+
}
burn_lba_to_msf(runtime, &m, &s, &f);
e[2].pmin = m;
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisoburn/burn_wrap.c
^
|
@@ -157,7 +157,7 @@
#ifdef Xorriso_with_libjtE
/* The minimum requirement of libisoburn towards the libjte header
- at compile time is the same as the one of a usable libisfs itowards libjte.
+ at compile time is the same as the one of a usable libisofs towards libjte.
So the requirement is defined in libisofs/libisofs.h :
iso_libjte_req_major , iso_libjte_req_minor , iso_libjte_req_micro
*/
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisoburn/data_source.c
^
|
@@ -1,7 +1,7 @@
/*
data source for libisoburn.
- Copyright 2007 - 2010 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
+ Copyright 2007 - 2012 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
and Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
*/
@@ -33,17 +33,7 @@
#include "isoburn.h"
-/* Cached reading of image tree data */
-/* Multi tile: 32 * 64 kB */
-
-/* The size of a single tile.
- Powers of 2 only ! Less than 16 makes not much sense.
-*/
-#define Libisoburn_tile_blockS 32
-
-/* The number of tiles in the cache
-*/
-#define Libisoburn_cache_tileS 32
+/* Cached reading of image tree data by multiple tiles */
/* Debugging only: This reports cache loads on stderr.
@@ -52,7 +42,7 @@
struct isoburn_cache_tile {
- char cache_data[Libisoburn_tile_blockS * 2048];
+ char *cache_data;
uint32_t cache_lba;
uint32_t last_error_lba;
uint32_t last_aligned_error_lba;
@@ -62,7 +52,9 @@
struct isoburn_cached_drive {
struct burn_drive *drive;
- struct isoburn_cache_tile tiles[Libisoburn_cache_tileS];
+ struct isoburn_cache_tile **tiles;
+ int num_tiles;
+ int tile_blocks;
int current_age;
/**
@@ -92,7 +84,7 @@
off_t count;
uint32_t aligned_lba;
char msg[80];
- struct isoburn_cache_tile *tiles;
+ struct isoburn_cache_tile **tiles;
struct isoburn_cached_drive *icd;
if(src == NULL || buffer == NULL)
@@ -117,7 +109,7 @@
return ISO_ASSERT_FAILURE;
}
- tiles = (struct isoburn_cache_tile *) icd->tiles;
+ tiles = icd->tiles;
if(icd->displacement_sign == 1) {
if(lba + icd->displacement < lba) {
@@ -132,12 +124,13 @@
lba -= icd->displacement;
}
- aligned_lba= lba & ~(Libisoburn_tile_blockS - 1);
+ aligned_lba= lba & ~(icd->tile_blocks - 1);
- for(i=0; i<Libisoburn_cache_tileS; i++) {
- if(aligned_lba == tiles[i].cache_lba && tiles[i].cache_lba != 0xffffffff) {
- (tiles[i].cache_hits)++;
- memcpy(buffer, tiles[i].cache_data + (lba - aligned_lba) * 2048, 2048);
+ for (i = 0; i < icd->num_tiles; i++) {
+ if(aligned_lba == tiles[i]->cache_lba &&
+ tiles[i]->cache_lba != 0xffffffff) {
+ (tiles[i]->cache_hits)++;
+ memcpy(buffer, tiles[i]->cache_data + (lba - aligned_lba) * 2048, 2048);
count= 2048;
ds_inc_age(icd, i, 0);
return 1;
@@ -147,37 +140,37 @@
/* find oldest tile */
oldest_age= Libisoburn_max_agE;
oldest= 0;
- for(i= 0; i<Libisoburn_cache_tileS; i++) {
- if(tiles[i].cache_lba == 0xffffffff) {
+ for(i = 0; i < icd->num_tiles; i++) {
+ if(tiles[i]->cache_lba == 0xffffffff) {
oldest= i;
break;
}
- if(tiles[i].age<oldest_age) {
- oldest_age= tiles[i].age;
+ if(tiles[i]->age < oldest_age) {
+ oldest_age= tiles[i]->age;
oldest= i;
}
}
- tiles[oldest].cache_lba= 0xffffffff; /* invalidate cache */
- if(tiles[oldest].last_aligned_error_lba == aligned_lba) {
+ tiles[oldest]->cache_lba= 0xffffffff; /* invalidate cache */
+ if(tiles[oldest]->last_aligned_error_lba == aligned_lba) {
ret = 0;
} else {
ret = burn_read_data(d, (off_t) aligned_lba * (off_t) 2048,
- (char *) tiles[oldest].cache_data,
- Libisoburn_tile_blockS * 2048, &count, 2);
+ (char *) tiles[oldest]->cache_data,
+ icd->tile_blocks * 2048, &count, 2);
}
if (ret <= 0 ) {
- tiles[oldest].last_aligned_error_lba = aligned_lba;
+ tiles[oldest]->last_aligned_error_lba = aligned_lba;
/* Read-ahead failure ? Try to read 2048 directly. */
- if(tiles[oldest].last_error_lba == lba)
+ if(tiles[oldest]->last_error_lba == lba)
ret = 0;
else
ret = burn_read_data(d, (off_t) lba * (off_t) 2048, (char *) buffer,
2048, &count, 0);
if (ret > 0)
return 1;
- tiles[oldest].last_error_lba = lba;
+ tiles[oldest]->last_error_lba = lba;
sprintf(msg, "ds_read_block(%lu) returns %lX",
(unsigned long) lba, (unsigned long) ret);
isoburn_msgs_submit(NULL, 0x00060000, msg, 0, "DEBUG", 0);
@@ -186,14 +179,14 @@
#ifdef Libisoburn_read_cache_reporT
fprintf(stderr, "Tile %2.2d : After %3d hits, new load from %8x , count= %d\n",
- oldest, tiles[oldest].cache_hits, aligned_lba, (int) count);
+ oldest, tiles[oldest]->cache_hits, aligned_lba, (int) count);
#endif
- tiles[oldest].cache_lba= aligned_lba;
- tiles[oldest].cache_hits= 1;
+ tiles[oldest]->cache_lba= aligned_lba;
+ tiles[oldest]->cache_hits= 1;
ds_inc_age(icd, oldest, 0);
- memcpy(buffer, tiles[oldest].cache_data + (lba - aligned_lba) * 2048, 2048);
+ memcpy(buffer, tiles[oldest]->cache_data + (lba - aligned_lba) * 2048, 2048);
count= 2048;
return 1;
@@ -212,11 +205,107 @@
return 1;
}
+
+static int isoburn_cache_tile_destroy(struct isoburn_cache_tile **o,
+ int flag)
+{
+ if (*o == NULL)
+ return(0);
+ if ((*o)->cache_data != NULL)
+ free((*o)->cache_data);
+ free(*o);
+ *o = NULL;
+ return(1);
+}
+
+
+static int isoburn_cache_tile_new(struct isoburn_cache_tile **o,
+ int tile_blocks, int flag)
+{
+ struct isoburn_cache_tile *t;
+
+ *o = t = calloc(1, sizeof(struct isoburn_cache_tile));
+ if (t == NULL)
+ goto fail;
+ t->cache_data = NULL;
+ t->cache_lba = 0xffffffff;
+ t->cache_hits = 0;
+ t->last_error_lba = 0xffffffff;
+ t->last_aligned_error_lba = 0xffffffff;
+ t->age= 0;
+
+ t->cache_data = calloc(1, tile_blocks * 2048);
+ if (t->cache_data == NULL)
+ goto fail;
+
+ return(1);
+fail:;
+ isoburn_cache_tile_destroy(o, 0);
+ return(-1);
+}
+
+
+static int isoburn_cached_drive_destroy(struct isoburn_cached_drive **o,
+ int flag)
+{
+ struct isoburn_cached_drive *c;
+ int i;
+
+ if (*o == NULL)
+ return(0);
+ c= *o;
+ if (c->tiles != NULL) {
+ for (i = 0; i < c->num_tiles; i++)
+ isoburn_cache_tile_destroy(&(c->tiles[i]), 0);
+ free(c->tiles);
+ }
+ free(c);
+ *o= NULL;
+ return(1);
+}
+
+
+static int isoburn_cached_drive_new(struct isoburn_cached_drive **o,
+ struct burn_drive *d, int cache_tiles,
+ int tile_blocks, int flag)
+{
+ struct isoburn_cached_drive *icd;
+ int i, ret;
+
+ *o = icd = calloc(1,sizeof(struct isoburn_cached_drive));
+ if (*o == NULL)
+ return(-1);
+ icd->drive = d;
+ icd->tiles = NULL;
+ icd->num_tiles = cache_tiles;
+ icd->tile_blocks = tile_blocks;
+ icd->current_age = 0;
+ icd->displacement = 0;
+ icd->displacement_sign = 0;
+
+ icd->tiles = calloc(1, sizeof(struct isoburn_cache_tile *) * icd->num_tiles);
+ if (icd->tiles == NULL)
+ goto fail;
+ for (i = 0; i < icd->num_tiles; i++) {
+ ret = isoburn_cache_tile_new(&(icd->tiles[i]), icd->tile_blocks, 0);
+ if (ret <= 0)
+ goto fail;
+ }
+ return(1);
+fail:;
+ isoburn_cached_drive_destroy(o, 0);
+ return(-1);
+}
+
+
static void ds_free_data(IsoDataSource *src)
{
- /* nothing to do */;
- if(src->data != NULL)
- free(src->data);
+ struct isoburn_cached_drive *icd;
+
+ if(src->data != NULL) {
+ icd= (struct isoburn_cached_drive *) src->data;
+ isoburn_cached_drive_destroy(&icd, 0);
+ }
src->data= NULL;
}
@@ -234,37 +323,33 @@
IsoDataSource *isoburn_data_source_new(struct burn_drive *d,
- uint32_t displacement, int displacement_sign)
+ uint32_t displacement, int displacement_sign,
+ int cache_tiles, int tile_blocks)
{
- IsoDataSource *ret;
+ IsoDataSource *src;
struct isoburn_cached_drive *icd= NULL;
- int i;
+ int ret;
if (d==NULL)
return NULL;
- ret = malloc(sizeof(IsoDataSource));
- icd = calloc(1,sizeof(struct isoburn_cached_drive));
- if (ret == NULL || icd == NULL)
+ src = malloc(sizeof(IsoDataSource));
+ if (src == NULL)
+ return NULL;
+ ret = isoburn_cached_drive_new(&icd, d, cache_tiles, tile_blocks, 0);
+ if (ret <= 0) {
+ free(src);
return NULL;
- ret->version = 0;
- ret->refcount = 1;
- ret->read_block = ds_read_block;
- ret->open = ds_open;
- ret->close = ds_close;
- ret->free_data = ds_free_data;
- ret->data = icd;
- icd->drive = d;
- icd->current_age= 0;
- for(i= 0; i<Libisoburn_cache_tileS; i++) {
- icd->tiles[i].cache_lba = 0xffffffff;
- icd->tiles[i].cache_hits = 0;
- icd->tiles[i].last_error_lba = 0xffffffff;
- icd->tiles[i].last_aligned_error_lba = 0xffffffff;
- icd->tiles[i].age= 0;
}
+ src->version = 0;
+ src->refcount = 1;
+ src->read_block = ds_read_block;
+ src->open = ds_open;
+ src->close = ds_close;
+ src->free_data = ds_free_data;
+ src->data = icd;
icd->displacement = displacement;
icd->displacement_sign = displacement_sign;
- return ret;
+ return src;
}
@@ -274,11 +359,11 @@
(icd->current_age)++;
if(icd->current_age>=Libisoburn_max_agE) { /* reset all ages (allow waste) */
- for(i= 0; i<Libisoburn_cache_tileS; i++)
- (icd->tiles)[i].age= 0;
+ for(i = 0; i < icd->num_tiles; i++)
+ (icd->tiles)[i]->age= 0;
icd->current_age= 1;
}
- (icd->tiles)[idx].age= icd->current_age;
+ (icd->tiles)[idx]->age= icd->current_age;
return(1);
}
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisoburn/isoburn.c
^
|
@@ -142,6 +142,7 @@
o->target_iso_head_size= Libisoburn_target_head_sizE;
o->target_iso_head= NULL;
o->image= NULL;
+ o->image_start_lba= -1;
o->iso_data_source= NULL;
o->read_pacifier= NULL;
o->read_pacifier_handle= NULL;
@@ -161,6 +162,9 @@
isoburn_report_iso_error(ret, "Cannot create image object", 0, "FATAL", 0);
goto failed;
}
+ ret= isoburn_root_defaults(o->image, 0);
+ if(ret <= 0)
+ goto failed;
isoburn_link(o, isoburn_list_start, 1);
return(1);
failed:;
@@ -477,11 +481,13 @@
iso_write_opts_set_allow_dir_id_ext(wopts, opts->allow_dir_id_ext);
iso_write_opts_set_omit_version_numbers(wopts, opts->omit_version_numbers);
iso_write_opts_set_allow_deep_paths(wopts, opts->allow_deep_paths);
+ iso_write_opts_set_rr_reloc(wopts, opts->rr_reloc_dir, opts->rr_reloc_flags);
iso_write_opts_set_allow_longer_paths(wopts, opts->allow_longer_paths);
iso_write_opts_set_max_37_char_filenames(wopts, opts->max_37_char_filenames);
iso_write_opts_set_no_force_dots(wopts, opts->no_force_dots);
iso_write_opts_set_allow_lowercase(wopts, opts->allow_lowercase);
iso_write_opts_set_allow_full_ascii(wopts, opts->allow_full_ascii);
+ iso_write_opts_set_allow_7bit_ascii(wopts, opts->allow_7bit_ascii);
iso_write_opts_set_relaxed_vol_atts(wopts, 1);
iso_write_opts_set_joliet_longer_paths(wopts, opts->joliet_longer_paths);
iso_write_opts_set_joliet_long_names(wopts, opts->joliet_long_names);
@@ -771,6 +777,8 @@
"Cannot allocate memory for read options", 0, "FATAL", 0);
return(-1);
}
+ o->cache_tiles= Libisoburn_default_cache_tileS;
+ o->cache_tile_blocks= Libisoburn_default_tile_blockS;
o->norock= 0;
o->nojoliet= 0;
o->noiso1999= 1;
@@ -807,6 +815,59 @@
}
+int isoburn_ropt_set_data_cache(struct isoburn_read_opts *o,
+ int cache_tiles, int tile_blocks, int flag)
+{
+ int i;
+ char msg[80];
+
+ if(cache_tiles < 1) {
+ isoburn_msgs_submit(NULL, 0x00060000,
+ "Requested number of data cache tiles is too small (< 1)",
+ 0, "SORRY", 0);
+ return(0);
+ }
+ if(((double) cache_tiles) * ((double) tile_blocks)
+ > (double) Libisoburn_cache_max_sizE) {
+ sprintf(msg, "Requested size of data cache exceeds limit of %.f blocks",
+ (double) Libisoburn_cache_max_sizE);
+ isoburn_msgs_submit(NULL, 0x00060000, msg, 0, "SORRY", 0);
+ return(0);
+ }
+ for(i = 1; i <= Libisoburn_cache_max_sizE; i = i << 1)
+ if(i == tile_blocks)
+ break;
+ if(i > Libisoburn_cache_max_sizE) {
+ isoburn_msgs_submit(NULL, 0x00060000,
+ "Requested number of blocks per data cache tiles is not a power of 2",
+ 0, "SORRY", 0);
+ return(0);
+ }
+ if(o != NULL) {
+ o->cache_tiles= cache_tiles;
+ o->cache_tile_blocks= tile_blocks;
+ }
+ return(1);
+}
+
+
+int isoburn_ropt_get_data_cache(struct isoburn_read_opts *o,
+ int *cache_tiles, int *tile_blocks,
+ int *set_flag, int flag)
+{
+ if((flag & 1) || o == NULL) {
+ *cache_tiles= Libisoburn_default_cache_tileS;
+ *tile_blocks= Libisoburn_default_tile_blockS;
+ *set_flag= 0;
+ return(1);
+ }
+ *cache_tiles= o->cache_tiles;
+ *tile_blocks= o->cache_tile_blocks;
+ *set_flag= 0;
+ return(1);
+}
+
+
int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
{
o->norock= !!(ext&1);
@@ -970,11 +1031,14 @@
o->allow_dir_id_ext = 0;
o->omit_version_numbers= 0;
o->allow_deep_paths= 1;
+ o->rr_reloc_dir= NULL;
+ o->rr_reloc_flags= 0;
o->allow_longer_paths= 0;
o->max_37_char_filenames= 0;
o->no_force_dots= 0;
o->allow_lowercase= 0;
o->allow_full_ascii= 0;
+ o->allow_7bit_ascii= 0;
o->joliet_longer_paths= 0;
o->joliet_long_names= 0;
o->always_gmt= 0;
@@ -1019,6 +1083,8 @@
if(*o==NULL)
return(0);
+ if((*o)->rr_reloc_dir != NULL)
+ free((*o)->rr_reloc_dir);
for(i= 0; i < Libisoburn_max_appended_partitionS; i++)
if((*o)->appended_partitions[i] != NULL)
free((*o)->appended_partitions[i]);
@@ -1089,6 +1155,7 @@
o->joliet_long_names= !!(relax & isoburn_igopt_joliet_long_names);
o->joliet_rec_mtime= !!(relax & isoburn_igopt_joliet_rec_mtime);
o->iso1999_rec_mtime= !!(relax & isoburn_igopt_iso1999_rec_mtime);
+ o->allow_7bit_ascii= !!(relax & isoburn_igopt_allow_7bit_ascii);
return(1);
}
@@ -1106,10 +1173,43 @@
((!!o->allow_dir_id_ext) << 14) |
((!!o->joliet_long_names) << 15) |
((!!o->joliet_rec_mtime) << 16) |
- ((!!o->iso1999_rec_mtime) << 17);
+ ((!!o->iso1999_rec_mtime) << 17) |
+ ((!!o->allow_full_ascii) << 18);
+ return(1);
+}
+
+
+int isoburn_igopt_set_rr_reloc(struct isoburn_imgen_opts *o, char *name,
+ int flags)
+{
+ if(o->rr_reloc_dir != name) {
+ if(o->rr_reloc_dir != NULL)
+ free(o->rr_reloc_dir);
+ o->rr_reloc_dir= NULL;
+ if(name != NULL) {
+ o->rr_reloc_dir= strdup(name);
+ if(o->rr_reloc_dir == NULL) {
+ isoburn_msgs_submit(NULL, 0x00060000,
+ "Cannot allocate memory for image generation options",
+ 0, "FATAL", 0);
+ return(-1);
+ }
+ }
+ }
+ o->rr_reloc_flags = flags & 1;
+ return 1;
+}
+
+
+int isoburn_igopt_get_rr_reloc(struct isoburn_imgen_opts *o, char **name,
+ int *flags)
+{
+ *name= o->rr_reloc_dir;
+ *flags= o->rr_reloc_flags;
return(1);
}
+
int isoburn_igopt_set_untranslated_name_len(struct isoburn_imgen_opts *o,
int len)
{
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisoburn/isoburn.h
^
|
@@ -141,6 +141,9 @@
/* Libisofs image context */
IsoImage *image;
+ /* The start LBA of the image */
+ int image_start_lba;
+
/* The block data source from which the existing image is read.
*/
IsoDataSource *iso_data_source;
@@ -260,7 +263,19 @@
*/
IsoDataSource *
isoburn_data_source_new(struct burn_drive *d,
- uint32_t displacement, int displacement_sign);
+ uint32_t displacement, int displacement_sign,
+ int cache_tiles, int tile_blocks);
+
+/** Default settings for above cache_tiles, tile_blocks in newly created
+ struct isoburn_read_opts.
+*/
+#define Libisoburn_default_cache_tileS 32
+#define Libisoburn_default_tile_blockS 32
+
+/** Maximum size of the cache in 2 kB blocks (1 GB)
+*/
+#define Libisoburn_cache_max_sizE (1024 * 512)
+
/** Disable read capabilities of a data source which was originally created
by isoburn_data_source_new(). After this any attempt to read will yield
@@ -282,6 +297,12 @@
int isoburn_adjust_target_iso_head(struct isoburn *o,
uint32_t offst, int flag);
+
+/** Initialize the root directory attributes of a freshly created image.
+*/
+int isoburn_root_defaults(IsoImage *image, int flag);
+
+
/**
* Options for image reading.
(Comments here may be outdated. API getter/setter function descriptions
@@ -289,6 +310,9 @@
minor correction only.)
*/
struct isoburn_read_opts {
+ int cache_tiles; /* number of cache tiles */
+ int cache_tile_blocks;
+
unsigned int norock:1; /*< Do not read Rock Ridge extensions */
unsigned int nojoliet:1; /*< Do not read Joliet extensions */
unsigned int noiso1999:1; /*< Do not read ISO 9660:1999 enhanced tree */
@@ -435,6 +459,21 @@
unsigned int allow_deep_paths :1;
/**
+ * If not allow_deep_paths is in effect, then it may become
+ * necessary to relocate directories so that no ECMA-119 file path
+ * has more than 8 components. These directories are grafted into either
+ * the root directory of the ISO image or into a dedicated relocation
+ * directory. For details see libisofs.h, iso_write_opts_set_rr_reloc().
+ */
+ char *rr_reloc_dir; /* IsoNode name in root directory. NULL or
+ empty text means root itself. */
+ int rr_reloc_flags; /* bit0= mark auto-created rr_reloc_dir by RE
+ bit1= not settable via API (used internally)
+ */
+
+
+
+ /**
* Allow path in the ISO-9660 tree to have more than 255 characters.
*/
unsigned int allow_longer_paths :1;
@@ -469,6 +508,13 @@
unsigned int allow_full_ascii :1;
/**
+ * Like allow_full_ascii, but only allowing 7-bit characters.
+ * Lowercase letters get mapped to uppercase if not allow_lowercase is set.
+ * Gets overridden if allow_full_ascii is enabled.
+ */
+ unsigned int allow_7bit_ascii :1;
+
+ /**
* Allow paths in the Joliet tree to have more than 240 characters.
*/
unsigned int joliet_longer_paths :1;
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisoburn/isofs_wrap.c
^
|
@@ -105,12 +105,38 @@
}
+/* API */
+int isoburn_get_attached_start_lba(struct burn_drive *d)
+{
+ int ret;
+ struct isoburn *o= NULL;
+
+ ret = isoburn_find_emulator(&o, d, 0);
+ if (ret < 0 || o == NULL)
+ return -1;
+ if(o->image == NULL)
+ return -1;
+ return o->image_start_lba;
+}
+
+
static void isoburn_idle_free_function(void *ignored)
{
return;
}
+int isoburn_root_defaults(IsoImage *image, int flag)
+{
+ IsoNode *root_node;
+ mode_t root_mode= 0755;
+
+ root_node= (IsoNode *) iso_image_get_root(image);
+ iso_node_set_permissions(root_node, root_mode);
+ return(1);
+}
+
+
/* API function. See libisoburn.h
*/
int isoburn_read_image(struct burn_drive *d,
@@ -133,6 +159,7 @@
if (ret < 0 || o == NULL)
{ret= 0; goto ex;}
status = isoburn_disc_get_status(d);
+ o->image_start_lba= -1;
}
if(read_opts==NULL) {
isoburn_msgs_submit(o, 0x00060000,
@@ -176,6 +203,10 @@
}
iso_image_set_ignore_aclea(o->image,
(!!(read_opts->noacl)) | ((!!read_opts->noea) << 1) );
+
+ ret= isoburn_root_defaults(o->image, 0);
+ if(ret <= 0)
+ goto ex;
}
{ret= 1; goto ex;}
}
@@ -187,12 +218,12 @@
{ret= -4; goto ex;}
}
- memset((char *) &ropts, 0, sizeof(ropts));
-
ret = isoburn_disc_get_msc1(d, &int_num);
if (ret <= 0)
{ret= -2; goto ex;}
ms_block= int_num;
+ if (o != NULL)
+ o->image_start_lba= ms_block;
ret = isoburn_read_iso_head(d, int_num, &dummy, NULL, 0);
if (ret <= 0) {
sprintf(msg, "No ISO 9660 image at LBA %d. Creating blank image.", int_num);
@@ -251,11 +282,12 @@
iso_read_opts_load_system_area(ropts, 1);
ds = isoburn_data_source_new(d, read_opts->displacement,
- read_opts->displacement_sign);
+ read_opts->displacement_sign,
+ read_opts->cache_tiles, read_opts->cache_tile_blocks);
if (ds == NULL) {
isoburn_report_iso_error(ret, "Cannot create IsoDataSource object", 0,
"FATAL", 0);
- goto ex;
+ ret= -1; goto ex;
}
if(o->iso_data_source!=NULL)
iso_data_source_unref(o->iso_data_source);
@@ -269,6 +301,7 @@
ret = iso_image_import(o->image, ds, ropts, &features);
iso_tree_set_report_callback(o->image, NULL);
iso_read_opts_free(ropts);
+ ropts= NULL;
if (ret < 0) {
isoburn_report_iso_error(ret, "Cannot import image", 0, "FAILURE", 0);
@@ -289,6 +322,8 @@
ex:;
if(msg != NULL)
free(msg);
+ if(ropts != NULL)
+ iso_read_opts_free(ropts);
return(ret);
}
@@ -312,10 +347,29 @@
if(o->image != NULL)
iso_image_unref(o->image);
o->image = image;
+ o->image_start_lba = -1;
return(1);
}
+/* API */
+int isoburn_attach_start_lba(struct burn_drive *d, int lba, int flag)
+{
+ int ret;
+ struct isoburn *o;
+
+ ret = isoburn_find_emulator(&o, d, 0);
+ if(ret < 0)
+ return ret;
+ if(o == NULL)
+ return 0;
+ if(o->image == NULL)
+ return 0;
+ o->image_start_lba = lba;
+ return 1;
+}
+
+
/* API function. See libisoburn.h
*/
int isoburn_activate_session(struct burn_drive *drive)
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisoburn/libisoburn.h
^
|
@@ -242,7 +242,7 @@
*/
#define isoburn_libisofs_req_major 1
#define isoburn_libisofs_req_minor 2
-#define isoburn_libisofs_req_micro 0
+#define isoburn_libisofs_req_micro 2
/** The minimum version of libburn to be used with this version of libisoburn
at compile time.
@@ -305,7 +305,7 @@
*/
#define isoburn_header_version_major 1
#define isoburn_header_version_minor 2
-#define isoburn_header_version_micro 0
+#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.
@@ -389,7 +389,7 @@
void *submit_handle, int submit_flag, int flag);
-/** Aquire a target drive by its filesystem path resp. libburn persistent
+/** Acquire a target drive by its filesystem path resp. libburn persistent
address.
Wrapper for: burn_drive_scan_and_grab()
@since 0.1.0
@@ -407,7 +407,7 @@
char* adr, int load);
-/** Aquire a target drive by its filesystem path resp. libburn persistent
+/** Acquire a target drive by its filesystem path resp. libburn persistent
address. This is a modern successor of isoburn_drive_scan_and_grab().
Wrapper for: burn_drive_scan_and_grab()
@since 0.1.2
@@ -433,15 +433,17 @@
bit6= ignore POSIX Extended Attributes from external
filesystems
bit7= pretend read-only profile and scan for table of content
- bit8= re-assess already aquired (*drive_infos)[0] rather
+ bit8= re-assess already acquired (*drive_infos)[0] rather
than aquiring adr
@since 1.1.8
@return 1 = success , 0 = drive not found , <0 = other error
+
+ Please excuse the typo "aquire" in the function name.
*/
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
char* adr, int flag);
-/** Aquire a drive from the burn_drive_info[] array which was obtained by
+/** Acquire a drive from the burn_drive_info[] array which was obtained by
a previous call of burn_drive_scan().
Wrapper for: burn_drive_grab()
@since 0.1.0
@@ -757,6 +759,56 @@
*/
int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
+/** Sets the size and granularity of the cache which libisoburn provides to
+ libisofs for reading of ISO image data. This cache consists of several
+ tiles which are buffers of a given size. The ISO image is divided into
+ virtual tiles of that size. A cache tile may hold an in-memory copy
+ of such a virtual image tile.
+ When libisofs requests to read a block, then first the cache is inquired
+ whether it holds that block. If not, then the block is read via libburn
+ together with its neighbors in their virtual image tile into a free
+ cache tile. If no cache tile is free, then the one will be re-used which
+ has the longest time of not being hit by a read attempt.
+
+ A larger cache might speed up image loading by reducing the number of
+ libburn read calls on the directory tree. It might also help with
+ reading the content of many small files, if for some reason it is not an
+ option to sort access by LBA.
+ Caching will not provide much benefit with libburn "stdio:" drives,
+ because the operating system is supposed to provide the same speed-up
+ in a more flexible way.
+
+ @since 1.2.2
+ @param o The option set to work on.
+ It is permissible to submit NULL in order to just
+ have the parameters tested.
+ @param cache_tiles Number of tiles in the cache. Not less than 1.
+ Default is 32.
+ @param tile_blocks Number of blocks per tile. Must be a power of 2.
+ Default is 32.
+ cache_tiles * tile_blocks * 2048 must not exceed
+ 1073741824 (= 1 GiB).
+ @param flag Bitfield for control purposes. Unused yet. Submit 0.
+ @return <=0 error , >0 ok
+*/
+int isoburn_ropt_set_data_cache(struct isoburn_read_opts *o,
+ int cache_tiles, int tile_blocks, int flag);
+
+/** Inquire the current settings of isoburn_set_data_cache().
+ @since 1.2.2
+ @param o The option set to work on.
+ NULL has the same effect as flag bit0.
+ @param cache_tiles Will return the number of tiles in the cache.
+ @param tile_blocks Will return the number of blocks per tile.
+ @param set_flag Will return control bits. None are defined yet.
+ @param flag Bitfield for control purposes
+ bit0= return default values rather than current ones
+ @return <=0 error , >0 reply is valid
+*/
+int isoburn_ropt_get_data_cache(struct isoburn_read_opts *o,
+ int *cache_tiles, int *tile_blocks,
+ int *set_flag, int flag);
+
/** Which existing ISO 9660 extensions in the image to read or not to read.
Whether to read the content of an existing image at all.
@@ -1106,7 +1158,7 @@
a few other characters are allowed.
bit6= allow_full_ascii
Allow all ASCII characters to be appear on an ISO-9660
- filename. Note * that "/" and "\0" characters are never
+ filename. Note that "/" and "\0" characters are never
allowed, even in RR names.
bit7= joliet_longer_paths
Allow paths in the Joliet tree to have more than
@@ -1161,6 +1213,11 @@
bit17= iso1999_rec_mtime
Like dir_rec_mtime, but for the ISO 9660:1999 tree.
@since 1.2.0
+ bit18= allow_7bit_ascii
+ Like allow_full_ascii, but only allowing 7-bit characters.
+ Lowercase letters get mapped to uppercase if not
+ allow_lowercase is set.
+ Gets overridden if allow_full_ascii is enabled.
@return 1 success, <=0 failure
*/
#define isoburn_igopt_omit_version_numbers 1
@@ -1179,12 +1236,52 @@
#define isoburn_igopt_no_j_force_dots 8192
#define isoburn_igopt_allow_dir_id_ext 16384
#define isoburn_igopt_joliet_long_names 32768
-#define isoburn_igopt_joliet_rec_mtime 0x8000
-#define isoburn_igopt_iso1999_rec_mtime 0x10000
+#define isoburn_igopt_joliet_rec_mtime 0x10000
+#define isoburn_igopt_iso1999_rec_mtime 0x20000
+#define isoburn_igopt_allow_7bit_ascii 0x40000
int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax);
int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax);
+/** If not isoburn_igopt_allow_deep_paths is in effect, then it may become
+ necessary to relocate directories so that no ECMA-119 file path
+ has more than 8 components. These directories are grafted into either
+ the root directory of the ISO image or into a dedicated relocation
+ directory. For details see libisofs.h.
+ Wrapper for: iso_write_opts_set_rr_reloc()
+ @since 1.2.2
+ @param o The option set to work on
+ @param name The name of the relocation directory in the root directory.
+ Do not prepend "/". An empty name or NULL will direct
+ relocated directories into the root directory. This is the
+ default.
+ If the given name does not exist in the root directory when
+ isoburn_disc_write() is called, and if there are directories
+ at path level 8, then directory /name will be created
+ automatically.
+ @param flags Bitfield for control purposes.
+ bit0= Mark the relocation directory by a Rock Ridge RE entry,
+ if it gets created during isoburn_disc_write(). This
+ will make it invisible for most Rock Ridge readers.
+ bit1= not settable via API (used internally)
+ @return > 0 success, <= 0 failure
+*/
+int isoburn_igopt_set_rr_reloc(struct isoburn_imgen_opts *o, char *name,
+ int flags);
+
+/** Obtain the settings of isoburn_igopt_set_rr_reloc().
+ @since 1.2.2
+ @param o The option set to work on
+ @param name Will return NULL or a pointer to the name of the relocation
+ directory in the root directory. Do not alter or dispose the
+ memory which holds this name.
+ @param flags Will return the flags bitfield.
+ @return > 0 success, <= 0 failure
+*/
+int isoburn_igopt_get_rr_reloc(struct isoburn_imgen_opts *o, char **name,
+ int *flags);
+
+
/** Caution: This option breaks any assumptions about names that
are supported by ECMA-119 specifications.
Try to omit any translation which would make a file name compliant to the
@@ -1629,6 +1726,14 @@
*/
IsoImage *isoburn_get_attached_image(struct burn_drive *d);
+/** Get the start address of the image that is attached to the drive, if any.
+ @since 1.2.2
+ @param d The drive to inquire
+ @return The logical block address where the System Area of the image
+ starts. <0 means that the address is invalid.
+*/
+int isoburn_get_attached_start_lba(struct burn_drive *d);
+
/** Load the ISO filesystem directory tree from the medium in the given drive.
This will give libisoburn the base on which it can let libisofs perform
@@ -1667,7 +1772,7 @@
before it may be removed from memory.
@since 0.1.0
@param drive The drive which will be used with isoburn_read_image()
- It has to be aquired by an isoburn_* wrapper call.
+ It has to be acquired by an isoburn_* wrapper call.
@param read_pacifier The callback function
@param app_handle The app handle which the callback function can obtain
via iso_image_get_attached_data() from its IsoImage*
@@ -1714,6 +1819,17 @@
int isoburn_attach_image(struct burn_drive *d, IsoImage *image);
+/** Set the start address of the image that is attached to the drive, if any.
+ @since 1.2.2
+ @param d The drive to inquire
+ @param lba The logical block address where the System Area of the image
+ starts. <0 means that the address is invalid.
+ @param flag Bitfield, submit 0 for now.
+ @return <=0 error (e.g. because no image is attached), 1 = success
+*/
+int isoburn_attach_start_lba(struct burn_drive *d, int lba, int flag);
+
+
/** Return the best possible estimation of the currently available capacity of
the medium. This might depend on particular write option settings and on
drive state.
@@ -1826,8 +1942,8 @@
into some burn program like with this classic gesture:
mkisofs -M $dev -C $msc1,$nwa | cdrecord -waiti dev=$dev
Parameter translation into libisoburn:
- $dev is the address by which parameter in_drive of this call was aquired
- $msc1 was set by isoburn_set_msc1() before image reading
+ $dev is the address by which parameter in_drive of this call was
+ acquired $msc1 was set by isoburn_set_msc1() before image reading
or was detected from the in_drive medium
$nwa is a parameter of this call
or can be used as detected from the in_drive medium
@@ -1887,7 +2003,7 @@
Override the truncation setting that was made with flag bit2 during the
call of isoburn_drive_aquire. This applies only to stdio pseudo drives.
@since 0.1.6
- @param drive The drive which was aquired and shall be used for writing.
+ @param drive The drive which was acquired and shall be used for writing.
@param flag Bitfield controlling the setting:
bit0= truncate (else do not truncate)
bit1= do not warn if call is inappropriate to drive
@@ -1976,7 +2092,7 @@
struct burn_drive *output_drive, int flag);
-/** Release an aquired drive.
+/** Release an acquired drive.
Wrapper for: burn_drive_release()
@since 0.1.0
@param drive The drive to be released
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/ecma119.c
^
|
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2007 Vreixo Formoso
* Copyright (c) 2007 Mario Danic
- * Copyright (c) 2009 - 2011 Thomas Schmitt
+ * Copyright (c) 2009 - 2012 Thomas Schmitt
*
* This file is part of the libisofs project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
@@ -89,6 +89,14 @@
writer->free_data(writer);
free(writer);
}
+
+#ifdef Libisofs_with_rr_reloc_diR
+
+ if (t->rr_reloc_dir != NULL)
+ free(t->rr_reloc_dir);
+
+#endif /* Libisofs_with_rr_reloc_diR */
+
if (t->input_charset != NULL)
free(t->input_charset);
if (t->output_charset != NULL)
@@ -1666,6 +1674,7 @@
target->no_force_dots = opts->no_force_dots;
target->allow_lowercase = opts->allow_lowercase;
target->allow_full_ascii = opts->allow_full_ascii;
+ target->allow_7bit_ascii = opts->allow_7bit_ascii;
target->relaxed_vol_atts = opts->relaxed_vol_atts;
target->joliet_longer_paths = opts->joliet_longer_paths;
target->joliet_long_names = opts->joliet_long_names;
@@ -1673,6 +1682,22 @@
target->rrip_1_10_px_ino = opts->rrip_1_10_px_ino;
target->aaip_susp_1_10 = opts->aaip_susp_1_10;
target->dir_rec_mtime = opts->dir_rec_mtime;
+
+#ifdef Libisofs_with_rr_reloc_diR
+
+ target->rr_reloc_dir = NULL;
+ if (opts->rr_reloc_dir != NULL) {
+ target->rr_reloc_dir = strdup(opts->rr_reloc_dir);
+ if (target->rr_reloc_dir == NULL) {
+ ret = ISO_OUT_OF_MEM;
+ goto target_cleanup;
+ }
+ }
+ target->rr_reloc_flags = opts->rr_reloc_flags;
+ target->rr_reloc_node = NULL;
+
+#endif /* Libisofs_with_rr_reloc_diR */
+
target->sort_files = opts->sort_files;
target->replace_uid = opts->replace_uid ? 1 : 0;
@@ -2310,6 +2335,69 @@
return 1;
}
+#ifdef Libisofs_with_rr_reloc_diR
+
+static
+int dive_to_depth_8(IsoDir *dir, int depth)
+{
+ int ret;
+ IsoNode *pos;
+
+ if (depth >= 8)
+ return 1;
+ pos = dir->children;
+ for (pos = dir->children; pos != NULL; pos = pos->next) {
+ if (pos->type != LIBISO_DIR)
+ continue;
+ ret = dive_to_depth_8((IsoDir *) pos, depth + 1);
+ if (ret != 0)
+ return ret;
+ }
+ return 0;
+}
+
+static
+int make_reloc_dir_if_needed(IsoImage *img, IsoWriteOpts *opts, int flag)
+{
+ int ret;
+ IsoDir *dir;
+
+ /* Two forms to express the root directory */
+ if (opts->rr_reloc_dir == NULL)
+ return 1;
+ if (opts->rr_reloc_dir[0] == 0)
+ return 1;
+
+ if (strchr(opts->rr_reloc_dir, '/') != NULL)
+ return 0;
+
+ /* Check existence of opts->rr_reloc_dir */
+ ret = iso_dir_get_node(img->root, opts->rr_reloc_dir, NULL);
+ if (ret > 0)
+ return 1;
+ if (ret < 0)
+ return ret;
+
+ /* Check whether there is a directory of depth 8 (root is depth 1) */
+ ret = dive_to_depth_8(img->root, 1);
+ if (ret < 0)
+ return ret;
+ if (ret == 0)
+ return 1;
+
+ /* Make IsoDir with same permissions as root directory */
+ ret = iso_tree_add_new_dir(img->root, opts->rr_reloc_dir, &dir);
+ if (ret < 0)
+ return ret;
+
+ opts->rr_reloc_flags |= 2; /* Auto-created relocation directory */
+
+ return 1;
+}
+
+#endif /* Libisofs_with_rr_reloc_diR */
+
+
int iso_image_create_burn_source(IsoImage *image, IsoWriteOpts *opts,
struct burn_source **burn_src)
{
@@ -2326,6 +2414,18 @@
return ISO_OUT_OF_MEM;
}
+#ifdef Libisofs_with_rr_reloc_diR
+
+ if (!opts->allow_deep_paths) {
+ ret = make_reloc_dir_if_needed(image, opts, 0);
+ if (ret < 0) {
+ free(source);
+ return ret;
+ }
+ }
+
+#endif /* Libisofs_with_rr_reloc_diR */
+
ret = ecma119_image_new(image, opts, &target);
if (ret < 0) {
free(source);
@@ -2434,6 +2534,13 @@
wopts->fifo_size = 1024; /* 2 MB buffer */
wopts->sort_files = 1; /* file sorting is always good */
+#ifdef Libisofs_with_rr_reloc_diR
+
+ wopts->rr_reloc_dir = NULL;
+ wopts->rr_reloc_flags = 0;
+
+#endif /* Libisofs_with_rr_reloc_diR */
+
wopts->system_area_data = NULL;
wopts->system_area_options = 0;
wopts->vol_creation_time = 0;
@@ -2470,6 +2577,14 @@
return;
}
free(opts->output_charset);
+
+#ifdef Libisofs_with_rr_reloc_diR
+
+ if (opts->rr_reloc_dir != NULL)
+ free(opts->rr_reloc_dir);
+
+#endif /* Libisofs_with_rr_reloc_diR */
+
if (opts->system_area_data != NULL)
free(opts->system_area_data);
for (i = 0; i < ISO_MAX_PARTITIONS; i++)
@@ -2642,6 +2757,16 @@
return ISO_SUCCESS;
}
+int iso_write_opts_set_allow_7bit_ascii(IsoWriteOpts *opts, int allow)
+{
+ if (opts == NULL) {
+ return ISO_NULL_POINTER;
+ }
+ opts->allow_7bit_ascii = allow ? 1 : 0;
+ return ISO_SUCCESS;
+}
+
+
int iso_write_opts_set_relaxed_vol_atts(IsoWriteOpts *opts, int allow)
{
if (opts == NULL) {
@@ -2711,6 +2836,22 @@
return ISO_SUCCESS;
}
+int iso_write_opts_set_rr_reloc(IsoWriteOpts *opts, char *name, int flags)
+{
+ if (opts->rr_reloc_dir != name) {
+ if (opts->rr_reloc_dir != NULL)
+ free(opts->rr_reloc_dir);
+ opts->rr_reloc_dir = NULL;
+ if (name != NULL) {
+ opts->rr_reloc_dir = strdup(name);
+ if (opts->rr_reloc_dir == NULL)
+ return ISO_OUT_OF_MEM;
+ }
+ }
+ opts->rr_reloc_flags = flags & 1;
+ return ISO_SUCCESS;
+}
+
int iso_write_opts_set_sort_files(IsoWriteOpts *opts, int sort)
{
if (opts == NULL) {
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/ecma119.h
^
|
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2007 Vreixo Formoso
- * Copyright (c) 2009 - 2011 Thomas Schmitt
+ * Copyright (c) 2009 - 2012 Thomas Schmitt
*
* This file is part of the libisofs project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
@@ -150,6 +150,13 @@
unsigned int allow_full_ascii :1;
/**
+ * If not allow_full_ascii is set: allow all 7 bit characters that would
+ * be allowed by allow_full_ascii. But still map lowercase to uppercase if
+ * not allow_lowercase is set to 1.
+ */
+ unsigned int allow_7bit_ascii :1;
+
+ /**
* Allow all characters to be part of Volume and Volset identifiers on
* the Primary Volume Descriptor. This breaks ISO-9660 contraints, but
* should work on modern systems.
@@ -207,6 +214,24 @@
unsigned int dir_rec_mtime :3;
/**
+ * This describes the directory where to store Rock Ridge relocated
+ * directories.
+ * If not relaxation "allow_deep_paths" is in effect, it is necessary to
+ * relocate directories so that no ECMA-119 file path has more than
+ * 8 components. For Rock Ridge the relocated directories are linked forth
+ * and back to a placeholder at their original position in path level 8
+ * (entries CL and PL). Directories marked by entry RE are to be considered
+ * artefacts of relocation and shall not be read into a Rock Ridge tree.
+ * For plain ECMA-119, the relocation directory is just a normal directory
+ * which contains normal files and directories.
+ */
+ char *rr_reloc_dir; /* IsoNode name in root directory */
+ int rr_reloc_flags; /* bit0= mark auto-created rr_reloc_dir by RE
+ bit1= directory was auto-created
+ (cannot be set via API)
+ */
+
+ /**
* Compute MD5 checksum for the whole session and record it as index 0 of
* the checksum blocks after the data area of the session. The layout and
* position of these blocks will be recorded in xattr "isofs.ca" of the
@@ -459,6 +484,7 @@
unsigned int no_force_dots :2;
unsigned int allow_lowercase :1;
unsigned int allow_full_ascii :1;
+ unsigned int allow_7bit_ascii :1;
unsigned int relaxed_vol_atts : 1;
@@ -482,6 +508,12 @@
*/
unsigned int dir_rec_mtime :3;
+ /* The ECMA-119 directory where to store Rock Ridge relocated directories.
+ */
+ char *rr_reloc_dir; /* IsoNode name in root directory */
+ int rr_reloc_flags;
+ Ecma119Node *rr_reloc_node; /* Directory node in ecma119_image */
+
unsigned int md5_session_checksum :1;
unsigned int md5_file_checksums :2;
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/ecma119_tree.c
^
|
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2007 Vreixo Formoso
- * Copyright (c) 2009 Thomas Schmitt
+ * Copyright (c) 2009 - 2012 Thomas Schmitt
*
* This file is part of the libisofs project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
@@ -32,7 +32,7 @@
static
int get_iso_name(Ecma119Image *img, IsoNode *iso, char **name)
{
- int ret, relaxed, free_ascii_name= 0, force_dots = 0, max_len;
+ int ret, relaxed, free_ascii_name= 0, force_dots = 0;
char *ascii_name;
char *isoname= NULL;
@@ -59,6 +59,8 @@
} else {
relaxed = (int)img->allow_lowercase;
}
+ if (img->allow_7bit_ascii)
+ relaxed |= 4;
if (iso->type == LIBISO_DIR && !(img->allow_dir_id_ext)) {
if (img->untranslated_name_len > 0) {
if (strlen(ascii_name) > img->untranslated_name_len) {
@@ -73,11 +75,22 @@
} else if (img->max_37_char_filenames) {
isoname = iso_r_dirid(ascii_name, 37, relaxed);
} else if (img->iso_level == 1) {
+
+#ifdef Libisofs_old_ecma119_nameS
+
if (relaxed) {
isoname = iso_r_dirid(ascii_name, 8, relaxed);
} else {
- isoname = iso_1_dirid(ascii_name);
+ isoname = iso_1_dirid(ascii_name, 0);
}
+
+#else /* Libisofs_old_ecma119_nameS */
+
+ isoname = iso_1_dirid(ascii_name, relaxed);
+
+#endif /* ! Libisofs_old_ecma119_nameS */
+
+
} else {
if (relaxed) {
isoname = iso_r_dirid(ascii_name, 31, relaxed);
@@ -94,7 +107,12 @@
} else if (img->max_37_char_filenames) {
isoname = iso_r_fileid(ascii_name, 36, relaxed, force_dots);
} else if (img->iso_level == 1) {
- if (relaxed || !force_dots) {
+
+#ifdef Libisofs_old_ecma119_nameS
+
+ int max_len;
+
+ if (relaxed) {
if (strchr(ascii_name, '.') == NULL)
max_len = 8;
else
@@ -102,8 +120,15 @@
isoname = iso_r_fileid(ascii_name, max_len, relaxed,
force_dots);
} else {
- isoname = iso_1_fileid(ascii_name);
+ isoname = iso_1_fileid(ascii_name, 0, force_dots);
}
+
+#else /* Libisofs_old_ecma119_nameS */
+
+ isoname = iso_1_fileid(ascii_name, relaxed, force_dots);
+
+#endif /* ! Libisofs_old_ecma119_nameS */
+
} else {
if (relaxed || !force_dots) {
isoname = iso_r_fileid(ascii_name, 30, relaxed, force_dots);
@@ -126,6 +151,21 @@
}
}
+int ecma119_is_dedicated_reloc_dir(Ecma119Image *img, Ecma119Node *node)
+{
+
+#ifdef Libisofs_with_rr_reloc_diR
+
+ if (img->rr_reloc_node == node &&
+ node != img->root && node != img->partition_root &&
+ (img->rr_reloc_flags & 2))
+ return 1;
+
+#endif /* Libisofs_with_rr_reloc_diR */
+
+ return 0;
+}
+
static
int create_ecma119_node(Ecma119Image *img, IsoNode *iso, Ecma119Node **node)
{
@@ -434,6 +474,22 @@
if (ret < 0) {
goto ex;
}
+
+#ifdef Libisofs_with_rr_reloc_diR
+
+ if (depth == 1) { /* root is default */
+ image->rr_reloc_node = node;
+ } else if (depth == 2) {
+ /* Directories in root may be used as relocation dir */
+ if (image->rr_reloc_dir != NULL)
+ if (image->rr_reloc_dir[0] != 0 &&
+ strcmp(iso->name, image->rr_reloc_dir) == 0)
+ image->rr_reloc_node = node;
+ }
+
+#endif /* Libisofs_with_rr_reloc_diR */
+
+
}
ret = ISO_SUCCESS;
pos = dir->children;
@@ -750,7 +806,7 @@
}
static
-int mangle_tree(Ecma119Image *img, int recurse)
+int mangle_tree(Ecma119Image *img, Ecma119Node *dir, int recurse)
{
int max_file, max_dir;
Ecma119Node *root;
@@ -765,7 +821,9 @@
} else {
max_file = max_dir = 31;
}
- if (img->eff_partition_offset > 0) {
+ if (dir != NULL) {
+ root = dir;
+ } else if (img->eff_partition_offset > 0) {
root = img->partition_root;
} else {
root = img->root;
@@ -887,41 +945,75 @@
* 1 success, < 0 error
*/
static
-int reorder_tree(Ecma119Image *img, Ecma119Node *dir, int level, int pathlen)
+int reorder_tree(Ecma119Image *img, Ecma119Node *dir,
+ int dir_level, int dir_pathlen)
{
- int ret;
- size_t max_path;
- Ecma119Node *root;
+ int ret, level, pathlen, newpathlen;
+ size_t max_path, i;
+ Ecma119Node *reloc, *child;
+
+ /* might change by relocation */
+ level = dir_level;
+ pathlen = dir_pathlen;
max_path = pathlen + 1 + max_child_name_len(dir);
if (level > 8 || max_path > 255) {
+
+#ifdef Libisofs_with_rr_reloc_diR
+
+ reloc = img->rr_reloc_node;
+ if (reloc == NULL) {
+ if (img->eff_partition_offset > 0) {
+ reloc = img->partition_root;
+ } else {
+ reloc = img->root;
+ }
+ }
+
+#else
+
if (img->eff_partition_offset > 0) {
- root = img->partition_root;
+ reloc = img->partition_root;
} else {
- root = img->root;
+ reloc = img->root;
}
- ret = reparent(dir, root);
+
+#endif /* ! Libisofs_with_rr_reloc_diR */
+
+ ret = reparent(dir, reloc);
if (ret < 0) {
return ret;
}
- /*
- * we are appended to the root's children now, so there is no
- * need to recurse (the root will hit us again)
- */
- } else {
- size_t i;
+ if (reloc == img->root || reloc == img->partition_root) {
+ /*
+ * we are appended to the root's children now, so there is no
+ * need to recurse (the root will hit us again)
+ */
+ return ISO_SUCCESS;
+ }
- for (i = 0; i < dir->info.dir->nchildren; i++) {
- Ecma119Node *child = dir->info.dir->children[i];
- if (child->type == ECMA119_DIR) {
- int newpathlen = pathlen + 1 + strlen(child->iso_name);
- ret = reorder_tree(img, child, level + 1, newpathlen);
- if (ret < 0) {
- return ret;
- }
- }
+ /* dir is now the relocated Ecma119Node */
+ pathlen = 37 + 1; /* The dir name might get longer by mangling */
+ level = 2;
+ if (img->rr_reloc_dir != NULL) {
+ pathlen += strlen(img->rr_reloc_node->iso_name) + 1;
+ if(img->rr_reloc_dir[0] != 0)
+ level = 3;
+ }
+ }
+
+ if (ecma119_is_dedicated_reloc_dir(img, (Ecma119Node *) dir))
+ return ISO_SUCCESS;
+
+ for (i = 0; i < dir->info.dir->nchildren; i++) {
+ child = dir->info.dir->children[i];
+ if (child->type == ECMA119_DIR) {
+ newpathlen = pathlen + 1 + strlen(child->iso_name);
+ ret = reorder_tree(img, child, level + 1, newpathlen);
+ if (ret < 0)
+ return ret;
}
}
return ISO_SUCCESS;
@@ -1125,14 +1217,14 @@
sort_tree(root);
iso_msg_debug(img->image->id, "Mangling names...");
- ret = mangle_tree(img, 1);
+ ret = mangle_tree(img, NULL, 1);
if (ret < 0) {
return ret;
}
if (img->rockridge && !img->allow_deep_paths) {
- /* reorder the tree, acording to RRIP, 4.1.5 */
+ /* Relocate deep directories, acording to RRIP, 4.1.5 */
ret = reorder_tree(img, root, 1, 0);
if (ret < 0) {
return ret;
@@ -1140,10 +1232,16 @@
/*
* and we need to remangle the root directory, as the function
- * above could insert new directories into the root.
+ * above could insert new directories into the relocation directory.
* Note that recurse = 0, as we don't need to recurse.
*/
- ret = mangle_tree(img, 0);
+
+#ifdef Libisofs_with_rr_reloc_diR
+ ret = mangle_tree(img, img->rr_reloc_node, 0);
+#else
+ ret = mangle_tree(img, NULL, 0);
+#endif
+
if (ret < 0) {
return ret;
}
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/ecma119_tree.h
^
|
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2007 Vreixo Formoso
+ * 2012 Thomas Schmitt
*
* This file is part of the libisofs project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
@@ -96,5 +97,11 @@
*/
Ecma119Node *ecma119_search_iso_node(Ecma119Image *img, IsoNode *node);
+/**
+ * Tell whether node is a dedicated relocation directory which only contains
+ * relocated directories.
+ */
+int ecma119_is_dedicated_reloc_dir(Ecma119Image *img, Ecma119Node *node);
+
#endif /*LIBISO_ECMA119_TREE_H_*/
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/filesrc.c
^
|
@@ -26,6 +26,8 @@
#include <string.h>
#include <limits.h>
+/* <<< */
+#include <stdio.h>
#ifdef Xorriso_standalonE
@@ -345,6 +347,7 @@
void *ctx= NULL;
char md5[16], pre_md5[16];
int pre_md5_valid = 0;
+ IsoStream *stream, *inp;
#ifdef Libisofs_with_libjtE
int jte_begun = 0;
#endif
@@ -381,7 +384,14 @@
pre_md5_valid = filesrc_make_md5(t, file, pre_md5, 0);
}
res = filesrc_open(file);
- iso_stream_get_file_name(file->stream, name);
+
+ /* Get file name from end of filter chain */
+ for (stream = file->stream; ; stream = inp) {
+ inp = iso_stream_get_input_stream(stream, 0);
+ if (inp == NULL)
+ break;
+ }
+ iso_stream_get_file_name(stream, name);
if (res < 0) {
/*
* UPS, very ugly error, the best we can do is just to write
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/find.c
^
|
@@ -141,11 +141,12 @@
static
int find_iter_next(IsoDirIter *iter, IsoNode **node)
{
- struct find_iter_data *data = iter->data;
+ struct find_iter_data *data;
if (iter == NULL || node == NULL) {
return ISO_NULL_POINTER;
}
+ data = iter->data;
if (data->err < 0) {
return data->err;
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/fs_image.c
^
|
@@ -522,18 +522,30 @@
continue;
}
- /*
+ /* (Vreixo:)
* What about ignoring files with existence flag?
* if (record->flags[0] & 0x01)
* continue;
+ * ts B20306 : >>> One should rather record that flag and write it
+ * >>> to the new image.
*/
- /*
+#ifdef Libisofs_wrongly_skip_rr_moveD
+ /* ts B20306 :
+ This skipping by name is wrong resp. redundant:
+ If no rr reading is enabled, then it is the only access point for
+ the content of relocated directories. So one should not ignore it.
+ If rr reading is enabled, then the RE entry of mkisofs' RR_MOVED
+ will cause it to be skipped.
+ */
+
+ /* (Vreixo:)
* For a extrange reason, mkisofs relocates directories under
* a RR_MOVED dir. It seems that it is only used for that purposes,
* and thus it should be removed from the iso tree before
* generating a new image with libisofs, that don't uses it.
*/
+
if (data->parent == NULL && record->len_fi[0] == 8
&& !strncmp((char*)record->file_id, "RR_MOVED", 8)) {
@@ -544,6 +556,8 @@
continue;
}
+#endif /* Libisofs_wrongly_skip_rr_moveD */
+
/*
* We pass a NULL parent instead of dir, to prevent the circular
* reference from child to parent.
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/libisofs.h
^
|
@@ -84,7 +84,7 @@
*/
#define iso_lib_header_version_major 1
#define iso_lib_header_version_minor 2
-#define iso_lib_header_version_micro 0
+#define iso_lib_header_version_micro 2
/**
* Get version of the libisofs library at runtime.
@@ -1537,6 +1537,45 @@
int iso_write_opts_set_allow_deep_paths(IsoWriteOpts *opts, int allow);
/**
+ * This call describes the directory where to store Rock Ridge relocated
+ * directories.
+ * If not iso_write_opts_set_allow_deep_paths(,1) is in effect, then it may
+ * become necessary to relocate directories so that no ECMA-119 file path
+ * has more than 8 components. These directories are grafted into either
+ * the root directory of the ISO image or into a dedicated relocation
+ * directory.
+ * For Rock Ridge, the relocated directories are linked forth and back to
+ * placeholders at their original positions in path level 8. Directories
+ * marked by Rock Ridge entry RE are to be considered artefacts of relocation
+ * and shall not be read into a Rock Ridge tree. Instead they are to be read
+ * via their placeholders and their links.
+ * For plain ECMA-119, the relocation directory and the relocated directories
+ * are just normal directories which contain normal files and directories.
+ * @param opts
+ * The option set to be manipulated.
+ * @param name
+ * The name of the relocation directory in the root directory. Do not
+ * prepend "/". An empty name or NULL will direct relocated directories
+ * into the root directory. This is the default.
+ * If the given name does not exist in the root directory when
+ * iso_image_create_burn_source() is called, and if there are directories
+ * at path level 8, then directory /name will be created automatically.
+ * The name given by this call will be compared with iso_node_get_name()
+ * of the directories in the root directory, not with the final ECMA-119
+ * names of those directories.
+ * @parm flags
+ * Bitfield for control purposes.
+ * bit0= Mark the relocation directory by a Rock Ridge RE entry, if it
+ * gets created during iso_image_create_burn_source(). This will
+ * make it invisible for most Rock Ridge readers.
+ * bit1= not settable via API (used internally)
+ * @return
+ * 1 success, < 0 error
+ * @since 1.2.2
+*/
+int iso_write_opts_set_rr_reloc(IsoWriteOpts *opts, char *name, int flags);
+
+/**
* Allow path in the ISO-9660 tree to have more than 255 characters.
* This breaks ECMA-119 specification. Use with caution.
*
@@ -1545,7 +1584,7 @@
int iso_write_opts_set_allow_longer_paths(IsoWriteOpts *opts, int allow);
/**
- * Allow a single file or directory hierarchy to have up to 37 characters.
+ * Allow a single file or directory identifier to have up to 37 characters.
* This is larger than the 31 characters allowed by ISO level 2, and the
* extra space is taken from the version number, so this also forces
* omit_version_numbers.
@@ -1576,13 +1615,15 @@
* Allow lowercase characters in ISO-9660 filenames. By default, only
* uppercase characters, numbers and a few other characters are allowed.
* This breaks ECMA-119 specification. Use with caution.
+ * If lowercase is not allowed then those letters get mapped to uppercase
+ * letters.
*
* @since 0.6.2
*/
int iso_write_opts_set_allow_lowercase(IsoWriteOpts *opts, int allow);
/**
- * Allow all ASCII characters to be appear on an ISO-9660 filename. Note
+ * Allow all 8-bit characters to appear on an ISO-9660 filename. Note
* that "/" and 0x0 characters are never allowed, even in RR names.
* This breaks ECMA-119 specification. Use with caution.
*
@@ -1591,6 +1632,20 @@
int iso_write_opts_set_allow_full_ascii(IsoWriteOpts *opts, int allow);
/**
+ * If not iso_write_opts_set_allow_full_ascii() is set to 1:
+ * Allow all 7-bit characters that would be allowed by allow_full_ascii, but
+ * map lowercase to uppercase if iso_write_opts_set_allow_lowercase()
+ * is not set to 1.
+ * @param opts
+ * The option set to be manipulated.
+ * @param allow
+ * If not zero, then allow what is described above.
+ *
+ * @since 1.2.2
+ */
+int iso_write_opts_set_allow_7bit_ascii(IsoWriteOpts *opts, int allow);
+
+/**
* Allow all characters to be part of Volume and Volset identifiers on
* the Primary Volume Descriptor. This breaks ISO-9660 contraints, but
* should work on modern systems.
@@ -7170,6 +7225,11 @@
/* currently none being tested */
+/* Perform the operations promised by iso_write_opts_set_rr_reloc() */
+#define Libisofs_with_rr_reloc_diR yes
+
+
+
/* ---------------------------- Experiments ---------------------------- */
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/rockridge.c
^
|
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2007 Vreixo Formoso
* Copyright (c) 2007 Mario Danic
- * Copyright (c) 2009 - 2011 Thomas Schmitt
+ * Copyright (c) 2009 - 2012 Thomas Schmitt
*
* This file is part of the libisofs project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
@@ -406,12 +406,15 @@
#ifdef Libisofs_with_rrip_rR
/**
- * Add to the given tree node a RR System Use Entry. This is an obsolete
- * entry from before RRIP-1.10. Nevertheless mkisofs produces it and there
- * is the suspicion that Solaris takes it as indication for Rock Ridge.
+ * Add a RR System Use Entry to the given tree node. This is an obsolete
+ * entry from before RRIP-1.10. Nevertheless mkisofs produces it. There
+ * is the suspicion that some operating systems could take it as indication
+ * for Rock Ridge.
*
- * I once saw a copy of a RRIP spec which mentioned RR. Here i just use
- * the same constant 5 bytes as produced by mkisofs.
+ * The meaning of the payload byte is documented e.g. in
+ * /usr/src/linux/fs/isofs/rock.h
+ * It announces the presence of entries PX, PN, SL, NM, CL, PL, RE, TF
+ * by payload byte bits 0 to 7.
*/
static
int rrip_add_RR(Ecma119Image *t, Ecma119Node *n, struct susp_info *susp)
@@ -426,7 +429,14 @@
RR[1] = 'R';
RR[2] = 5;
RR[3] = 1;
- RR[4] = 0201;
+
+ /* <<< ts B20307 : Not all directories have NM, many files have more entries */
+ RR[4] = 0x89; /* TF, NM , PX */
+
+ /* >>> ts B20307 : find out whether n carries
+ PX, PN, SL, NM, CL, PL, RE, TF and mark by bit0 to bit7 in RR[4]
+ */
+
return susp_append(t, susp, RR);
}
@@ -1236,7 +1246,17 @@
/* we need to add a RE entry */
su_size += 4;
}
+
+#ifdef Libisofs_with_rr_reloc_diR
+
+ } else if(ecma119_is_dedicated_reloc_dir(t, n) &&
+ (t->rr_reloc_flags & 1)) {
+ /* The dedicated relocation directory shall be marked by RE */
+ su_size += 4;
}
+
+#endif /* Libisofs_with_rr_reloc_diR */
+
} else if (n->type == ECMA119_SPECIAL) {
if (S_ISBLK(n->node->mode) || S_ISCHR(n->node->mode)) {
/* block or char device, we need a PN entry */
@@ -1422,6 +1442,18 @@
goto add_susp_cleanup;
}
}
+
+#ifdef Libisofs_with_rr_reloc_diR
+
+ } else if(ecma119_is_dedicated_reloc_dir(t, n) &&
+ (t->rr_reloc_flags & 1)) {
+ /* The dedicated relocation directory shall be marked by RE */
+ ret = rrip_add_RE(t, node, info);
+ if (ret < 0)
+ goto add_susp_cleanup;
+
+#endif /* Libisofs_with_rr_reloc_diR */
+
}
} else if (n->type == ECMA119_SPECIAL) {
if (S_ISBLK(n->node->mode) || S_ISCHR(n->node->mode)) {
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/util.c
^
|
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2007 Vreixo Formoso
* Copyright (c) 2007 Mario Danic
- * Copyright (c) 2009 - 2011 Thomas Schmitt
+ * Copyright (c) 2009 - 2012 Thomas Schmitt
*
* This file is part of the libisofs project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
@@ -685,8 +685,37 @@
&& cmp_ucsbe(&c, '\\');
}
+/* @param relaxed bit0+1 0= strict ECMA-119
+ 1= additionally allow lowercase (else map to upper)
+ 2= allow all 8-bit characters
+ bit2 allow all 7-bit characters (but map to upper if
+ not bit0+1 == 2)
+*/
+static char map_fileid_char(char c, int relaxed)
+{
+ char upper;
+
+ if (c == '/') /* Allowing slashes would cause lots of confusion */
+ return '_';
+ if ((relaxed & 3) == 2)
+ return c;
+ if (valid_d_char(c))
+ return c;
+ if ((relaxed & 4) && (c & 0x7f) == c && (c < 'a' || c > 'z'))
+ return c;
+ upper= toupper(c);
+ if (valid_d_char(upper)) {
+ if (relaxed & 3) {
+ /* lower chars are allowed */
+ return c;
+ }
+ return upper;
+ }
+ return '_';
+}
+
static
-char *iso_dirid(const char *src, int size)
+char *iso_dirid(const char *src, int size, int relaxed)
{
size_t len, i;
char name[32];
@@ -696,25 +725,35 @@
len = size;
}
for (i = 0; i < len; i++) {
+
+#ifdef Libisofs_old_ecma119_nameS
+
char c= toupper(src[i]);
name[i] = valid_d_char(c) ? c : '_';
+
+#else /* Libisofs_old_ecma119_nameS */
+
+ name[i] = map_fileid_char(src[i], relaxed);
+
+#endif /* ! Libisofs_old_ecma119_nameS */
+
}
name[len] = '\0';
return strdup(name);
}
-char *iso_1_dirid(const char *src)
+char *iso_1_dirid(const char *src, int relaxed)
{
- return iso_dirid(src, 8);
+ return iso_dirid(src, 8, relaxed);
}
char *iso_2_dirid(const char *src)
{
- return iso_dirid(src, 31);
+ return iso_dirid(src, 31, 0);
}
-char *iso_1_fileid(const char *src)
+char *iso_1_fileid(const char *src, int relaxed, int force_dots)
{
char *dot; /* Position of the last dot in the filename, will be used
* to calculate lname and lext. */
@@ -725,7 +764,8 @@
return NULL;
}
dot = strrchr(src, '.');
-
+ if (dot == src && strlen(src) > 4)
+ dot = NULL; /* Use the long extension instead of the empty name */
lext = dot ? strlen(dot + 1) : 0;
lname = strlen(src) - lext - (dot ? 1 : 0);
@@ -738,19 +778,43 @@
/* Convert up to 8 characters of the filename. */
for (i = 0; i < lname && i < 8; i++) {
+
+#ifdef Libisofs_old_ecma119_nameS
+
char c= toupper(src[i]);
dest[pos++] = valid_d_char(c) ? c : '_';
+
+#else /* Libisofs_old_ecma119_nameS */
+
+ if (dot == NULL && src[i] == '.')
+ dest[pos++] = '_'; /* make sure that ignored dots do not appear */
+ else
+ dest[pos++] = map_fileid_char(src[i], relaxed);
+
+#endif /* ! Libisofs_old_ecma119_nameS */
+
}
/* This dot is mandatory, even if there is no extension. */
- dest[pos++] = '.';
+ if (force_dots || lext > 0)
+ dest[pos++] = '.';
/* Convert up to 3 characters of the extension, if any. */
for (i = 0; i < lext && i < 3; i++) {
+
+#ifdef Libisofs_old_ecma119_nameS
+
char c= toupper(src[lname + 1 + i]);
dest[pos++] = valid_d_char(c) ? c : '_';
+
+#else /* Libisofs_old_ecma119_nameS */
+
+ dest[pos++] = map_fileid_char(src[lname + 1 + i], relaxed);
+
+#endif /* ! Libisofs_old_ecma119_nameS */
+
}
dest[pos] = '\0';
@@ -817,8 +881,11 @@
* @param size
* Max len for the name
* @param relaxed
- * 0 only allow d-characters, 1 allow also lowe case chars,
- * 2 allow all characters
+ * bit0+1: 0 only allow d-characters,
+ * 1 allow also lowe case chars,
+ * 2 allow all 8-bit characters,
+ * bit2: allow 7-bit characters (but map lowercase to uppercase if
+ * not bit0+1 == 2)
*/
char *iso_r_dirid(const char *src, int size, int relaxed)
{
@@ -833,6 +900,9 @@
if (dest == NULL)
return NULL;
for (i = 0; i < len; i++) {
+
+#ifdef Libisofs_old_ecma119_nameS
+
char c= src[i];
if (relaxed == 2) {
/* all chars are allowed */
@@ -853,6 +923,13 @@
dest[i] = '_';
}
}
+
+#else /* Libisofs_old_ecma119_nameS */
+
+ dest[i] = map_fileid_char(src[i], relaxed);
+
+#endif /* ! Libisofs_old_ecma119_nameS */
+
}
dest[len] = '\0';
@@ -860,13 +937,17 @@
}
/**
- * Create a file name suitable for an ISO image with relaxed constraints.
+ * Create a file name suitable for an ISO image with level > 1 and
+ * with relaxed constraints.
*
* @param len
* Max len for the name, without taken the "." into account.
* @param relaxed
- * 0 only allow d-characters, 1 allow also lowe case chars,
- * 2 allow all characters
+ * bit0+1: 0 only allow d-characters,
+ * 1 allow also lowe case chars,
+ * 2 allow all 8-bit characters,
+ * bit2: allow 7-bit characters (but map lowercase to uppercase if
+ * not bit0+1 == 2)
* @param forcedot
* Whether to ensure that "." is added
*/
@@ -913,6 +994,9 @@
/* Convert up to lnname characters of the filename. */
for (i = 0; i < lnname; i++) {
+
+#ifdef Libisofs_old_ecma119_nameS
+
char c= src[i];
if (relaxed == 2) {
/* all chars are allowed */
@@ -933,6 +1017,13 @@
dest[pos++] = '_';
}
}
+
+#else /* Libisofs_old_ecma119_nameS */
+
+ dest[pos++] = map_fileid_char(src[i], relaxed);
+
+#endif /* ! Libisofs_old_ecma119_nameS */
+
}
if (lnext > 0 || forcedot) {
dest[pos++] = '.';
@@ -940,6 +1031,9 @@
/* Convert up to lnext characters of the extension, if any. */
for (i = lname + 1; i < lname + 1 + lnext; i++) {
+
+#ifdef Libisofs_old_ecma119_nameS
+
char c= src[i];
if (relaxed == 2) {
/* all chars are allowed */
@@ -960,6 +1054,13 @@
dest[pos++] = '_';
}
}
+
+#else /* Libisofs_old_ecma119_nameS */
+
+ dest[pos++] = map_fileid_char(src[i], relaxed);
+
+#endif /* ! Libisofs_old_ecma119_nameS */
+
}
dest[pos] = '\0';
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libisofs/util.h
^
|
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2007 Vreixo Formoso
- * Copyright (c) 2009 Thomas Schmitt
+ * Copyright (c) 2009 - 2012 Thomas Schmitt
*
* This file is part of the libisofs project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
@@ -93,8 +93,11 @@
*
* @param src
* The identifier, in ASCII encoding.
+ * @param relaxed
+ * 0 only allow d-characters, 1 allow also lowe case chars,
+ * 2 allow all characters
*/
-char *iso_1_dirid(const char *src);
+char *iso_1_dirid(const char *src, int relaxed);
/**
* Create a level 2 directory identifier.
@@ -124,8 +127,13 @@
*
* @param src
* The identifier, in ASCII encoding.
+ * @param relaxed
+ * 0 only allow d-characters, 1 allow also lowe case chars,
+ * 2 allow all characters
+ * @param force_dots
+ * If 1 then prepend empty extension by SEPARATOR1 = '.'
*/
-char *iso_1_fileid(const char *src);
+char *iso_1_fileid(const char *src, int relaxed, int force_dots);
/**
* Create a level 2 file identifier.
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/libtool
^
|
@@ -1,7 +1,7 @@
#! /bin/sh
# libtoolT - Provide generalized library-building support services.
-# Generated automatically by (GNU libisoburn 1.1.9)
+# Generated automatically by (GNU libisoburn 1.2.1)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/base_obj.c
^
|
@@ -3,7 +3,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -122,6 +122,7 @@
for(i=0;i<m->rc_filename_count-1;i++)
strcpy(m->rc_filenames[i],Xorriso_sys_rc_nameS[i]);
m->rc_filenames[m->rc_filename_count-1][0]= 0;
+ m->arrange_args= 0;
m->mkisofsrc_done= 0;
m->wdi[0]= 0;
@@ -143,6 +144,8 @@
m->scdbackup_tag_written[0]= 0;
m->scdbackup_tag_listname[0]= 0;
m->relax_compliance= 0;
+ m->rr_reloc_dir[0]= 0;
+ m->rr_reloc_flags= 1;
m->untranslated_name_len= 0;
m->do_follow_pattern= 1;
m->do_follow_param= 0;
@@ -189,6 +192,9 @@
m->displacement_sign= 0;
m->drives_exclusive= 1;
m->early_stdio_test= 0;
+ m->cache_num_tiles= 0;
+ m->cache_tile_blocks= 0;
+ m->cache_default= 1 | 2;
m->do_calm_drive= 1;
m->indev[0]= 0;
m->in_drive_handle= NULL;
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/changelog.txt
^
|
@@ -12314,13 +12314,442 @@
* Made -compliance "rec_mtime" default for xorriso
-
- []
+2012.01.27.155323 [4609]
+configure.ac
+README
+libisoburn/libisoburn.h
+xorriso/README_gnu_xorriso
+xorriso/xorriso.h
+xorriso/xorrisoburn.h
+xorriso/xorriso_main.c
xorriso/xorriso_eng.html
+xorriso/make_xorriso_standalone.sh
+xorriso/configure_ac.txt
+xorriso/xorriso_timestamp.h
+xorriso/xorriso.texi
+xorriso/xorriso.1
+xorriso/xorriso.info
+xorriso/xorrisofs.texi
+xorriso/xorrisofs.1
+xorriso/xorrisofs.info
+xorriso/xorrecord.texi
+xorriso/xorrecord.1
+xorriso/xorrecord.info
+Version leap to libisoburn-1.2.1
+
+27 Jan 2012 [4610]
+ChangeLog
xorriso/changelog.txt
+Documented changes and release timestamp
+
+27 Jan 2012 [4611]
+svn move -m Promoted branch to tag
+http://svn.libburnia-project.org/libisoburn/branches/1.2.0
+http://svn.libburnia-project.org/libisoburn/tags/1.2.0
+
+------------------------------------ cycle - xorriso-1.2.1 - 2012.01.27.155323
+
+
+2012.01.31.130405 [4616]
+xorriso/xorriso.h
+xorriso/xorriso_private.h
+xorriso/base_obj.c
+xorriso/parse_exec.h
+xorriso/parse_exec.c
+xorriso/opts_d_h.c
+xorriso/opts_i_o.c
+libisoburn/libisoburn.ver
+xorriso/xorriso.texi
+xorriso/xorriso.1
+xorriso/xorriso.info
+New commands -x, -list_arg_sorting
+
+2012.02.01.122709 [4617]
+xorriso/drive_mgt.c
+Avoided lots of error messages when checking media in empty drive
+
+2012.02.01.162935 [4618]
+xorriso/drive_mgt.c
+xorriso/text_io.c
+Reporting correct speed unit with -check_media use=outdev
+
+2012.02.01.163200 [4619]
+xorriso/drive_mgt.c
+Allowed chunk_size= values up to 1024s
+
+02 Feb 2012 [4620]
+xorriso/xorriso.texi
+xorriso/xorriso.1
+xorriso/xorriso.info
+Polished man page about option -x
+
+02 Feb 2012 [4621]
+xorriso/xorriso_eng.html
+ChangeLog
+Updated change log and web page
+
+------------------------------------ cycle - xorriso-1.2.1 - 2012.02.01.163200
+* New commands -x, -list_arg_sorting
+
+
+02 Feb 2012 [4622]
+xorriso/xorriso_eng.html
+Fixed a HTML bug in xorriso web page
+
+02 Feb 2012 [4623]
+xorriso/man_xorriso_to_html.sh
+Updated generator script for HTML man page
+
+2012.02.14.103107 [4629]
+libisoburn/libisoburn.h
+libisoburn/libisoburn.ver
+libisoburn/isoburn.h
+libisoburn/isofs_wrap.c
+libisoburn/isoburn.c
+New API calls isoburn_get_attached_start_lba(), isoburn_attach_start_lba()
+
+2012.02.14.103256 [4630]
+xorriso/drive_mgt.c
+More accurate determination of size with check_media what=image
+
+24 Feb 2012 [4633]
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+Some adjustments in xorriso man page
+
+2012.02.25.154938 [4634]
+xorriso/opts_d_h.c
+xorriso/read_run.c
+xorriso/text_io.c
+Enabled speed display with command -extract
+
+2012.02.25.194514 [4635]
+xorriso/disk_ops.c
+Bug fix: -osirrox on:sort_lba_on -extract from / restored nearly nothing
+
+27 Feb 2012 [4636]
+xorriso/disk_ops.c
+Fixed a problem with directing an -extract to the / directory of disk
+
+2012.02.27.150241 [4637]
+libisoburn/isoburn.h
+libisoburn/isoburn.c
+libisoburn/isofs_wrap.c
+New default permission on / directory: rwxr-xr-x
+
+27 Feb 2012 [4638]
+xorriso/man_xorriso_to_html.sh
+Equipped chapters of xorriso HTML man page with link targets
+
+27 Feb 2012 [4639]
+xorriso/xorriso_eng.html
+ChangeLog
+Updated change log and web page
+
+------------------------------------ cycle - xorriso-1.2.1 - 2012.02.27.150241
+* New API calls isoburn_get_attached_start_lba(), isoburn_attach_start_lba()
+* Bug fix: -osirrox on:sort_lba_on -extract from / restored nearly nothing
+
+
+2012.02.29.135454 [4640]
+xorriso/drive_mgt.c
+Fixed a problem after blanking, which was introduced by rev 4630.
+
+------------------------------------ cycle - xorriso-1.2.1 - 2012.02.29.135454
+
+
+2012.03.03.104637 [4641]
+xorriso/filters.c
+Bug fix: Setting file content filters did not mark image as changed for commit
+
+2012.03.03.134008 [4642]
+xorriso/opts_a_c.c
+xorriso/opts_d_h.c
+xorriso/opts_i_o.c
+xorriso/opts_p_z.c
+xorriso/emulators.c
+xorriso/drive_mgt.c
+xorriso/read_run.c
+xorriso/write_run.c
+Centralized the inquiry whether an image change is pending
+
+2012.03.03.182917 [4643]
+xorriso/xorriso.h
+xorriso/parse_exec.c
+xorriso/opts_a_c.c
+xorriso/opts_d_h.c
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+libisoburn/libisoburn.ver
+New command -changes_pending
+
+2012.03.03.185100 [4644]
+xorriso/filters.c
+Revoked rev 4641. It is not a bug but a feature. E.g. for reading.
+
+03 Mar 2012 [4645]
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+Mentioned peculiar -changes_pending behavior of filter attaching
+
+2012.03.03.211636 [4646]
+xorriso/opts_d_h.c
+Corrected texts about "command", "argument", "parameter"
+
+2012.03.04.094824 [4647]
+xorriso/iso_img.c
+Added a comment
+
+2012.03.04.095952 [4648]
+xorriso/xorriso.h
+Added a comment
+
+05 Mar 2012 [4649]
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+xorriso/man_xorriso_to_html.sh
+Changed xorriso.texi according to proposals by Tony Mancill
+
+05 Mar 2012 [4650]
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+xorriso/man_xorriso_to_html.sh
+Revised the use of "option" and "ASCII" in xorriso.texi
+
+05 Mar 2012 [4651]
+xorriso/README_gnu_xorriso
+Corrected orthographical error in GNU xorriso readme file
+
+2012.03.05.145209 [4652]
+libisoburn/libisoburn.h
+Corrected orthographical errors in libisoburn.h
+
+2012.03.05.145346 [4653]
+xorriso/xorriso.h
+Replaced many occurences of "option" by "command" in comments of xorriso.h
+
+------------------------------------ cycle - xorriso-1.2.1 - 2012.03.05.145346
+
+
+2012.03.05.204946 [4654]
+xorriso/emulators.c
+Added -hide-rr-moved to the list of ignored -as mkisofs options
+
+2012.03.09.190043 [4655]
+xorriso/iso_manip.c
+Corrected missing linefeed in message of command -mkdir
+
+2012.03.10.145124 [4657]
+libisoburn/libisoburn.h
+libisoburn/isoburn.h
+libisoburn/isoburn.c
+libisoburn/libisoburn.ver
+New API calls isoburn_igopt_set_rr_reloc(), isoburn_igopt_get_rr_reloc()
+
+2012.03.10.150003 [4658]
+xorriso/xorriso.h
+xorriso/xorriso_private.h
+xorriso/base_obj.c
+xorriso/parse_exec.c
+xorriso/opts_d_h.c
+xorriso/opts_p_z.c
+xorriso/write_run.c
+xorriso/text_io.c
+libisoburn/libisoburn.ver
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+New command -rr_reloc_dir
+
+2012.03.10.153518 [4659]
+xorriso/parse_exec.c
+Changed a degugging text about command parameters
+
+2012.03.11.162050 [4660]
+libisoburn/libisoburn.h
+libisoburn/isoburn.h
+libisoburn/isoburn.c
+libisoburn/isofs_wrap.c
+libisoburn/data_source.c
+libisoburn/libisoburn.ver
+New API calls isoburn_ropt_set_data_cache(), isoburn_ropt_get_data_cache()
+
+2012.03.11.164130 [4661]
+xorriso/xorriso.h
+xorriso/xorriso_private.h
+xorriso/xorrisoburn.h
+xorriso/base_obj.c
+xorriso/parse_exec.c
+xorriso/opts_d_h.c
+xorriso/lib_mgt.c
+xorriso/drive_mgt.c
+xorriso/iso_img.c
+xorriso/text_io.c
+libisoburn/libisoburn.ver
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+New command -data_cache_size
+
+2012.03.12.180937 [4662]
+xorriso/emulators.c
+xorriso/xorrisofs.texi
+xorriso/xorrisofs.info
+xorriso/xorrisofs.1
+New -as mkisofs option -rr_reloc, implemented option -hide-rr-moved
+
+2012.03.13.102621 [4663]
+xorriso/emulators.c
+Now ignoring -as mkisofs -no-split-symlink-components -no-split-symlink-fields
+
+2012.03.14.152414 [4664]
+xorriso/emulators.c
+xorriso/xorrisofs.texi
+xorriso/xorrisofs.info
+xorriso/xorrisofs.1
+Adjusted behavior of -as mkisofs option -D
+
+14 Mar 2012 [4665]
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+Clarified xorriso documentation about deep directories
+
+2012.03.14.195147 [4666]
+xorriso/emulators.c
+xorriso/xorrisofs.texi
+xorriso/xorrisofs.info
+xorriso/xorrisofs.1
+Adjusted behavior of -as mkisofs option -l
+
+14 Mar 2012 [4667]
+xorriso/xorriso_eng.html
+ChangeLog
+Updated change log and web page
+
+------------------------------------ cycle - xorriso-1.2.1 - 2012.03.14.195147
+* New API calls isoburn_igopt_set_rr_reloc(), isoburn_igopt_get_rr_reloc()
+* New API calls isoburn_ropt_set_data_cache(), isoburn_ropt_get_data_cache()
+* New command -rr_reloc_dir
+* New command -data_cache_size
+* New -as mkisofs option -rr_reloc, implemented option -hide-rr-moved
+* Now ignoring -as mkisofs -no-split-symlink-components -no-split-symlink-fields
+
+
+2012.03.21.141040 [4668]
+libisoburn/libisoburn.h
+Bug fix: Relaxation option joliet_rec_mtime and iso1999_rec_mtime had wrong values
+
+2012.03.21.193055 [4669]
+libisoburn/data_source.c
+libisoburn/isofs_wrap.c
+Reacted on warnings of cppcheck
+
+2012.03.21.193153 [4670]
+xorriso/parse_exec.c
+Reacted on warning of cppcheck
+
+2012.03.21.193557 [4672]
+xorriso/text_io.c
+Reacted on warning of cppcheck
+
+2012.03.22.084956 [4673]
+xorriso/emulators.c
+xorriso/misc_funct.h
+xorriso/misc_funct.c
+Bug fix: -as mkisofs without -graft-points could noy handle names with "="
+
+2012.03.22.102053 [4674]
+libisoburn/libisoburn.h
+libisoburn/isoburn.c
+New relaxation option allow_7bit_ascii
+
+2012.03.22.102402 [4675]
+libisoburn/isoburn.h
+File which was omitted when committing rev. 4674
+
+2012.03.22.103201 [4676]
+xorriso/write_run.c
+xorriso/xorriso.texi
+xorriso/xorriso.info
+xorriso/xorriso.1
+New -compliance option 7bit_ascii
+
+2012.03.22.103349 [4677]
+xorriso/emulators.c
+xorriso/xorrisofs.texi
+xorriso/xorrisofs.info
+xorriso/xorrisofs.1
+Implemented -as mkisofs option -relaxed-filenames
+
+22 Mar 2012 [4678]
+xorriso/make_xorriso_1.c
+Updated help text of texi-to-man converter
+
+27 Mar 2012 [4679]
+configure.ac
+Demanding libisofs-1.2.1 with ./configure --enable-pkg-check-modules
+
+28 Mar 2012 [4680]
+xorriso/xorriso_eng.html
ChangeLog
Updated change log and web page
------------------------------------- cycle - xorriso-1.1.9 -
+
+------------------------------------ cycle - xorriso-1.2.1 - 2012.03.22.103349
+Bug fix: -as mkisofs without -graft-points could not handle names with "="
+Bug fix: Relaxation options joliet_rec_mtime and iso1999_rec_mtime had wrong values
+
+
+2 Apr 2012 [4688]
+svn copy -m Branching for libisoburn release 1.2.2
+http://svn.libburnia-project.org/libisoburn/trunk
+http://svn.libburnia-project.org/libisoburn/branches/1.2.2
+
+2012.04.02.133001 [4689]
+configure.ac
+README
+libisoburn/libisoburn.h
+xorriso/README_gnu_xorriso
+xorriso/xorriso.h
+xorriso/xorrisoburn.h
+xorriso/xorriso_main.c
+xorriso/xorriso_eng.html
+xorriso/make_xorriso_standalone.sh
+xorriso/configure_ac.txt
+xorriso/xorriso_timestamp.h
+xorriso/xorriso.texi
+xorriso/xorriso.1
+xorriso/xorriso.info
+xorriso/xorrisofs.texi
+xorriso/xorrisofs.1
+xorriso/xorrisofs.info
+xorriso/xorrecord.texi
+xorriso/xorrecord.1
+xorriso/xorrecord.info
+Version leap to libisoburn-1.2.0
+
+02 Apr 2012 [4690]
+ChangeLog
+xorriso/changelog.txt
+Documented changes and release timestamp
+
+----------------------------------- release - xorriso-1.2.2 - 2012.04.02.133001
+* New API calls isoburn_get_attached_start_lba(), isoburn_attach_start_lba()
+* New API calls isoburn_igopt_set_rr_reloc(), isoburn_igopt_get_rr_reloc()
+* New API calls isoburn_ropt_set_data_cache(), isoburn_ropt_get_data_cache()
+* New commands -x, -list_arg_sorting
+* New command -rr_reloc_dir
+* New command -data_cache_size
+* New -as mkisofs option -rr_reloc, implemented option -hide-rr-moved
+* Now ignoring -as mkisofs -no-split-symlink-components -no-split-symlink-fields
+* Bug fix: -osirrox on:sort_lba_on -extract from / restored nearly nothing
+* Bug fix: -as mkisofs without -graft-points could not handle names with "="
+* Bug fix: Relaxation options joliet_rec_mtime and iso1999_rec_mtime had wrong values
@@ -12328,7 +12757,8 @@
xorriso/xorriso_eng.html
ChangeLog
Updated change log and web page
------------------------------------- cycle - xorriso-1.1.9 -
+
+------------------------------------ cycle - xorriso-1.2.3 -
**********************************************************************
Important: When adding a public API function then add its name to file
@@ -12341,24 +12771,18 @@
+
+- Can UTF-8 or other charsets confuse xorriso or libisofs by byte 47 '/'
+ in multi-byte characters ?
+ > UTF-8 cannot. All multi-bytes are >= 129.
+- Can character sets map "/" to a byte sequence different from {47,0} ?
+ Would this confuse xorriso or libisofs ?
+ > UTF-8 does not.
+
+
- -check_media option which aborts the check run on the first error ?
Such an option for -check_md5_r ?
-- read-only files , not writable block devices with rw:
-
- rm /dvdbuffer/pseudo_drive
- xorriso -dev /dvdbuffer/pseudo_drive -add /u/FERTIG
- chmod a-w /dvdbuffer/pseudo_drive
- xorriso -dev /dvdbuffer/pseudo_drive -add /u/solvay
-yields
- libburn : SORRY : Failed to open device (a pseudo-drive) : Permission denied
-but -toc says
- Media current: stdio file, overwriteable
- Media status : is written , is appendable
-and after the failed write attempt
- Media current: is not recognizable
- Media status : is written , is appendable
-The misconception of writability can be avoiced by -early_stdio_test on
??? make -early_stdio_test on by default ?
@@ -12384,9 +12808,6 @@
- Problem words in man xorriso
-"command" - Mats wants to reserve it for the program.
- I still think it should stay for its options.
-
"writeable" - Should be "writable" but is allowed as alternative spelling.
Problem with -as cdrecord option --grow_overwriteable_iso
@@ -12409,8 +12830,6 @@
(It turned out that only a minority of "allow" in the text are of the bad
form.)
-The issue of "command" versus "option" needs an overview of the whole
-terminology in xorriso. I shall make a tree model.
- Get rid of ((size_t) -1) in libisofs/util.c
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/disk_ops.c
^
|
@@ -1667,16 +1667,25 @@
ipfx= Xorriso_lst_get_text(s, 0);
li= strlen(ipfx);
dpfx= Xorriso_lst_get_text(d, 0);
- if(strncmp(img_path, ipfx, li) != 0)
+ if(li == 1 && ipfx[0] == '/') {
+ li= 0;
+ if(img_path[0] != '/')
continue;
- if(img_path[li] != 0 && img_path[li] != '/')
+ } else {
+ if(strncmp(img_path, ipfx, li) != 0)
continue;
+ if(img_path[li] != 0 && img_path[li] != '/')
+ continue;
+ }
if(strlen(dpfx) + strlen(img_path) - li + 1 >= SfileadrL)
return(-1);
- if(img_path[li]=='/')
- sprintf(disk_path, "%s/%s", dpfx, img_path + strlen(ipfx) + 1);
- else
- strcpy(disk_path, dpfx);
+ if(img_path[li]=='/') {
+ if(dpfx[0] == '/' && dpfx[1] == 0)
+ sprintf(disk_path, "/%s", img_path + li + 1);
+ else
+ sprintf(disk_path, "%s/%s", dpfx, img_path + li + 1);
+ } else
+ strcpy(disk_path, dpfx); /* img_path[li] is 0, img_path equals ipfx */
found_s= s;
found_d= d;
if(s != *img_prefixes || !(flag & 1))
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/drive_mgt.c
^
|
@@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -171,7 +171,7 @@
int flag)
{
int ret, hret, not_writeable= 0, has_what, aquire_flag, load_lba, ext;
- int lba, track, session, params_flag, adr_mode, read_ret;
+ int lba, track, session, params_flag, adr_mode, read_ret, start_lba;
uint32_t size, offst;
struct burn_drive_info *dinfo= NULL, *out_dinfo= NULL, *in_dinfo= NULL;
struct burn_drive *drive= NULL, *out_drive= NULL, *in_drive= NULL;
@@ -384,6 +384,11 @@
goto ex;
} else {
iso_image_ref((IsoImage *) xorriso->in_volset_handle);
+ start_lba= -1;
+ ret= Xorriso_get_drive_handles(xorriso, &in_dinfo, &in_drive,
+ "on attempt to attach ISO image object to outdev", 16);
+ if(ret > 0)
+ start_lba= isoburn_get_attached_start_lba(in_drive);
ret= isoburn_attach_image(drive, (IsoImage *) xorriso->in_volset_handle);
if(ret<=0) {
sprintf(xorriso->info_text,
@@ -391,6 +396,8 @@
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FATAL", 0);
{ret= -1; goto ex;}
}
+ if(start_lba >= 0)
+ isoburn_attach_start_lba(drive, lba, 0);
}
if(!(flag&32))
Xorriso_toc(xorriso, 1 | 2 | 8);
@@ -422,6 +429,12 @@
if(ret<=0)
goto ex;
+ ret= Xorriso_set_data_cache(xorriso, ropts, xorriso->cache_num_tiles,
+ xorriso->cache_tile_blocks,
+ xorriso->cache_default);
+ if(ret<=0)
+ goto ex;
+
ext= isoburn_ropt_noiso1999;
if((xorriso->ino_behavior & (1 | 2)) && !(xorriso->do_aaip & (1 | 4 | 32))
&& !(xorriso->do_md5 & 1))
@@ -525,12 +538,19 @@
if(xorriso->out_drive_handle != NULL &&
xorriso->out_drive_handle != xorriso->in_drive_handle) {
+ start_lba= -1;
+ ret= Xorriso_get_drive_handles(xorriso, &in_dinfo, &in_drive,
+ "on attempt to attach ISO image volset to outdev", 16);
+ if(ret > 0)
+ start_lba= isoburn_get_attached_start_lba(in_drive);
ret= Xorriso_get_drive_handles(xorriso, &out_dinfo, &out_drive,
"on attempt to attach ISO image volset to outdev", 2);
if(ret<=0)
goto ex;
iso_image_ref((IsoImage *) xorriso->in_volset_handle);
isoburn_attach_image(out_drive, xorriso->in_volset_handle);
+ if(start_lba >= 0)
+ isoburn_attach_start_lba(out_drive, ret, 0);
}
Xorriso_process_msg_queues(xorriso,0);
isoburn_ropt_get_size_what(ropts, &size, &has_what);
@@ -1384,7 +1404,7 @@
isoburn_disc_available_space(drive, burn_options) / (off_t) 2048;
burn_write_opts_free(burn_options);
- if(xorriso->volset_change_pending) {
+ if(Xorriso_change_is_pending(xorriso, 0)) {
ret= Xorriso_write_session(xorriso, 1);
if(ret>0)
(*free_space)-= ret;
@@ -2114,9 +2134,12 @@
int tag_type= 0, valid, was_sb_tag= 0, in_track_gap= 0;
char *comparison= "", *sev_text= "DEBUG", *tag_type_name= "";
- Xorriso_alloc_meM(data, char, 64*1024);
- if(read_chunk > 32)
- read_chunk= 32;
+ if(read_chunk > 1024)
+ read_chunk= 1024;
+ else if(read_chunk < 1)
+ read_chunk= 1;
+ Xorriso_alloc_meM(data, char, 2 * read_chunk * 1024);
+
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
"on attempt to check media readability",
@@ -2124,9 +2147,11 @@
if(ret<=0)
goto ex;
ret= burn_disc_get_profile(drive, &profile_no, profile_name);
- if(ret > 0)
+ if(ret > 0) {
if(profile_no >= 0x08 && profile_no <= 0x0a)
is_cd= 1;
+ }
+
if(job->sector_map != NULL) {
Sectorbitmap_get_layout(job->sector_map, §ors, §or_size, 0);
@@ -2422,7 +2447,8 @@
if(post_read_time - xorriso->last_update_time >=
xorriso->pacifier_interval)
Xorriso_pacifier_callback(xorriso, "blocks read",
- xorriso->pacifier_count, xorriso->pacifier_total, "", 8 | 16);
+ xorriso->pacifier_count, xorriso->pacifier_total, "",
+ 8 | 16 | (128 * (job->use_dev == 1)));
}
}
if(prev_quality >= 0) {
@@ -2477,6 +2503,7 @@
char *toc_info= NULL, profile_name[80];
struct burn_drive *drive;
struct burn_drive_info *dinfo;
+ enum burn_disc_status s;
struct isoburn_toc_disc *isoburn_disc= NULL;
struct isoburn_toc_session **isoburn_sessions;
struct isoburn_toc_track **iso_burn_tracks;
@@ -2530,6 +2557,14 @@
if(ret <= 0)
goto ex;
}
+
+ s= isoburn_disc_get_status(drive);
+ if(s != BURN_DISC_APPENDABLE && s != BURN_DISC_FULL) {
+ Xorriso_msgs_submit(xorriso, 0, "-check_media: No readable medium found",
+ 0, "SORRY", 0);
+ ret= 0; goto ex;
+ }
+
ret= burn_get_read_capacity(drive, &read_capacity, 0);
if(ret <= 0)
read_capacity= -1;
@@ -2617,18 +2652,31 @@
}
}
- } else if(mode == 1) { /* isoburn disc capacity */
+ } else if(mode == 1) { /* Image range */
+ /* Default is the emulated disc capacity.
+ */
isoburn_disc= isoburn_toc_drive_get_disc(drive);
if(isoburn_disc == NULL)
goto libburn_whole_disc;
blocks= media_blocks= isoburn_toc_disc_get_sectors(isoburn_disc);
+
+ /* If possible, determine the end address of the loaded ISO image.
+ */
+ track_lba= isoburn_get_attached_start_lba(drive);
+ if(track_lba >= 0) {
+ ret= isoburn_read_iso_head(drive, track_lba, &track_blocks, NULL, 0);
+ if(ret > 0) {
+ blocks= media_blocks= track_lba + track_blocks;
+ }
+ }
+
if(start_lba >= 0)
blocks-= start_lba;
if(media_blocks <= 0)
goto libburn_whole_disc;
xorriso->pacifier_total= blocks;
ret= Xorriso_check_interval(xorriso, *spotlist, job, start_lba, blocks,
- read_chunk, 0, 0);
+ read_chunk, 0, (4 * (xorriso->do_md5 & 1)));
if(ret <= 0)
goto ex;
} else if(mode == 2) {
@@ -2644,14 +2692,14 @@
blocks-= start_lba;
xorriso->pacifier_total= blocks;
ret= Xorriso_check_interval(xorriso, *spotlist, job, start_lba, blocks,
- read_chunk, 0, 0);
+ read_chunk, 0, (4 * (xorriso->do_md5 & 1)));
if(ret <= 0)
goto ex;
}
Xorriso_pacifier_callback(xorriso, "blocks read",
xorriso->pacifier_count, xorriso->pacifier_total, "",
- 1 | 8 | 16 | 32);
+ 1 | 8 | 16 | 32 | (128 * (job->use_dev == 1)));
ret= 1;
ex:;
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/emulators.c
^
|
@@ -598,6 +598,7 @@
"--stdio_sync", "--quoted_path_list", "--efi-boot", "--embedded-boot",
"-isohybrid-mbr", "-e", "-partition_offset", "-partition_hd_cyl",
"-partition_sec_hd", "-partition_cyl_align", "-untranslated_name_len",
+ "-rr_reloc_dir",
""
};
static char arg2_options[][41]= {
@@ -650,10 +651,10 @@
/* mkisofs 2.01 options which are not scheduled for implementation, yet */
static char ignored_arg0_options[][41]= {
"-allow-leading-dots", "-ldots", "-allow-multidot",
- "-cache-inodes", "-no-cache-inodes", "-check-oldnames", "-D",
- "-disable-deep-relocation",
- "-L", "-nobak",
- "-no-bak", "-force-rr", "-relaxed-filenames", "-T",
+ "-cache-inodes", "-check-oldnames",
+ "-L", "-no-bak", "-no-cache-inodes",
+ "-no-split-symlink-components", "-no-split-symlink-fields", "-nobak",
+ "-force-rr", "-T",
"-no-iso-translate",
""
};
@@ -722,10 +723,15 @@
" -U, -untranslated-filenames Allow Untranslated filenames (for HPUX & AIX - violates ISO9660).",
" -untranslated_name_len LEN Allow up to LEN (1..96) name characters (heavily violates ISO9660).",
" -allow-lowercase Allow lower case characters in addition to the current character set (violates ISO9660)",
+" -relaxed-filenames Allow 7 bit ASCII except lower case characters (violates ISO9660)",
" -d, -omit-period Omit trailing periods from filenames (violates ISO9660)",
" -l, -full-iso9660-filenames Allow full 31 character filenames for ISO9660 names",
" -max-iso9660-filenames Allow 37 character filenames for ISO9660 names (violates ISO9660)",
" -N, -omit-version-number Omit version number from ISO9660 filename (violates ISO9660)",
+" -D, -disable-deep-relocation",
+" Disable deep directory relocation (violates ISO9660)",
+" -hide-rr-moved Relocate deep directories to /.rr_moved",
+" -rr_reloc_dir NAME Set deep directory relocation target in root",
" -o FILE, -output FILE Set output file name",
" -m GLOBFILE, -exclude GLOBFILE",
" Exclude file name",
@@ -946,7 +952,7 @@
int do_print_size= 0, fd, idx, iso_level= 1, emul_boot= 2;
int option_b= 0, was_failure= 0, fret, lower_r= 0, zero= 0;
int dir_mode= -1, file_mode= -1, count, partition_number, allow_dir_id_ext= 1;
- int root_seen= 0, do_md5_mem;
+ int root_seen= 0, do_md5_mem, option_d= 0;
mode_t mode_and, mode_or;
int with_boot_image= 0, with_cat_path= 0, with_emul_toc= 0;
int old_root_md5= 1, old_root_dev= 0, old_root_ino= 1;
@@ -956,7 +962,7 @@
char *ept, *add_pt, *eff_path= NULL, *indev= NULL, msc[80], *cpt;
char *old_root= NULL, *argpt, *hargv[1];
char *boot_path, partno_text[8], *iso_rr_pt, *disk_pt, *rpt, *wpt;
- char *rm_merge_args[3];
+ char *rm_merge_args[3], *rr_reloc_dir_pt= NULL;
/* >>> This should not be static. Why is it ? */
static char *sort_weight_args[4]= {"", "-exec", "sort_weight", ""};
@@ -1300,10 +1306,8 @@
} else if(strcmp(argpt, "-J")==0 || strcmp(argpt, "-joliet")==0) {
xorriso->do_joliet= 1;
} else if(strcmp(argpt, "-joliet-long")==0) {
- ret= Xorriso_option_compliance(xorriso,
- "joliet_long_paths:joliet_long_names", 0);
- if(ret<=0)
- goto problem_handler_2;
+ Xorriso_relax_compliance(xorriso,
+ "joliet_long_paths:joliet_long_names", 0);
} else if(strcmp(argpt, "-graft-points")==0) {
xorriso->allow_graft_points= 1;
} else if(strcmp(argpt, "-path-list")==0 ||
@@ -1488,15 +1492,20 @@
strcmp(argpt, "-omit-version-number") == 0) {
Xorriso_relax_compliance(xorriso, "omit_version", 0);
} else if(strcmp(argpt, "-l") == 0 ||
- strcmp(argpt, "-full-iso9660-filenames") == 0 ||
- strcmp(argpt, "-max-iso9660-filenames") == 0) {
+ strcmp(argpt, "-full-iso9660-filenames") == 0) {
+ if(xorriso->iso_level <= 2)
+ Xorriso_relax_compliance(xorriso, "iso_9660_level=2", 0);
+ if(iso_level <= 2)
+ iso_level= 2;
+ } else if(strcmp(argpt, "-max-iso9660-filenames") == 0) {
Xorriso_relax_compliance(xorriso, "long_names", 0);
} else if(strcmp(argpt, "-d") == 0 ||
strcmp(argpt, "-omit-period") == 0) {
Xorriso_relax_compliance(xorriso, "no_force_dots", 0);
} else if(strcmp(argpt, "-allow-lowercase") == 0) {
Xorriso_relax_compliance(xorriso, "lowercase", 0);
-
+ } else if(strcmp(argpt, "-relaxed-filenames") == 0) {
+ Xorriso_relax_compliance(xorriso, "7bit_ascii", 0);
} else if(strcmp(argpt, "-hide") == 0 ||
strcmp(argpt, "-hide-list") == 0 ||
strcmp(argpt, "-hide-joliet") == 0 ||
@@ -1626,6 +1635,31 @@
} else if(strcmp(argpt, "--no_rc")==0) {
/* was already handled in Xorriso_prescan_args */;
+ } else if(strcmp(argpt, "-D") == 0 ||
+ strcmp(argpt, "-disable-deep-relocation") == 0) {
+ option_d= 1;
+
+ } else if(strcmp(argpt, "-hide-rr-moved") == 0) {
+ rr_reloc_dir_pt= ".rr_moved";
+ goto rr_reloc_dir;
+
+ } else if(strcmp(argpt, "-rr_reloc_dir") == 0) {
+ i++;
+ rr_reloc_dir_pt= argv[i];
+rr_reloc_dir:;
+ if(rr_reloc_dir_pt[0] == '/')
+ rr_reloc_dir_pt++;
+ if(strchr(rr_reloc_dir_pt, '/') != NULL) {
+ sprintf(xorriso->info_text,
+ "-as %s -rr_reloc_dir %s : May only use directories in root directory",
+ whom, Text_shellsafe(argv[i], sfe, 0));
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE",0);
+ }
+ ret= Xorriso_option_rr_reloc_dir(xorriso, rr_reloc_dir_pt, 0);
+ if(ret <= 0)
+ goto problem_handler_2;
+ Xorriso_relax_compliance(xorriso, "deep_paths_off:long_paths_off", 0);
+
} else if(argpt[0]=='-' && argpt[1]!=0) {
hargv[0]= argpt;
ret= Xorriso_genisofs_count_args(xorriso, argc - i, hargv, &count, 1);
@@ -1654,9 +1688,16 @@
pathspec[0]= '/';
pathspec[1]= 0;
ret= Sfile_leafname(eff_path, pathspec+1, 0);
- if(ret>0)
+ if(ret>0) {
+ ret= Fileliste__escape_source_path(pathspec, SfileadrL, 0);
+ if(ret <= 0) {
+ Xorriso_msgs_submit(xorriso, 0,
+ "Escaped leaf name gets much too long",
+ 0, "FAILURE", 0);
+ goto problem_handler_2;
+ }
strcat(pathspec, "=");
- else
+ } else
pathspec[0]= 0;
}
strcat(pathspec, eff_path);
@@ -1798,6 +1839,9 @@
goto ex;
}
+ if(option_d)
+ Xorriso_relax_compliance(xorriso, "deep_paths:long_paths", 0);
+
/* After all pathspecs are added: perform boot related options */
for(j= 0; j < delay_opt_count; j++) {
i= delay_opt_list[j] & ~(1 << 31);
@@ -1967,7 +2011,7 @@
if(was_path && (!do_print_size) && !old_root[0])
Xorriso_pacifier_callback(xorriso, "files added", xorriso->pacifier_count,
xorriso->pacifier_total, "", 1);
- if(do_print_size && xorriso->volset_change_pending == 1)
+ if(do_print_size && Xorriso_change_is_pending(xorriso, 1))
xorriso->volset_change_pending= 2;
if(weight_list != NULL)
free(weight_list);
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/iso_img.c
^
|
@@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -95,6 +95,7 @@
/* Note: no return before isoburn_ropt_destroy() */
isoburn_ropt_set_extensions(ropts, isoburn_ropt_pretend_blank);
isoburn_ropt_set_input_charset(ropts, xorriso->in_charset);
+ isoburn_ropt_set_data_cache(ropts, 1, 1, 0);
isoburn_set_read_pacifier(drive, NULL, NULL);
ret= isoburn_read_image(drive, ropts, &volset);
Xorriso_process_msg_queues(xorriso,0);
@@ -872,6 +873,8 @@
}
+/* @param flag bit0= do not return 1 on volset_change_pending != 1
+*/
int Xorriso_change_is_pending(struct XorrisO *xorriso, int flag)
{
if(flag & 1)
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/iso_manip.c
^
|
@@ -1260,6 +1260,7 @@
if(!(flag&1)) {
sprintf(xorriso->info_text, "Created directory in ISO image: ");
Text_shellsafe(eff_path, xorriso->info_text, 1);
+ strcat(xorriso->info_text, "\n");
Xorriso_info(xorriso, 0);
}
ret= 1;
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/lib_mgt.c
^
|
@@ -863,3 +863,26 @@
return(1);
}
+
+/* @param flag bit0= set num_tiles to default value
+ bit1= set tile_blocks to default value
+*/
+int Xorriso_set_data_cache(struct XorrisO *xorriso, void *o,
+ int num_tiles, int tile_blocks, int flag)
+{
+ int ret, tiles, blocks, set_flag;
+ struct isoburn_read_opts *ropts;
+
+ ropts= (struct isoburn_read_opts *) o;
+ if(flag & (1 | 2)) {
+ isoburn_ropt_get_data_cache(ropts, &tiles, &blocks, &set_flag, 1);
+ if(flag & 1)
+ num_tiles= tiles;
+ if(flag & 2)
+ tile_blocks= blocks;
+ }
+ ret= isoburn_ropt_set_data_cache(ropts, num_tiles, tile_blocks, 0);
+ return(ret);
+}
+
+
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/make_xorriso_1.c
^
|
@@ -470,6 +470,7 @@
fprintf(stderr, " -auto xorriso/xorriso.texi -> xorriso/xorriso.1\n");
fprintf(stderr, " -filter stdin -> stdout\n");
fprintf(stderr, " -xorrisofs process xorriso/xorrisofs.texi\n");
+ fprintf(stderr, " -xorrecord process xorriso/xorrecord.texi\n");
exit(2);
}
for(i= 1; i < argc; i++) {
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/man_1_xorrecord.html
^
|
@@ -1,5 +1,5 @@
<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Fri Jan 27 14:12:24 2012 -->
+<!-- CreationDate: Mon Apr 2 15:47:33 2012 -->
<html>
<head>
<meta name="generator" content="groff -Thtml, via man -H, via xorriso/convert_man_to_html.sh">
@@ -1607,5 +1607,5 @@
</td>
</table>
<hr>
-<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from xorrecord.1 on Fri Jan 27 14:12:24 CET 2012 by man_xorrecord_to_html.sh )</CENTER></FONT></body>
+<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from xorrecord.1 on Mon Apr 2 15:47:33 CEST 2012 by man_xorrecord_to_html.sh )</CENTER></FONT></body>
</html>
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/man_1_xorriso.html
^
|
@@ -1,5 +1,5 @@
<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Fri Jan 27 14:12:23 2012 -->
+<!-- CreationDate: Mon Apr 2 15:47:32 2012 -->
<html>
<head>
<meta name="generator" content="groff -Thtml, via man -H, via xorriso/convert_man_to_html.sh">
@@ -75,7 +75,7 @@
<tr valign="top" align="left">
<td width="4%"></td>
<td width="95%">
-<p> <BR><b>Overview of features:</b></p></td>
+<p> <BR><A NAME="Overview"></A><b>Overview of features:</b></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -124,7 +124,7 @@
<tr valign="top" align="left">
<td width="4%"></td>
<td width="95%">
-<p> <BR><b>General information paragraphs:</b></p></td>
+<p> <BR><A NAME="General"></A><b>General information paragraphs:</b></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -132,13 +132,13 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p>Session model<br>
-Media types and states<br>
-Creating, Growing, Modifying, Blind Growing<br>
-Libburn drives<br>
-Rock Ridge, POSIX, X/Open, El Torito, ACL, xattr<br>
-Command processing<br>
-Dialog, Readline, Result pager</p>
+<p><A HREF="#Model">Session model</A><br>
+<A HREF="#Media">Media types and states<br>
+<A HREF="#Methods">Creating, Growing, Modifying, Blind Growing</A><br>
+<A HREF="#Drives">Libburn drives</A><br>
+<A HREF="#Extras">Rock Ridge, POSIX, X/Open, El Torito, ACL, xattr</A><br>
+<A HREF="#Processing">Command processing</A><br>
+<A HREF="#Dialog">Dialog, Readline, Result pager</A></p>
<!-- INDENTATION -->
<p>Maybe you first want to have a look at section <A HREF="#EXAMPLES">EXAMPLES</A>
near the end of this text before reading the next few
@@ -151,7 +151,7 @@
<tr valign="top" align="left">
<td width="4%"></td>
<td width="95%">
-<p> <BR><b>Session model:</b></p></td>
+<p> <BR><A NAME="Model"></A><b>Session model:</b></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -159,10 +159,10 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p>Unlike other filesystems, ISO 9660 is not intended for
-read-write operation but rather for being generated in
-a single sweep and being written to media as a
-<b>session</b>.<br>
+<p>Unlike other filesystems, <b>ISO 9660</b> (aka
+<b>ECMA-119</b>) is not intended for read-write
+operation but rather for being generated in a single sweep
+and being written to media as a <b>session</b>.<br>
The data content of the session is called filesystem
<b>image</b>.</p>
<!-- INDENTATION -->
@@ -197,7 +197,7 @@
<p><b>xorriso</b> provides growing as well as an own method
named <b>modifying</b> which produces a completely new ISO
image from the old one and the modifications. See paragraph
-Creating, Growing, Modifying, Blind Growing below.</p>
+<A HREF="#Methods">Creating, Growing, Modifying, Blind Growing</A> below.</p>
<!-- INDENTATION -->
<p><b>xorriso</b> adopts the concept of multi-session
by loading an image directory tree if present, by allowing
@@ -229,7 +229,7 @@
<tr valign="top" align="left">
<td width="4%"></td>
<td width="95%">
-<p> <BR><b>Media types and states:</b></p></td>
+<p> <BR><A NAME="Media"></A><b>Media types and states:</b></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -242,12 +242,12 @@
Multi-session media</b> are CD-R, CD-RW,
DVD-R, DVD+R, DVD+R/DL, BD-R, and unformatted
DVD-RW. These media provide a table of content which
-describes their existing sessions. See option
+describes their existing sessions. See command
<b>-toc</b>.<br>
Similar to multi-session media are DVD-R DL and
minimally blanked DVD-RW. They allow only a single
session of which the size must be known in advance.
-<b>xorriso</b> will write onto them only if option
+<b>xorriso</b> will write onto them only if command
-close is set to "on".<b><br>
Overwriteable media</b> are DVD-RAM, DVD+RW,
BD-RE, and formatted DVD-RW. They allow random
@@ -279,12 +279,12 @@
are MMC multi-session media in appendable state, or
they are overwriteable media which contain an ISO image
suitable for <b>xorriso</b>.<br>
-Appendable is the state after writing a session with option
+Appendable is the state after writing a session with command
-close off.<b><br>
Closed</b> media cannot be written. They may contain an ISO
image suitable for <b>xorriso</b>.<br>
Closed is the state of DVD-ROM media and of
-multi-session media which were written with option
+multi-session media which were written with command
-close on. If the drive is read-only hardware
then it will probably show any media as closed CD-ROM
resp. DVD-ROM.<br>
@@ -293,7 +293,7 @@
data in the first 32 data blocks.<br>
Read-only drives may or may not show session histories
of multi-session media. Often only the first and the
-last session are visible. Sometimes not even that. Option
+last session are visible. Sometimes not even that. Command
-rom_toc_scan might or might not help in such
cases.</p>
</td>
@@ -304,7 +304,7 @@
<tr valign="top" align="left">
<td width="4%"></td>
<td width="95%">
-<p> <BR><b>Creating, Growing, Modifying, Blind
+<p> <BR><A NAME="Methods"></A><b>Creating, Growing, Modifying, Blind
Growing:</b></p></td>
</table>
<!-- INDENTATION -->
@@ -315,8 +315,8 @@
<td width="89%">
<p>A new empty ISO image gets <b>created</b> if there is no
input drive with a valid ISO 9660 image when the first time
-an output drive is defined. This is achieved by option
--dev on blank media or by option -outdev on
+an output drive is defined. This is achieved by command
+-dev on blank media or by command -outdev on
media in any state.<br>
The new empty image can be populated with directories and
files. Before it can be written, the medium in the output
@@ -336,7 +336,7 @@
sessions but they still exist on the medium and with many
types of optical media it is quite easy to recover them by
mounting older sessions.<br>
-Growing is achieved by option -dev.</p>
+Growing is achieved by command -dev.</p>
<!-- INDENTATION -->
<p>The write method of <b>modifying</b> produces compact
filesystem images with no outdated files or directory trees.
@@ -350,11 +350,11 @@
has to work with filesystem objects as source and/or target
medium.<br>
Modifying takes place if input drive and output drive are
-not the same and if option -grow_blindly is set to its
-default "off". This is achieved by options
+not the same and if command -grow_blindly is set to
+its default "off". This is achieved by commands
-indev and -outdev.</p>
<!-- INDENTATION -->
-<p>If option -grow_blindly is set to a
+<p>If command -grow_blindly is set to a
non-negative number and if -indev and
-outdev are both set to different drives, then
<b>blind growing</b> is performed. It produces an
@@ -375,7 +375,7 @@
<tr valign="top" align="left">
<td width="4%"></td>
<td width="95%">
-<p> <BR><b>Libburn drives:</b></p></td>
+<p> <BR><b>Libburn drives:</b><A NAME="Drives"></A></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -455,11 +455,11 @@
"stdio:" prefix. By default any address in the
/dev tree without prefix "stdio:" will work only
if it leads to a MMC drive.<br>
-One may use option <b>-ban_stdio_write</b> to surely
+One may use command <b>-ban_stdio_write</b> to surely
prevent this risk and to allow only MMC drives.<br>
One may prepend "mmc:" to a path to surely
disallow any automatic "stdio:".<br>
-By option -drive_class one may ban certain paths or
+By command -drive_class one may ban certain paths or
allow access without prefix "stdio:" to other
paths.</p>
</td>
@@ -470,7 +470,7 @@
<tr valign="top" align="left">
<td width="4%"></td>
<td width="95%">
-<p> <BR><b>Rock Ridge, POSIX, X/Open, El Torito, ACL,
+<p> <BR><A NAME="Extras"></A><b>Rock Ridge, POSIX, X/Open, El Torito, ACL,
xattr:</b></p></td>
</table>
<!-- INDENTATION -->
@@ -501,10 +501,10 @@
Most bootable GNU/Linux CDs are equipped with ISOLINUX or
GRUB boot images. <b>xorriso</b> is able to create or
maintain an El Torito object which makes such an image
-bootable. For details see option -boot_image.<br>
+bootable. For details see command -boot_image.<br>
It is possible to make ISO images bootable from USB stick or
other hard-disk-like media by -boot_image
-argument system_area= . This installs a Master Boot Record
+parameter system_area= . This installs a Master Boot Record
which may get adjusted according to the needs of GRUB resp.
ISOLINUX. An <b>MBR</b> contains boot code and a partition
table. It does not hamper CDROM booting. The new MBR of a
@@ -522,7 +522,7 @@
permissions to file objects. Neither ISO 9660 nor Rock Ridge
specify a way to record ACLs. So libisofs has introduced a
standard conformant extension named AAIP for that purpose.
-It uses this extension if enabled by option
+It uses this extension if enabled by command
<b>-acl</b>.<br>
AAIP enhanced images are supposed to be mountable normally,
but one cannot expect that the mounted filesystem will show
@@ -546,7 +546,7 @@
"user.x" or "user.whatever". Name has to
be a 0 terminated string. Value may be any array of bytes
which does not exceed the size of 4095 bytes. xattr
-processing happens only if it is enabled by option
+processing happens only if it is enabled by command
<b>-xattr</b>.<br>
As with ACL, currently only <b>xorriso</b> is able to
retrieve xattr from AAIP enhanced images, to restore them to
@@ -562,7 +562,7 @@
<tr valign="top" align="left">
<td width="4%"></td>
<td width="95%">
-<p> <BR><b>Command processing:</b></p></td>
+<p> <BR><A NAME="Processing"></A><b>Command processing:</b></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -572,68 +572,69 @@
<td width="89%">
<p>Commands are either actions which happen immediately or
settings which influence following actions. So their
-sequence does matter.<br>
+sequence does matter, unless they are given as program
+arguments and command <b>-x</b> is among them.<br>
Commands consist of a command word, followed by zero or more
parameter words. If the list of parameter words is of
variable length (indicated by "[...]" or
-"[***]") then it has to be terminated by either
-the <b>list delimiter</b>, or the end of argument list, or
-an end of an input line.</p>
-<!-- INDENTATION -->
-<p>At program start the list delimiter is the word
-"--". This may be changed by option
--list_delimiter in order to allow
-"--" as argument in a list of variable
-length. It is advised to reset the delimiter to
+"[***]") then it must be terminated by either the
+<b>list delimiter</b>, occur at the end of the argument
+list, or occur at the end of an input line.</p>
+<!-- INDENTATION -->
+<p>At program start the list delimiter is the string
+"--". This may be changed with the
+-list_delimiter command in order to allow
+"--" as parameter in a variable length
+list. However, it is advised to reset the delimiter to
"--" immediately afterwards.<br>
For brevity the list delimiter is referred as
"--" throughout this text.<br>
-The list delimiter is silently tolerated if it appears after
+The list delimiter is silently ignored if it appears after
the parameters of a command with a fixed list length. It is
-handled as normal text if it appears among the arguments of
+handled as normal text if it appears among the parameters of
such a command.</p>
<!-- INDENTATION -->
<p><b>Pattern expansion</b> converts a list of pattern words
into a list of existing file addresses. Unmatched pattern
-words appear themselves in that result list, though.<br>
+words will appear unaltered in that result list.<br>
Pattern matching supports the usual shell parser wildcards
’*’ ’?’ ’[xyz]’ and
-respects ’/’ as separator which may only be
-matched literally.<br>
-It is a property of some particular commands and not a
-general feature. It gets controlled by commands
+respects ’/’ as the path separator, which may
+only be matched literally.<br>
+Pattern expansion is a property of some particular commands
+and not a general feature. It is controlled by commands
-iso_rr_pattern and -disk_pattern. Commands
-which may use pattern expansion all have variable argument
-lists which are marked in this man page by "[***]"
+which use pattern expansion all have variable parameter
+lists which are specified in this text by "[***]"
rather than "[...]".<br>
Some other commands perform pattern matching
unconditionally.</p>
<!-- INDENTATION -->
-<p>Command and parameter words are either read from program
-arguments, where one argument is one word, or from quoted
-input lines where words are recognized similar to the
+<p>Command and parameter words are either read from the
+program arguments, where one argument is one word, or from
+quoted input lines where words are recognized similar to the
quotation rules of a shell parser.<b><br>
-xorriso</b> is not a shell, although it might appear so on
+xorriso</b> is not a shell, although it might appear so at
first glimpse. Be aware that the interaction of quotation
marks and pattern symbols like "*" differs from
the usual shell parsers. In <b>xorriso</b>, a quotation mark
does not make a pattern symbol literal.</p>
<!-- INDENTATION -->
-<p><b>Quoted input</b> converts whitespace separated text
-pieces into words. The double quotation mark " and the
+<p><b>Quoted input</b> converts whitespace-separated
+text into words. The double quotation mark " and the
single quotation mark ’ can be used to enclose
whitespace and make it part of words (e.g. of file names).
Each mark type can enclose the marks of the other type. A
trailing backslash \ outside quotations or an open quotation
cause the next input line to be appended.<br>
-Quoted input accepts any ASCII character except NUL (0) as
-content of quotes. Nevertheless it can be cumbersome for the
-user to produce those characters at all. Therefore quoted
-input and program arguments allow optional <b>Backslash
-Interpretation</b> which can represent all ASCII characters
-except NUL (0) by backslash codes as in $’...’
-of bash.<br>
-It is not enabled by default. See option
+Quoted input accepts any 8-bit character except NUL
+(0) as the content of the quotes. Nevertheless it can be
+cumbersome for the user to produce those characters
+directly. Therefore quoted input and program arguments allow
+optional <b>Backslash Interpretation</b> which can represent
+all 8-bit characters except NUL (0) via backslash
+codes as in $’...’ of bash.<br>
+This is not enabled by default. See command
-backslash_codes.</p>
<!-- INDENTATION -->
<p>When the program starts then it first looks for argument
@@ -641,11 +642,12 @@
startup files and reads their content as command input
lines. Then it interprets the program arguments as commands
and parameters. Finally it enters dialog mode if command
--dialog "on" was executed up to then.</p>
+-dialog "on" has been executed by this
+point.</p>
<!-- INDENTATION -->
<p>The program ends either by command -end, or by the
-end of program arguments if not dialog was enabled up to
-that moment, or by a problem event which triggers the
+end of program arguments if dialog mode has not been enabled
+at that point, or by a problem event which triggers the
threshold of command -abort_on.</p>
</td>
</table>
@@ -655,7 +657,7 @@
<tr valign="top" align="left">
<td width="4%"></td>
<td width="95%">
-<p> <BR><b>Dialog, Readline, Result pager:</b></p></td>
+<p> <BR><A NAME="Dialog"></A<b>Dialog, Readline, Result pager:</b></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -669,35 +671,34 @@
more comfortable.</p>
<!-- INDENTATION -->
<p>Readline is an enhancement for the input line. You may
-know it already from the bash shell. Whether it is available
+already know it from the bash shell. Whether it is available
in <b>xorriso</b> depends on the availability of package
readline-dev at the time when <b>xorriso</b> was built
from its sourcecode.<br>
-It allows to move the cursor over the text in the line by
-help of the Leftward and the Rightward arrow key. Text may
-be inserted at the cursor position. The Delete key removes
-the character under the cursor. Upward and Downward arrow
-keys navigate through the history of previous input
-lines.<br>
+Readline allows to move the cursor over the text in the line
+by help of the Left and the Right arrow keys. Text may be
+inserted at the cursor position. The Delete key removes the
+character under the cursor. Up and Down arrow keys navigate
+through the history of previous input lines.<br>
See man readline for more info about libreadline.</p>
<!-- INDENTATION -->
-<p>Option -page activates a built-in result text
-pager which may be convenient in dialog. After an action has
-put out the given number of terminal lines, the pager
-prompts the user for a line of input.<br>
+<p>Command -page activates a built-in result
+text pager which may be convenient in dialog mode. After an
+action has output the given number of terminal lines, the
+pager prompts the user for a line of input.<br>
An empty line lets <b>xorriso</b> resume work until the next
-page is put out.<br>
+page is output.<br>
The single character "@" disables paging for the
current action.<br>
"@@@", "x", "q",
-"X", or "Q" urge the current action to
-abort and suppress further result output.<br>
-Any other line will be interpreted as new dialog line. The
-current action is urged to abort. Afterwards, the input line
-is executed.</p>
+"X", or "Q" request that the current
+action aborts and suppress further result output.<br>
+Any other line input will be interpreted as new dialog line.
+The current action is requested to abort. Afterwards, the
+input line is executed.</p>
<!-- INDENTATION -->
<p>Some actions apply paging to their info output, too.<br>
-The urge to abort may or may not be obeyed by the current
+The request to abort may or may not be obeyed by the current
action. All actions try to abort as soon as possible.</p>
</td>
</table>
@@ -710,9 +711,9 @@
<td width="10%"></td>
<td width="89%">
<p>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.<br>
+this dash is not mandatory for the command to be recognized.
+Nevertheless within command -as the dashes of the
+emulated commands are mandatory.<br>
Normally any number of leading dashes is ignored with
command words and inner dashes are interpreted as
underscores.</p>
@@ -724,7 +725,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Aquiring source and target drive:</b><BR> <BR></p></td>
+<p> <BR><A NAME="ArgSort"></A><b>Execution order of program arguments:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -732,11 +733,92 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p>The effect of aquiring a drive may depend on several
-options in the next paragraph "Influencing the behavior
-of image loading". If desired, their enabling commands
-have to be performed before the commands which aquire the
-drive.</p>
+<p>By default the program arguments of a xorriso run are
+interpreted as a sequence of commands which get performed
+exactly in the given order. This requires the user to write
+commands for desired settings before the commands which
+shall be influenced by those settings.<br>
+Many other programs support program arguments in an
+arbitrary ordering and perform settings and actions in a
+sequence at their own discretion. xorriso provides an option
+to enable such a behavior at the cost of loss of
+expressivity.</p>
+</td>
+</table>
+<!-- TABS -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="4" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="13%"></td>
+<td width="2%">
+
+<p><b>-x</b></p>
+</td>
+<td width="5%"></td>
+<td width="77%">
+
+<p>Enable automatic sorting of program arguments into a
+sequence that (most likely) is sensible. This command may be
+given at any position among the commands which are handed
+over as program arguments.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Note: It works only if it is given as program argument
+and with a single dash (i.e. "-x"). It will
+not work in startup files, nor with
+-options_from_file, nor in dialog mode, nor as
+"x" and finally not as
+"--x". It affects only the commands
+given as program arguments.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p><b>-list_arg_sorting</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>List all xorriso commands in the order which applies if
+command -x is in effect.<br>
+This list may also be helpful without -x for a user
+who ponders over the sequence in which to put commands.
+Deviations from the listed sorting order may well make
+sense, though.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p> <BR><A NAME="AqDrive"></A><b>Acquiring source and target drive:</b><BR> <BR></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p>The effect of acquiring a drive may depend on several
+commands in the next paragraph "Influencing the
+behavior of image loading". If desired, their enabling
+commands have to be performed before the commands which
+acquire the drive.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -765,7 +847,7 @@
output, to which several restrictions apply. See above
paragraph "Libburn drives".<br>
An empty address string "" gives up the current
-device without aquiring a new one.</p>
+device without acquiring a new one.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -819,7 +901,7 @@
output, to which several restrictions apply. See above
paragraph "Libburn drives".<br>
An empty address string "" gives up the current
-output drive without aquiring a new one. No writing is
+output drive without acquiring a new one. No writing is
possible without an output drive.</p>
</td>
</table>
@@ -862,7 +944,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Influencing the behavior of image
+<p> <BR><A NAME="Loading"></A><b>Influencing the behavior of image
loading:</b></p></td>
</table>
<!-- INDENTATION -->
@@ -871,9 +953,9 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p>The following options should normally be performed before
-loading an image by aquiring an input drive. In rare cases
-it is desirable to activate them only after image
+<p>The following commands should normally be performed
+before loading an image by acquiring an input drive. In rare
+cases it is desirable to activate them only after image
loading.</p>
</td>
</table>
@@ -893,7 +975,7 @@
<td width="77%">
<p>Load a particular (possibly outdated) ISO session from
-dev or -indev. Usually all available sessions
-are shown with option -toc.<br>
+are shown with command -toc.<br>
entity depicts the kind of addressing. id depicts the
particular address. The following entities are defined:<br>
"auto" with any id addresses the last session in
@@ -938,7 +1020,7 @@
multi-session method of growing is not allowed as long
as -displacement is non-zero. I.e. -indev
and -outdev must be different. The displacement gets
-reset to 0 before the drive gets re-aquired after
+reset to 0 before the drive gets re-acquired after
writing.<br>
Examples:<br>
If a track of a CD starts at block 123456 and gets copied to
@@ -1021,7 +1103,7 @@
up the input drive and issue an event of the given severity
(like FAILURE, see -abort_on). An empty search pattern
accepts any image.<br>
-This option does not hamper the creation of an empty image
+This command does not hamper the creation of an empty image
from blank input media and does not discard an already
loaded image.</p>
</td>
@@ -1148,7 +1230,7 @@
store ACLs in the ISO image using the libisofs specific AAIP
format, load AAIP data from ISO images, test ACL during file
comparison, and restore ACLs to disk files when extracting
-them from ISO images. See also options -getfacl,
+them from ISO images. See also commands -getfacl,
-setfacl.</p>
</td>
</table>
@@ -1169,7 +1251,7 @@
<td width="77%">
<p>Enable or disable processing of xattr attributes in user
namespace. If enabled, then <b>xorriso</b> will handle xattr
-similar to ACL. See also options -getfattr,
+similar to ACL. See also commands -getfattr,
-setfattr and above paragraph about xattr.</p>
</td>
</table>
@@ -1194,7 +1276,7 @@
of superblock and directory tree match properly. The MD5
checksums of data files and whole session get loaded from
the image if there are any.<br>
-With options -compare and -update the recorded
+With commands -compare and -update the recorded
MD5 of a file will be used to avoid content reading from the
image. Only the disk file content will be read and compared
with that MD5. This can save much time if
@@ -1218,7 +1300,7 @@
performed.<br>
The test can be re-enabled by mode
"load_check_on".<br>
-Checksums can be exploited via options -check_md5,
+Checksums can be exploited via commands -check_md5,
-check_md5_r, via find actions get_md5, check_md5, and
via -check_media.</p>
</td>
@@ -1323,7 +1405,7 @@
elsewise trustworthy table-of-content scan for
those media.<br>
To be in effect, the -rom_toc_scan setting has to be
-made before the -*dev command which aquires drive and
+made before the -*dev command which acquires drive and
medium.</p>
</td>
</table>
@@ -1411,7 +1493,40 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Inserting files into ISO image:</b><BR> <BR></p></td>
+<p><b>-data_cache_size</b> number_of_tiles
+blocks_per_tile</p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Set the size and granularity of the data cache which is
+used when ISO images are loaded and when file content is
+read from ISO images. The cache consists of several tiles,
+which each consists of several blocks. A larger cache
+reduces the need for tiles being read multiple times. Larger
+tiles might additionally improve the data throughput from
+the drive, but can be wasteful if the data are scattered
+over the medium.<br>
+Larger cache sizes help best with image loading from MMC
+drives. They are an inferior alternative to -osirrox
+option "sort_lba_on".<br>
+blocks_per_tile must be a power of 2. E.g. 16, 32, or 64.
+The overall cache size must not exceed 1 GiB. The default
+values can be restored by parameter "default"
+instead of one or both of the numbers. Currently the default
+is 32 tiles of 32 blocks = 2 MiB.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p> <BR><A NAME="Insert"></A><b>Inserting files into ISO image:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -1466,7 +1581,7 @@
<td width="21%"></td>
<td width="77%">
<p>Set the pattern expansion mode for the disk_path
-arguments of several commands which support this
+parameters of several commands which support this
feature.<br>
Setting "off" disables this feature for all
commands which are marked in this man page by
@@ -1641,7 +1756,7 @@
<tr valign="top" align="left">
<td width="21%"></td>
<td width="77%">
-<p>Perform -map with each of the disk_path arguments.
+<p>Perform -map with each of the disk_path parameters.
iso_rr_path will be composed from disk_path by replacing
disk_prefix by iso_rr_prefix.</p>
</td>
@@ -1664,7 +1779,7 @@
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
+lengthy content reading before a decision is made. Commands
-disk_dev_ino or -md5 may accelerate comparison
if they were already in effect when the loaded session was
recorded.<br>
@@ -1692,7 +1807,7 @@
counterparts below the other address and whether both
counterparts match. If there is a mismatch then the
necessary update manipulation is done.<br>
-Note that the comparison result may depend on option
+Note that the comparison result may depend on command
-follow. Its setting should always be the same as with
the first adding of disk_path as iso_rr_path.<br>
If iso_rr_path does not exist yet, then it gets added. If
@@ -1715,7 +1830,7 @@
<td width="21%"></td>
<td width="77%">
<p>Perform -update_r with each of the disk_path
-arguments. iso_rr_path will be composed from disk_path by
+parameters. iso_rr_path will be composed from disk_path by
replacing disk_prefix by iso_rr_prefix.</p>
</td>
</table>
@@ -1754,12 +1869,12 @@
/file/part_2_of_3_at_2047m_with_2047m_of_5753194821 \<br>
-cut_out /my/disk/file 4094m 2047m \<br>
/file/part_3_of_3_at_4094m_with_2047m_of_5753194821<br>
-While option -split_size is set larger than 0, and if
+While command -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
+file. This affects commands -compare*, -update*,
+and overwrite situations. See command -split_size for
details.</p>
</td>
</table>
@@ -1866,7 +1981,7 @@
and not the -cdx path. Consider to -mkdir
iso_rr_path_dest before -cp_clone so the copy address
does not depend on the number of iso_rr_path_original
-arguments.</p>
+parameters.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -1875,7 +1990,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Settings for file insertion:</b><BR> <BR></p></td>
+<p> <BR><A NAME="SetInsert"></A><b>Settings for file insertion:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -2017,8 +2132,8 @@
<td width="21%"></td>
<td width="77%">
<p>Read lines from disk_path and use each of them either as
--not_paths argument, if they contain a / character, or
-as -not_leaf pattern.</p>
+-not_paths parameter, if they contain a / character,
+or as -not_leaf pattern.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -2036,7 +2151,7 @@
<td width="21%"></td>
<td width="77%">
<p>Like -not_list but with quoted input reading rules.
-Each word is handled as one argument for -not_paths
+Each word is handled as one parameter for -not_paths
resp. -not_leaf.</p>
</td>
</table>
@@ -2185,11 +2300,11 @@
-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
+While command -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* ,
+handled like a regular file by commands -compare* ,
-update*, and in overwrite situations. There are
--ossirox options "concat_split_on" and
+-ossirox parameters "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
@@ -2204,7 +2319,7 @@
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
+byte_count must be valid as -cut_out parameter and
their contents may not overlap.</p>
</td>
</table>
@@ -2214,7 +2329,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>File manipulations:</b><BR> <BR></p></td>
+<p> <BR><A NAME="Manip"></A><b>File manipulations:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -2243,7 +2358,7 @@
<td width="21%"></td>
<td width="77%">
<p>Set the pattern expansion mode for the iso_rr_path
-arguments of several commands which support this
+parameters of several commands which support this
feature.<br>
Setting "off" disables pattern expansion for all
commands which are marked in this man page by
@@ -2293,7 +2408,7 @@
<td width="21%"></td>
<td width="77%">
<p>Delete the given files or directory trees from the ISO
-image. See also the note with option -rm.</p>
+image. See also the note with command -rm.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -2328,9 +2443,9 @@
<td width="21%"></td>
<td width="77%">
<p>Rename the given file objects in the ISO tree to the last
-argument in the list. Use the same rules as with shell
+parameter in the list. Use the same rules as with shell
command mv.<br>
-If pattern expansion is enabled and if the last argument
+If pattern expansion is enabled and if the last parameter
contains wildcard characters then it must match exactly one
existing file address, or else the command fails with a
FAILURE event.</p>
@@ -2576,8 +2691,8 @@
has to begin with "user.", like "user.x"
or "user.whatever".<br>
Values and names undergo the normal input processing of
-<b>xorriso</b>. See also option -backslash_codes.
-Other than with option -setfattr_list, the byte value
+<b>xorriso</b>. See also command -backslash_codes.
+Other than with command -setfattr_list, the byte value
0 cannot be expressed via -setfattr.</p>
</td>
</table>
@@ -2635,7 +2750,7 @@
kind of bytes. It must be in quotes. Trailing whitespace
after the end quote will be ignored. Non-printables
bytes and quotes must be represented as \XYZ by their octal
-ASCII code XYZ. Use code \000 for 0-bytes.</p>
+8-bit code XYZ. Use code \000 for 0-bytes.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -2734,7 +2849,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Tree traversal command -find:</b><BR> <BR></p></td>
+<p> <BR><A NAME="CmdFind"></A><b>Tree traversal command -find:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -2754,7 +2869,7 @@
<p>A restricted substitute for shell command find in the ISO
image. It performs an action on matching file objects at or
below iso_rr_path.<br>
-If not used as last command in the line then the argument
+If not used as last command in the line then the parameter
list needs to get terminated by
"--".<br>
Tests are optional. If they are omitted then action is
@@ -2877,7 +2992,7 @@
-dl.<b><br>
compare</b> performs command -compare with the found
file address as iso_rr_path and the corresponding file
-address below its argument disk_path_start. For this the
+address below its parameter disk_path_start. For this the
iso_rr_path of the -find command gets replaced by the
disk_path_start.<br>
E.g.: -find /thomas -exec compare /home/thomas
@@ -2921,7 +3036,7 @@
getfacl</b> prints access permissions in ACL text form to
the result channel.<b><br>
setfacl</b> attaches ACLs after removing existing ones. The
-new ACL is given in text form as defined with option
+new ACL is given in text form as defined with command
-setfacl.<br>
E.g.: -exec setfacl
u:lisa:rw,u::rw,g::r,o::-,m::rw --<b><br>
@@ -2944,7 +3059,7 @@
"b" prints backslash encoding. Not suitable for
shell parsing.<br>
E.g. -exec list_extattr e --<br>
-Option -backslash_codes does not affect the
+Command -backslash_codes does not affect the
output.<b><br>
get_md5</b> prints the MD5 sum, if recorded, together with
file path.<b><br>
@@ -3008,7 +3123,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Filters for data file content:</b><BR> <BR></p></td>
+<p> <BR><A NAME="Filter"></A><b>Filters for data file content:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -3165,7 +3280,11 @@
revokes filtering. This will revoke suffix renamings as
well. Use
"--remove-all-filters+" to
-prevent any suffix renaming.</p>
+prevent any suffix renaming.<br>
+Attaching or detaching filters will not alter the state of
+-changes_pending. If the filter manipulations shall be
+the only changes in a write run, then explicitely execute
+-changes_pending "yes".</p>
</td>
</table>
<!-- INDENTATION -->
@@ -3193,7 +3312,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Writing the result, drive control:</b><BR> <BR></p></td>
+<p> <BR><A NAME="Writing"></A><b>Writing the result, drive control:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -3229,6 +3348,41 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
+<p><b>-changes_pending</b>
+"no"|"yes"|"mkisofs_printed"|"show_status"</p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Write runs are performed only if a change of the image
+has been made since the image was loaded or created blank.
+Vice versa the program will start a write run for pending
+changes when it ends normally (i.e. not by abort and not by
+command -rollback_end).<br>
+The command -changes_pending can be used to override
+the automatically determined state. This is mainly useful
+for setting state "yes" despite no real changes
+were made. The sequence -changes_pending
+"no" -end is equivalent to the command
+-rollback_end. State "mkisofs_printed" is
+caused by emulation command -as mkisofs if option
+-print-size is present.<br>
+The pseudo-state "show_status" can be used
+to print the current state to result channel.<br>
+Image loading or manipulations which happen after this
+command will again update automatically the change status of
+the image.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
<p><b>-commit</b></p></td>
</table>
<!-- INDENTATION -->
@@ -3245,7 +3399,7 @@
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
+command -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>
@@ -3344,7 +3498,7 @@
suitable for a single session. Some drives announce this
state by not offering feature 21h, but some drives offer it
anyway. If feature 21h is missing, then <b>xorriso</b> will
-refuse to write on DVD-RW if not option -close
+refuse to write on DVD-RW if not command -close
is set to "on".<br>
The progress reports issued by some drives while blanking
are quite unrealistic. Do not conclude success or failure
@@ -3382,7 +3536,7 @@
"fast" does the same as "full" but tries
to be quicker.<br>
"by_index_" selects a format out of the descriptor
-list issued by option -list_formats. The index number
+list issued by command -list_formats. The index number
from that list is to be appended to the mode word. E.g:
"by_index_3".<br>
"fast_by_index_" does the same as
@@ -3494,10 +3648,10 @@
reported the medium as damaged. This may apply to
CD-R, CD-RW, DVD-R, DVD-RW, DVD+R,
DVD+R DL, or BD-R media. It is indicated by warning
-messages when the drive gets aquired, and by a remark
+messages when the drive gets acquired, and by a remark
"but next track is damaged" with the line
"Media status :" of command -toc.<br>
-The setting of option -close determines whether the
+The setting of command -close determines whether the
medium stays appendable.<br>
Mode "as_needed" gracefully refuses on media which
are not reported as damaged. Mode "force" attempts
@@ -3534,7 +3688,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Settings for result writing:</b><BR> <BR></p></td>
+<p> <BR><A NAME="SetWrite"></A><b>Settings for result writing:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -3544,7 +3698,7 @@
<td width="89%">
<p>Rock Ridge info will be generated by the program
unconditionally. ACLs will be written according to the
-setting of option -acl.</p>
+setting of command -acl.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -3580,55 +3734,66 @@
<tr valign="top" align="left">
<td width="21%"></td>
<td width="77%">
-<p>Adjust the compliance to specifications of ISO 9660 and
-its contemporary extensions. In some cases it is worth to
-deviate a bit in order to circumvent bugs of the intended
-reader system or to get unofficial extra features.<br>
+<p>Adjust the compliance to specifications of ISO
+9660/ECMA-119 and its contemporary extensions. In some
+cases it is worth to deviate a bit in order to circumvent
+bugs of the intended reader system or to get unofficial
+extra features.<br>
There are several adjustable rules which have a keyword
-each. If they are mentioned with this option then their rule
-gets added to the relaxation list. This list can be erased
-by rules "strict" or "clear". It can be
-reset to its start setting by "default". All of
-the following relaxation rules can be revoked individually
-by appending "_off". Like
+each. If they are mentioned with this command then their
+rule gets added to the relaxation list. This list can be
+erased by rules "strict" or "clear". It
+can be reset to its start setting by "default".
+All of the following relaxation rules can be revoked
+individually by appending "_off". Like
"deep_paths_off".<br>
Rule keywords are:<br>
-"iso_9660_level="number chooses level 1 with ISO
-names of the form 8.3 and -file_size_limit <= 4g
-- 1, or level 2 with ISO names up to length 32 and the
-same -file_size_limit, or level 3 with ISO names up to
-length 32 and -file_size_limit >= 400g -200k.
-If necessary -file_size_limit gets adjusted.<br>
-"allow_dir_id_ext" allows ISO names of directories
-to have a name extension as with other file types. It does
-not force dots and it omits the version number, though. This
-is a bad tradition of mkisofs which violates ECMA-119.
-Especially ISO level 1 only allows 8 characters in a
-directory name and not 8.3.<br>
+"iso_9660_level="number chooses level 1 with
+ECMA-119 names of the form 8.3 and
+-file_size_limit <= 4g - 1, or level 2 with
+ECMA-119 names up to length 32 and the same
+-file_size_limit, or level 3 with ECMA-119 names
+up to length 32 and -file_size_limit >= 400g
+-200k. If necessary -file_size_limit gets
+adjusted.<br>
+"allow_dir_id_ext" allows ECMA-119 names of
+directories to have a name extension as with other file
+types. It does not force dots and it omits the version
+number, though. This is a bad tradition of mkisofs which
+violates ECMA-119. Especially ISO level 1 only allows
+8 characters in a directory name and not 8.3.<br>
"omit_version" does not add versions
-(";1") to ISO and Joliet file names.<br>
+(";1") to ECMA-119 and Joliet file
+names.<br>
"only_iso_version" does not add versions
(";1") to Joliet file names.<br>
-"deep_paths" allows ISO file paths deeper than 8
-levels.<br>
-"long_paths" allows ISO file paths longer than 255
-characters.<br>
-"long_names" allows up to 37 characters with ISO
-file names.<br>
-"no_force_dots" does not add a dot to ISO file
-names which have none.<br>
+"deep_paths" allows ECMA-119 file paths
+deeper than 8 levels.<br>
+"long_paths" allows ECMA-119 file paths
+longer than 255 characters.<br>
+"long_names" allows up to 37 characters with
+ECMA-119 file names.<br>
+"no_force_dots" does not add a dot to
+ECMA-119 file names which have none.<br>
"no_j_force_dots" does not add a dot to Joliet
file names which have none.<br>
-"lowercase" allows lowercase characters in ISO
-file names.<br>
-"full_ascii" allows all ASCII characters in ISO
-file names.<br>
+"lowercase" allows lowercase characters in
+ECMA-119 file names.<br>
+"7bit_ascii" allows nearly all 7-bit
+characters in ECMA-119 file names. Not allowed are 0x0
+and ’/’. If not "lowercase" is
+enabled, then lowercase letters get converted to
+uppercase.<br>
+"full_ascii" allows all 8-bit characters
+except 0x0 and ’/’ in ECMA-119 file
+names.<br>
"untranslated_names" might be dangerous for
inadverted reader programs which rely on the restriction to
-at most 37 characters in ISO file names. This option allows
-ISO file names up to 96 characters with no character
-conversion. If a file name has more characters, then image
-production will fail deliberately.<br>
+at most 37 characters in ECMA-119 file names. This
+rule allows ECMA-119 file names up to 96 characters
+with no character conversion. If a file name has more
+characters, then image production will fail
+deliberately.<br>
"untranslated_name_len="number enables
untranslated_names with a smaller limit for the length of
file names. 0 disables this feature, -1 chooses
@@ -3672,9 +3837,45 @@
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:<br>
always_gmt:old_rr".<br>
-Note: The term "ISO file" means the plain ISO 9660
-names and attributes which get visible if the reader ignores
-Rock Ridge.</p>
+Note: The term "ECMA-119 name" means the
+plain ISO 9660 names and attributes which get visible if the
+reader ignores Rock Ridge.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p><b>-rr_reloc_dir</b> name</p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Specify the name of the relocation directory in which
+deep directory subtrees shall be placed if -compliance
+is set to "deep_paths_off" or
+"long_paths_off". A deep directory is one that has
+a chain of 8 parent directories (including root) above
+itself, or one that contains a file with an ECMA-119
+path of more than 255 characters.<br>
+The overall directory tree will appear originally deep when
+interpreted as Rock Ridge tree. It will appear as
+re-arranged if only ECMA-119 information is
+considered.<br>
+The default relocation directory is the root directory. By
+giving a non-empty name with -rr_reloc_dir, a
+directory in the root directory may get this role. If that
+directory does not already exist at -commit time, then
+it will get created and marked for Rock Ridge as relocation
+artefact. At least on GNU/Linux it will not be displayed in
+mounted Rock Ridge images.<br>
+The name must not contain a ’/’ character and
+must not be longer than 255 bytes.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -3694,7 +3895,7 @@
<p>Specify the volume ID. <b>xorriso</b> accepts any text up
to 32 characters, but according to rarely obeyed specs
stricter rules apply:<br>
-ECMA 119 demands ASCII characters out of
+ECMA-119 demands ASCII characters out of
[A-Z0-9_]. Like: "IMAGE_23"<br>
Joliet allows 16 UCS-2 characters. Like: "Windows
name"<br>
@@ -3829,7 +4030,7 @@
YYYY-MM-DD-hh-mm-ss-cc<br>
E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0
centiseconds).<br>
-Timestrings for the other types may be given as with option
+Timestrings for the other types may be given as with command
-alter_date. They are prone to timezone computations.
The timestrings "default" or
"overridden" cause default settings: "c"
@@ -4002,7 +4203,7 @@
<td width="77%">
<p>Set global parameters for zisofs compression. This data
format is recognized and transparently uncompressed by some
-Linux kernels. It is to be applied via option
+Linux kernels. It is to be applied via command
-set_filter with built-in filter
"--zisofs". Parameters are:<br>
"level="[0-9] zlib compression: 0=none,
@@ -4097,7 +4298,7 @@
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
+type, on command -stream_recording , and on compile
time options.</p>
</td>
</table>
@@ -4183,7 +4384,7 @@
<p>If "on" then mark the written medium as not
appendable any more (if possible at all with the given type
of target media).<br>
-This is the contrary of cdrecord, wodim, cdrskin option
+This is the contrary of cdrecord, wodim, cdrskin command
-multi, and is one aspect of growisofs option
-dvd-compat.</p>
</td>
@@ -4226,7 +4427,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p><b>Bootable ISO images:</b></p></td>
+<p> <BR><A NAME="Bootable"></A><b>Bootable ISO images:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -4281,7 +4482,7 @@
has been read from an existing ISO image or define how to
make a prepared boot image file set bootable. Such file sets
get produced by ISOLINUX or GRUB.<br>
-Each -boot_image command has two arguments: type and
+Each -boot_image command has two parameters: type and
setting. More than one -boot_image command may be used
to define the handling of one or more boot images. Sequence
matters.<br>
@@ -4478,7 +4679,7 @@
sparc_label=</b>text causes the production of a SUN Disk
Label with the given text as ASCII label. This boot block
format allows to append images for partitions 2 to 8.
-Partition 1 will always be the ISO image. See option
+Partition 1 will always be the ISO image. See command
-append_partition. The first 512 bytes of any data
provided by system_area= will be overwritten.<b><br>
mips_discard</b> and <b>sparc_discard</b> revoke any boot
@@ -4539,7 +4740,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Jigdo Template Extraction:</b><BR> <BR></p></td>
+<p> <BR><A NAME="Jigdo"></A><b>Jigdo Template Extraction:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -4657,7 +4858,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Character sets:</b><BR> <BR></p></td>
+<p> <BR><A NAME="Charset"></A><b>Character sets:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -4680,7 +4881,7 @@
local character set which applies when an ISO image gets
loaded. A conversion from local character set to the output
character set is performed when an image tree gets written.
-The sets can be defined independently by options
+The sets can be defined independently by commands
-in_charset and -out_charset. Normally one will
have both identical, if ever.<br>
If conversions are desired then <b>xorriso</b> needs to know
@@ -4695,7 +4896,7 @@
emerging names in the image. The situation stays ambigous
and the reader has to riddle what character set was
used.<br>
-By option -auto_charset it is possible to attribute
+By command -auto_charset it is possible to attribute
the output charset name to the image. This makes the
situation unambigous. But if your terminal character set
does not match the character set of the local file names,
@@ -4756,7 +4957,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Exception processing:</b><BR> <BR></p></td>
+<p> <BR><A NAME="Exception"></A><b>Exception processing:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -4816,9 +5017,9 @@
"FATAL", "FAILURE" , "MISHAP",
"SORRY"<br>
It may become necessary to abort the program anyway, despite
-the setting by this option. Expect not many
+the setting by this command. Expect not many
"ABORT" events to be ignorable.<br>
-A special property of this option is that it works
+A special property of this command is that it works
preemptive if given as program start argument. I.e. the
first -abort_on setting among the start arguments is
in effect already when the first operations of
@@ -4883,7 +5084,7 @@
which is usually stderr but may be influenced by command
-pkt_output. Info messages which belong to no event
get attributed severity "NOTE".<br>
-A special property of this option is that the first
+A special property of this command is that the first
-report_about setting among the start arguments is in
effect already when the first operations of <b>xorriso</b>
begin. Only "-report_about" with dash
@@ -4931,7 +5132,7 @@
in unusable state and needs poweroff to be reset. So during
burning, blanking, and formatting wait for at least their
normal run time before killing externally.<br>
-A special property of this option is that the first
+A special property of this command is that the first
-signal_handling setting among the start arguments is
in effect already when the first operations of
<b>xorriso</b> begin. Only
@@ -4957,11 +5158,11 @@
For now this applies to occasions "image_loading"
which is given while an image tree is read from the input
device, and to "file_extraction" which is given
-with osirrox options like -extract.<br>
+with osirrox commands like -extract.<br>
With "image_loading" there are three behaviors
available:<br>
"best_effort" goes on with reading after events
-with severity below FAILURE if the threshold of option
+with severity below FAILURE if the threshold of command
-abort_on allows this.<br>
"failure" aborts image tree reading on first event
of at least SORRY. It issues an own FAILURE event. This is
@@ -4985,7 +5186,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Dialog mode control:</b><BR> <BR></p></td>
+<p> <BR><A NAME="DialogCtl"></A><b>Dialog mode control:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -5002,7 +5203,7 @@
<tr valign="top" align="left">
<td width="21%"></td>
<td width="77%">
-<p>Enable or disable to enter dialog mode after all
+<p>Enable or disable to enter dialog mode after all program
arguments are processed. In dialog mode input lines get
prompted via readline or from stdin.<br>
If no -abort_on severity was set when dialog starts,
@@ -5093,10 +5294,10 @@
file in its whole subtree.<br>
Setting "off" silently kills any kind of image
file object resp. performs above irrevocable actions.<br>
-To really produce user prompts, option -dialog needs
+To really produce user prompts, command -dialog needs
to be set to "on". Note that the prompt does not
appear in situations where file removal is forbidden by
-option -overwrite. -reassure only imposes an
+command -overwrite. -reassure only imposes an
additional curb for removing existing file objects.<br>
Be aware that file objects get deleted from the ISO image
immediately after confirmation. They are gone even if the
@@ -5111,7 +5312,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Drive and media related inquiry actions:</b><BR> <BR></p></td>
+<p> <BR><A NAME="Inquiry"></A><b>Drive and media related inquiry actions:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -5130,7 +5331,7 @@
<p>Show list of available MMC drives with the addresses of
their libburn standard device files.<br>
This is only possible when no ISO image changes are pending.
-After this option was executed, there is no drive current
+After this command was executed, there is no drive current
and no image loaded.<br>
In order to be visible, a device has to offer
rw-permissions with its libburn standard device file.
@@ -5197,7 +5398,7 @@
on it. The last of these sessions is supposed to be the most
recent real session then.<br>
Some read-only drives and media show no usable session
-history at all. Option -rom_toc_scan might help.</p>
+history at all. Command -rom_toc_scan might help.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -5228,7 +5429,7 @@
volume id, or "auto" with any text as id.<br>
path will be used as mount point and must already exist as a
directory on disk.<br>
-The command gets printed to the result channel. See option
+The command gets printed to the result channel. See command
-mount for direct execution of this command.</p>
</td>
</table>
@@ -5308,11 +5509,11 @@
<p>Print the foreseeable consumption of 2048 byte blocks by
next -commit. This can last a while as a -commit
gets prepared and only in last moment is revoked by this
-option. The result depends on several settings and also on
+command. The result depends on several settings and also on
the kind of output device. If no -jidgo options are
-given and not command -as "mkisofs" was
-used, then -padding (300 kB by default) is not counted
-as part of the image size.</p>
+set and not command -as "mkisofs" was used,
+then -padding (300 kB by default) is not counted as
+part of the image size.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -5349,7 +5550,7 @@
<td width="21%"></td>
<td width="77%">
<p>Print various id strings which can be found in loaded ISO
-images. Some of them may be changed by options like
+images. Some of them may be changed by commands like
-volid or -publisher. For these ids
-pvd_info reports what would be written with the next
-commit.</p>
@@ -5361,7 +5562,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Navigation in ISO image and disk
+<p> <BR><A NAME="Navigate"></A><b>Navigation in ISO image and disk
filesystem:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
@@ -5639,7 +5840,7 @@
ISO image using the format of shell command getfacl. If a
file has no ACL then it gets fabricated from the
-chmod settings. A file may have a real ACL if it was
-introduced into the ISO image while option -acl was
+introduced into the ISO image while command -acl was
set to "on".</p>
</td>
</table>
@@ -5791,7 +5992,7 @@
<p>Like -find but operating on local filesystem and
not on the ISO image. This is subject to the settings of
-follow.<br>
--findx accepts the same -type arguments as
+-findx accepts the same -type parameters as
-find. Additionally it recognizes type
"mountpoint" (or "m") which matches
subdirectories which reside on a different device than their
@@ -5895,7 +6096,7 @@
<td width="21%"></td>
<td width="77%">
<p>Perform -compare_r with each of the disk_path
-arguments. iso_rr_path will be composed from disk_path by
+parameters. iso_rr_path will be composed from disk_path by
replacing disk_prefix by iso_rr_prefix.</p>
</td>
</table>
@@ -5955,7 +6156,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Evaluation of readability and recovery:</b><BR> <BR></p></td>
+<p> <BR><A NAME="Verify"></A><b>Evaluation of readability and recovery:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -5974,7 +6175,7 @@
classify them according to their read speed, save them to a
file, and keep track of successfuly saved blocks for further
tries on the same medium.<br>
-By option -md5 checksums may get recorded with data
+By command -md5 checksums may get recorded with data
files and whole sessions. These checksums are reachable only
via indev and a loaded image. They work independently of the
media type and can detect transmission errors.</p>
@@ -5999,10 +6200,10 @@
copy them to a disk file, and finally report about the
encountered quality. Several options may be used to modify
the default behavior.<br>
-The options given with this command override the default
-settings which may have been changed by option
+The parameters given with this command override the default
+settings which may have been changed by command
-check_media_defaults. See there for a description of
-options.<br>
+available options.<br>
The result list tells intervals of 2 KiB blocks with start
address, number of blocks and quality. Qualities which begin
with "+" are supposed to be valid readable data.
@@ -6165,10 +6366,10 @@
image with their recorded MD5 checksums, if there are any.
In case of any mismatch an event of the given severity is
issued. It may then be handled by appropriate settings of
-options -abort_on or -return_with which both can
-cause non-zero exit values of the program run.
+commands -abort_on or -return_with which both
+can cause non-zero exit values of the program run.
Severity ALL suppresses that event.<br>
-This option reports match and mismatch of data files to the
+This command reports match and mismatch of data files to the
result channel. Non-data files cause NOTE events.
There will also be UPDATE events from data reading.<br>
If no iso_rr_path is given then the whole loaded session is
@@ -6203,7 +6404,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>osirrox ISO-to-disk restore options:</b><BR> <BR></p></td>
+<p> <BR><A NAME="Restore"></A><b>osirrox ISO-to-disk restore commands:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -6356,7 +6557,7 @@
<td width="21%"></td>
<td width="77%">
<p>Perform -extract with each of the iso_rr_path
-arguments. disk_path will be composed from iso_rr_path by
+parameters. disk_path will be composed from iso_rr_path by
replacing iso_rr_prefix by disk_prefix.</p>
</td>
</table>
@@ -6494,7 +6695,7 @@
<td width="77%">
<p>Read the content of a ISO data file and write it into a
data file on disk beginning at the byte_offset. Write at
-most byte_count bytes. This is the inverse of option
+most byte_count bytes. This is the inverse of command
-cut_out.</p>
</td>
</table>
@@ -6527,7 +6728,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Command compatibility emulations:</b><BR> <BR></p></td>
+<p> <BR><A NAME="Emulation"></A><b>Command compatibility emulations:</b><BR> <BR></p></td>
</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
@@ -6596,7 +6797,7 @@
image.<br>
-graft-points is equivalent to -pathspecs
on. Note that pathspecs without "=" are
-interpreted differently than with <b>xorriso</b> option
+interpreted differently than with <b>xorriso</b> command
-add. Directories get merged with the root directory
of the ISO image, other filetypes get mapped into that root
directory.<br>
@@ -6606,9 +6807,9 @@
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
-<b>xorriso</b> options before -as mkisofs or after its
-list delimiter. Directories and symbolic links are no valid
--o targets.<br>
+<b>xorriso</b> commands before -as mkisofs or after
+its list delimiter. 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
@@ -6639,15 +6840,15 @@
--quoted_path_list , --hardlinks ,
--acl , --xattr , --md5
, --stdio_sync . They work like the
-<b>xorriso</b> options with the same name and hardcoded
-argument "on", e.g. -acl "on".
-Explicit arguments are expected by --stdio_sync
+<b>xorriso</b> commands with the same name and hardcoded
+parameter "on", e.g. -acl "on".
+Explicit parameters are expected by --stdio_sync
and --scdbackup_tag.<br>
The capability to preserve multi-session history on
overwriteable media gets disabled by default. It can be
enabled by using --emul-toc with the first
session. See -compliance no_emul_toc.<br>
---sort-weight gets as arguments a number
+--sort-weight gets as parameters a number
and an iso_rr_path. The number becomes the LBA sorting
weight of regular file iso_rr_path or of all regular files
underneath directory iso_rr_path. (See -find
@@ -6675,13 +6876,13 @@
-mipsel-boot leads to mipsel_path= .<br>
-partition_offset number is -boot_image any
partition_offset=number.<br>
-Option -append_partition is supported.<br>
+Command -append_partition is supported.<br>
-untranslated_name_len number is -compliance
untranslated_name_len=number.<br>
--old-empty is -compliance
old_empty.<br>
The options of genisoimage Jigdo Template Extraction are
-recognized and performed via <b>xorriso</b> option
+recognized and performed via <b>xorriso</b> command
-jigdo. See the "Alias:" names there for the
meaning of the genisoimage options.</p>
<!-- INDENTATION -->
@@ -6693,10 +6894,10 @@
"xorrisofs", "genisofs",
"mkisofs", or "genisoimage", then it
performs -read_mkisofsrc and prepends -as
-"genisofs" to the command line arguments. I.e. all
+"genisofs" to the program arguments. I.e. all
arguments will be interpreted mkisofs style until
"--" is encountered. From then on,
-options are interpreted as <b>xorriso</b> options.<br>
+arguments are interpreted as <b>xorriso</b> commands.<br>
--no_rc as first argument of such a program
start prevents interpretation of startup files. See section
FILES below.</p>
@@ -6717,7 +6918,7 @@
written to blank, overwriteable, or appendable media. The
medium gets closed if closing is applicable and not option
-multi is present.<br>
-If an input drive was aquired, then it is given up. This is
+If an input drive was acquired, then it is given up. This is
only allowed if no image changes are pending.<br>
dev= must be given as <b>xorriso</b> device address.
Addresses like 0,0,0 or ATA:1,1,0 are not supported.<br>
@@ -6739,10 +6940,10 @@
"xorrecord", "cdrskin",
"cdrecord", or "wodim", then it
automatically prepends -as "cdrskin" to the
-command line arguments. I.e. all arguments will be
-interpreted cdrecord style until "--"
-is encountered. From then on, options are interpreted as
-<b>xorriso</b> options.<br>
+program arguments. I.e. all arguments will be interpreted
+cdrecord style until "--" is
+encountered. From then on, arguments are interpreted as
+<b>xorriso</b> commands.<br>
--no_rc as first argument of such a program
start prevents interpretation of <b>xorriso</b> startup
files. See section <A HREF="#FILES">FILES</A> below.</p>
@@ -6832,7 +7033,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Scripting, dialog and program control
+<p> <BR><A NAME="Scripting"></A><b>Scripting, dialog and program control
features:</b><BR> <BR></p></td>
</table>
<!-- TABS -->
@@ -6853,7 +7054,7 @@
<tr valign="top" align="left">
<td width="21%"></td>
<td width="77%">
-<p>Only if used as first command line argument this option
+<p>Only if used as first program argument this command
prevents reading and interpretation of startup files. See
section FILES below.</p>
</td>
@@ -6875,7 +7076,7 @@
<p>Read quoted input from fileaddress and execute it like
dialog lines. Empty lines and lines which begin by # are
ignored. Normally one line should hold one <b>xorriso</b>
-command and all its arguments. Nevertheless lines may be
+command and all its parameters. Nevertheless lines may be
concatenated by a trailing backslash.<br>
See also section "Command processing", paragraph
"Quoted input".</p>
@@ -7076,11 +7277,11 @@
Mode "encode_output" encodes output characters. It
combines "encode_results" with
"encode_infos". Inside single or double quotation
-marks encoding applies to ASCII characters octal 001 to 037
-, 177 to 377 and to backslash(134). Outside quotation marks
-some harmless control characters stay unencoded: bell(007),
-backspace(010), tab(011), linefeed(012), formfeed(014),
-carriage_return(015).<br>
+marks encoding applies to 8-bit characters octal 001
+to 037 , 177 to 377 and to backslash(134). Outside quotation
+marks some harmless ASCII control characters stay unencoded:
+bell(007), backspace(010), tab(011), linefeed(012),
+formfeed(014), carriage_return(015).<br>
Mode "off" is default and disables any
translation. Mode "on" is
"with_quoted_input:with_program_arguments:encode_output".</p>
@@ -7230,8 +7431,8 @@
used as path for a file to append the log lines.<br>
Problematic files can be recorded multiple times during one
program run. If the program run aborts then the list might
-not be complete because some input file arguments might not
-have been processed at all.<br>
+not be complete because some input files might not have been
+processed at all.<br>
The errfile paths are transported as messages of very low
severity "ERRFILE". This transport becomes visible
with -report_about "ALL".</p>
@@ -7281,7 +7482,7 @@
commands and drive replies. Logging messages get printed to
stderr, not to any of the <b>xorriso</b> output
channels.<br>
-A special property of this option is that the first
+A special property of this command is that the first
-scsi_log setting among the start arguments is in
effect already when the first operations of <b>xorriso</b>
begin. Only "-scsi_log" with dash
@@ -7351,7 +7552,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p> <BR><b>Support for frontend programs via stdin and
+<p> <BR><A NAME="Frontend"></A><b>Support for frontend programs via stdin and
stdout:</b></p></td>
</table>
<!-- INDENTATION -->
@@ -7380,7 +7581,7 @@
to the payload. After another colon and a blank follows the
payload text.<br>
Example:<br>
-I:1: enter option and arguments :</p>
+I:1: enter option and parameters :</p>
</td>
</table>
<!-- INDENTATION -->
@@ -7543,7 +7744,7 @@
<tr valign="top" align="left">
<td width="10%"></td>
<td width="89%">
-<p>Aquire drive /dev/sr2, make medium ready for writing a
+<p>Acquire drive /dev/sr2, make medium ready for writing a
new image, fill the image with the files from hard disk
directories /home/me/sounds and /home/me/pictures.<br>
Because no -dialog "on" is given, the
@@ -7571,8 +7772,8 @@
-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
+by the shell with addresses from the hard disk. Commands
+-add and -map have different parameter rules but
finally the same effect: they put files into the image.</p>
</td>
</table>
@@ -7593,9 +7794,9 @@
<p>Some settings are 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 acquired by option -dev rather than
+The drive is acquired by command -dev rather than
-outdev in order to see the message about its current
-content. By option -blank this content is made ready
+content. By command -blank this content is made ready
for being overwritten and the loaded ISO image is made
empty.<br>
In order to be able to eject the medium, the session needs
@@ -7672,7 +7873,7 @@
<td width="10%"></td>
<td width="89%">
<p>Load image from input drive. Do the same manipulations as
-in the previous example. Aquire output drive and blank it.
+in the previous example. Acquire output drive and blank it.
Burn the modified image as first and only session to the
output drive.<br>
$ xorriso -indev /dev/sr2 \<br>
@@ -7729,7 +7930,7 @@
avoid any weaknesses of the local character set, this
command pretends that it uses already the final target set
UTF-8. Therefore strange file names may appear in
-messages, which will be made terminal-safe by option
+messages, which will be made terminal-safe by command
-backslash_codes.<br>
$ xorriso -in_charset ISO-8859-1
-local_charset UTF-8 \<br>
@@ -7984,12 +8185,12 @@
remaining capacity on media and if the expected changes are
much smaller than the full backup. To apply zisofs
compression to those data files which get newly copied from
-the local filesystem, insert these options immediately
+the local filesystem, insert these commands immediately
before -commit :<br>
-hardlinks perform_update \<br>
-find / -type f -pending_data -exec
set_filter --zisofs -- \<br>
-Options -disk_dev_ino and -for_backup depend on
+Commands -disk_dev_ino and -for_backup depend on
stable device and inode numbers on disk. Without them, an
update run may use -md5 "on" to match
recorded MD5 sums against the current file content on hard
@@ -8003,13 +8204,13 @@
option "session=".<br>
Multi-session media and most overwriteable media
written by <b>xorriso</b> can tell the sbsectors of their
-sessions by <b>xorriso</b> option -toc. Used after
--commit the following option prints the matching mount
-command for the newly written session (here for mount point
-/mnt):<br>
+sessions by <b>xorriso</b> command -toc. Used after
+-commit the following command prints the matching
+mount command for the newly written session (here for mount
+point /mnt):<br>
-mount_cmd "indev" "auto"
"auto" /mnt<br>
-Options -mount_cmd and -mount are also able to
+Commands -mount_cmd and -mount are also able to
produce the mount commands for older sessions in the
table-of-content. E.g. as superuser:<br>
# osirrox -mount /dev/sr0 "volid"
@@ -8137,8 +8338,8 @@
emulation.<b><br>
osirrox</b> starts with -osirrox
"on:o_excl_off" which allows to copy files from
-ISO image to disk and to apply option -mount to one or
-more of the existing ISO sessions.</p>
+ISO image to disk and to apply command -mount to one
+or more of the existing ISO sessions.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -8416,5 +8617,5 @@
</td>
</table>
<hr>
-<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from xorriso.1 on Fri Jan 27 14:12:23 CET 2012 by man_xorriso_to_html.sh )</CENTER></FONT></body>
+<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from xorriso.1 on Mon Apr 2 15:47:32 CEST 2012 by man_xorriso_to_html.sh )</CENTER></FONT></body>
</html>
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/man_1_xorrisofs.html
^
|
@@ -1,5 +1,5 @@
<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Fri Jan 27 14:12:23 2012 -->
+<!-- CreationDate: Mon Apr 2 15:47:33 2012 -->
<html>
<head>
<meta name="generator" content="groff -Thtml, via man -H, via xorriso/convert_man_to_html.sh">
@@ -1111,6 +1111,27 @@
This violates ISO 9660 specs.</p>
</td>
</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p><b>-relaxed-filenames</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Allow nearly all 7-bit characters in ISO file
+names. Not allowed are 0x0 and ’/’. If not
+option -allow-lowercase is given, then lowercase
+letters get converted to uppercase.<br>
+This violates ISO 9660 specs.</p>
+</td>
+</table>
<!-- TABS -->
<table width="100%" border=0 rules="none" frame="void"
cols="3" cellspacing="0" cellpadding="0">
@@ -1169,8 +1190,7 @@
<tr valign="top" align="left">
<td width="21%"></td>
<td width="77%">
-<p>Allow up to 37 characters in ISO file names.<br>
-This violates ISO 9660 specs.</p>
+<p>Allow up to 31 characters in ISO file names.</p>
</td>
</table>
<!-- INDENTATION -->
@@ -1204,7 +1224,8 @@
<tr valign="top" align="left">
<td width="21%"></td>
<td width="77%">
-<p>Alias of -l.</p>
+<p>Allow up to 37 characters in ISO file names.<br>
+This violates ISO 9660 specs.</p>
</td>
</table>
<!-- TABS -->
@@ -1340,6 +1361,110 @@
<p>Alias of -r.</p>
</td>
</table>
+<!-- TABS -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="4" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="2%">
+
+<p><b>-D</b></p>
+</td>
+<td width="7%"></td>
+<td width="77%">
+
+<p>The standard ECMA-119 demands that no path in the
+image shall have more than 8 name components or 255
+characters. Therefore it would be necessary to move deeper
+directory trees to a higher directory. Rock Ridge offers an
+opportunity to let these relocated directories appear at
+their orginal deep position, but this feature might not be
+implemented properly by operating systems which mount the
+image.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Option -D disables this deep directory relocation,
+and thus violates ISO 9660 specs.<br>
+xorrisofs has -D set by default. If given explicitely
+then it overrides the options -rr_reloc_dir and
+-hide-rr-moved.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p><b>-disable-deep-relocation</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Alias of -D.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p><b>-rr_reloc_dir</b> name</p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Enable the relocation of deep directories and thus avoid
+ECMA-119 file paths of more than 8 name components or
+255 characters. Directories which lead to such file paths
+will get moved to a directory in the root directory of the
+image. Its name gets set by this option. It is permissible
+to use the root directory itself.<br>
+The overall directory tree will appear originally deep when
+interpreted as Rock Ridge tree. It will appear as
+re-arranged if only ECMA-119 information is
+considered.<br>
+If the given relocation target directory does not already
+exist when image production begins, then it will get created
+and marked for Rock Ridge as relocation artefact. At least
+on GNU/Linux it will not be displayed in mounted Rock Ridge
+images.<br>
+The name must not contain a ’/’ character after
+its first character and it must not be longer than 255
+bytes.<br>
+This option has no effect if option -D is present.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td>
+<td width="89%">
+<p><b>-hide-rr-moved</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td>
+<td width="77%">
+<p>Alias of -rr_reloc_dir "/.rr_moved"</p>
+</td>
+</table>
<!-- INDENTATION -->
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
@@ -3728,5 +3853,5 @@
</td>
</table>
<hr>
-<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from xorrisofs.1 on Fri Jan 27 14:12:23 CET 2012 by man_xorrisofs_to_html.sh )</CENTER></FONT></body>
+<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from xorrisofs.1 on Mon Apr 2 15:47:33 CEST 2012 by man_xorrisofs_to_html.sh )</CENTER></FONT></body>
</html>
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/misc_funct.c
^
|
@@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -1110,6 +1110,28 @@
}
+int Fileliste__escape_source_path(char *line, int size, int flag)
+{
+ int l, count= 0, i;
+ char *wpt;
+
+ l= strlen(line);
+ for(i= 0; i < l; i++)
+ if(line[i] == '=' || line[i] == '\\')
+ count++;
+ if(l + count >= size)
+ return(0);
+
+ wpt= line + l + count;
+ for(i= l; i >= 0; i--) {
+ *(wpt--)= line[i];
+ if(line[i] == '=' || line[i] == '\\')
+ *(wpt--)= '\\';
+ }
+ return(1);
+}
+
+
int Xorriso__bourne_to_reg(char bourne_expr[], char reg_expr[], int flag)
/* reg_expr should be twice as large as bourne_expr ( + 2 to be exact) */
/* return: 2= bourne_expr is surely a constant */
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/misc_funct.h
^
|
@@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -54,6 +54,8 @@
int Fileliste__target_source_limit(char *line, char sep, char **limit_pt,
int flag);
+int Fileliste__escape_source_path(char *line, int size, int flag);
+
int Hex_to_bin(char *hex,
int bin_size, int *bin_count, unsigned char *bin_data, int flag);
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/opts_a_c.c
^
|
@@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -550,7 +550,7 @@
return(0);
}
if(xorriso->in_drive_handle == xorriso->out_drive_handle) {
- if(xorriso->volset_change_pending) {
+ if(Xorriso_change_is_pending(xorriso, 0)) {
sprintf(xorriso->info_text,
"%s: Image changes pending. -commit or -rollback first.", cmd);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
@@ -1199,6 +1199,36 @@
}
+/* Option -changes_pending */
+int Xorriso_option_changes_pending(struct XorrisO *xorriso, char *state,
+ int flag)
+{
+ if(strcmp(state, "no") == 0)
+ xorriso->volset_change_pending= 0;
+ else if(strcmp(state, "yes") == 0)
+ xorriso->volset_change_pending= 1;
+ else if(strcmp(state, "mkisofs_printed") == 0)
+ xorriso->volset_change_pending= 2;
+ else if(strcmp(state, "show_status") == 0) {
+ strcpy(xorriso->result_line, "-changes_pending ");
+ if(xorriso->volset_change_pending == 0)
+ strcat(xorriso->result_line, "no");
+ else if(xorriso->volset_change_pending == 2)
+ strcat(xorriso->result_line, "mkisofs_printed");
+ else
+ strcat(xorriso->result_line, "yes");
+ strcat(xorriso->result_line, "\n");
+ Xorriso_result(xorriso,0);
+ } else {
+ sprintf(xorriso->info_text, "-changes_pending: unknown state code '%s'",
+ state);
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
+ return(0);
+ }
+ return(1);
+}
+
+
/* Option -charset */
/* @param flag bit0= set in_charset
bit1= set out_charset
@@ -1800,7 +1830,7 @@
{
int ret;
- if(!xorriso->volset_change_pending) {
+ if(!Xorriso_change_is_pending(xorriso, 0)) {
sprintf(xorriso->info_text, "-commit: No image modifications pending");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
{ret= 3; goto ex;}
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/opts_d_h.c
^
|
@@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -30,6 +30,28 @@
#include "xorrisoburn.h"
+/* Command -data_cache_size */
+int Xorriso_option_data_cache_size(struct XorrisO *xorriso, char *num_tiles,
+ char *tile_blocks, int flag)
+{
+ int ret, blocks= -1, tiles= -1, to_default= 0;
+
+ sscanf(num_tiles, "%d", &tiles);
+ sscanf(tile_blocks, "%d", &blocks);
+ if(strcmp(num_tiles, "default") == 0 || num_tiles[0] == 0)
+ to_default|= 1;
+ if(strcmp(tile_blocks, "default") == 0 || tile_blocks[0] == 0)
+ to_default|= 2;
+ ret= Xorriso_set_data_cache(xorriso, NULL, tiles, blocks, to_default);
+ if(ret > 0) {
+ xorriso->cache_num_tiles= tiles;
+ xorriso->cache_tile_blocks= blocks;
+ xorriso->cache_default= to_default;
+ }
+ return(ret);
+}
+
+
/* Options -dev , -indev, -outdev */
/** @param flag bit0= use as indev
bit1= use as outdev
@@ -60,7 +82,7 @@
}
}
- if(xorriso->volset_change_pending && (flag&1)) {
+ if(Xorriso_change_is_pending(xorriso, 0) && (flag&1)) {
sprintf(xorriso->info_text,
"%s: Image changes pending. -commit or -rollback first",
(flag&2) ? "-dev" : "-indev");
@@ -109,7 +131,7 @@
{
int ret;
- if(xorriso->volset_change_pending) {
+ if(Xorriso_change_is_pending(xorriso, 0)) {
sprintf(xorriso->info_text,
"-devices: Image changes pending. -commit or -rollback first");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
@@ -331,7 +353,7 @@
gu_flag|= 2;
else
gu_flag|= 3;
- if((gu_flag&1) && xorriso->volset_change_pending) {
+ if((gu_flag&1) && Xorriso_change_is_pending(xorriso, 0)) {
sprintf(xorriso->info_text,
"-eject: Image changes pending. -commit or -rollback first");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
@@ -358,8 +380,8 @@
cmd= "-rollback_end";
else
cmd= "-end";
- if(xorriso->volset_change_pending) {
- if((flag & 1) || xorriso->volset_change_pending != 1)
+ if(Xorriso_change_is_pending(xorriso, 0)) {
+ if((flag & 1) || !Xorriso_change_is_pending(xorriso, 1))
which_will= "end the program discarding image changes";
else
which_will= "commit image changes and then end the program";
@@ -372,8 +394,8 @@
return(2);
}
- if(xorriso->volset_change_pending) {
- if((flag & 1) || xorriso->volset_change_pending != 1) {
+ if(Xorriso_change_is_pending(xorriso, 0)) {
+ if((flag & 1) || !Xorriso_change_is_pending(xorriso, 1)) {
xorriso->volset_change_pending= 0;
} else {
ret= Xorriso_option_commit(xorriso, 1);
@@ -484,7 +506,7 @@
(*idx)= end_idx;
if(end_idx - start_idx < 3) {
sprintf(xorriso->info_text,
- "-external_filter : Not enough arguments given. Needed: name options path %s",
+"-external_filter : Not enough parameters given. Needed: name options path %s",
xorriso->list_delimiter);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
@@ -543,7 +565,7 @@
if(!(flag&2))
Xorriso_pacifier_callback(xorriso, "files restored",xorriso->pacifier_count,
- xorriso->pacifier_total, "", 1|4);
+ xorriso->pacifier_total, "", 1 | 4 | 8 | 32);
if(ret <= 0 || problem_count > 0)
goto ex;
@@ -683,7 +705,7 @@
if(i+1>=end_idx) {
not_enough_arguments:;
sprintf(xorriso->info_text,
- "-find[ix]: not enough arguments with test ");
+ "-find[ix]: not enough parameters with test ");
Text_shellsafe(argv[i], xorriso->info_text, 1);
goto sorry_ex;
}
@@ -815,7 +837,7 @@
if(i+1>=end_idx) {
not_enough_exec_arguments:;
sprintf(xorriso->info_text,
- "-find[ix]: not enough arguments with -exec ");
+ "-find[ix]: not enough parameters with -exec ");
Text_shellsafe(argv[i], xorriso->info_text, 1);
goto sorry_ex;
}
@@ -1422,9 +1444,18 @@
"This program creates, loads, manipulates and writes ISO 9660 filesystem",
"images with Rock Ridge extensions. Write targets can be drives with optical",
"media or local filesystem objects.",
+"The program operations are controlled by a sequence of commands, of which",
+"the initial ones are given as program arguments or as lines in startup",
+"files. Further commands may get read from files in batch mode or from",
+"standard input in dialog mode.",
+"",
+" -x Only in effect if given as program argument:",
+" Execute commands given as program arguments in a sequence",
+" that most likely makes some sense. Default is to execute",
+" program arguments exactly in the sequence as given.",
"",
-"Preparation options:",
-"Drive addresses are either /dev/... as listed with option -devices or",
+"Preparation commands:",
+"Drive addresses are either /dev/... as listed with command -devices or",
"disk files, eventually with prefix \"stdio:\" if non-CD-drive in /dev tree.",
"E.g. /dev/sr0 , /tmp/pseudo_drive , stdio:/dev/sdc",
" -dev address Set input and output drive and load eventual ISO image.",
@@ -1484,6 +1515,8 @@
" Allow for writing only the usage of optical drives.",
" -early_stdio_test \"on\"|\"appendable_wo\"|\"off\"",
" Classify stdio drives by effective access permissions.",
+" -data_cache_size number_of_tiles blocks_per_tile",
+" Adjust size and granularity of the data read cache.",
" -blank \"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"",
" Blank medium resp. invalidate ISO image on medium.",
" -close_damaged \"as_needed\"|\"force\"",
@@ -1520,6 +1553,10 @@
" -compliance rule[:rule...]",
" Allow more or less harmless deviations from strict standards",
" compliance.",
+" -rr_reloc_dir name",
+" Specifies name of relocation directory in root directory,",
+" to which deep subtrees will get relocated if -compliance",
+" is set to \"deep_paths_off\".",
" -boot_image \"any\"|\"isolinux\"|\"grub\"",
" |\"discard\"|\"keep\"|\"patch\"|\"dir=\"|\"bin_path=\"",
" |\"cat_path=\"|\"cat_hidden=on|iso_rr|joliet|off\"",
@@ -1572,23 +1609,23 @@
" Print foreseeable available space on output medium",
" -pvd_info Print various id strings of the loaded ISO image."
"",
-"Options with variable length path list [...] need the list delimiter text",
-"as end mark if they are followed by another option. By default this delimiter",
-"is \"--\". In dialog and with options read from files, the line end serves",
-"as such a mark. With program arguments this mark can be omitted only with",
-"the last option in the list of arguments.",
+"Commands with variable length path list [...] need the list delimiter text",
+"as end mark if they are followed by another command. By default this",
+"delimiter is \"--\". In dialog and with commands read from files, the line",
+"end serves as such a mark. With program arguments this mark can be omitted",
+"only with the last command in the list of program arguments.",
"For brevity the list delimiter is referred as \"--\" throughout this text.",
"",
" -list_delimiter text Set the list delimiter to be used instead of \"--\"",
" It has to be a single word, must not be empty, not longer",
" than 80 characters, may mot contain quotation marks.",
"",
-"Manipulation options:",
+"Manipulation commands:",
"disk_path is a path to an object in the local filesystem tree.",
"iso_rr_path is the Rock Ridge name of a file object in the ISO image.",
"pathspec is either a disk_path or (if allowed) a pair: iso_rr_path=disk_path",
-"Options marked by [***] have variable argument length and perform pattern",
-"expansion if enabled by -iso_rr_pattern resp. -disk_pattern.",
+"Commands marked by [***] have variable length parameter lists and perform",
+"pattern expansion if enabled by -iso_rr_pattern resp. -disk_pattern.",
"",
" -pathspecs \"on\"|\"off\" Allow or disallow pathspecs of form ",
" iso_rr_path=disk_path . Only \"off\" allows eventual",
@@ -1629,8 +1666,7 @@
" -rm_r iso_rr_path [***]",
" Delete the given directory trees from ISO image.",
" -mv iso_rr_path [***] iso_rr_path",
-" Rename the given file objects in the ISO tree to the last",
-" argument in the list.",
+" Rename the given file objects in the ISO tree to iso_rr_path.",
" -chown uid iso_rr_path [***]",
" Equivalent to chown in the ISO image.",
" -chown_r uid iso_rr_path [***]",
@@ -1685,7 +1721,7 @@
" getfacl, setfacl, getfattr, setfattr, get_any_xattr,",
" list_extattr, get_md5, check_md5, make_md5,",
" set_filter, show_stream, mkisofs_r, hide, find.",
-" params are their arguments except iso_rr_path.",
+" params are their parameters except iso_rr_path.",
" -mkdir iso_rr_path [...]",
" Create empty directories if they do not exist yet.",
" -rmdir iso_rr_path [***]",
@@ -1695,8 +1731,8 @@
" -cp_clone iso_rr_path_original [***] iso_rr_path_dest",
" Create ISO to ISO copies according to the rules of cp -r.",
"",
-" -- Default list delimiter marking the end of action argument",
-" list. It may be changed by option -list_delimiter.",
+" -- Default list delimiter marking the end of command parameter",
+" lists. It may be changed by command -list_delimiter.",
"",
" -not_paths disk_path [***]",
" Add the given paths to the list of excluded absolute paths.",
@@ -1719,7 +1755,7 @@
" If \"on\" then ask the user for \"y\" or \"n\" with any",
" file before deleting or overwriting it in the ISO image.",
"",
-"Filter options:",
+"Filter commands:",
"External filter processes may produce synthetic file content by reading the",
"original content from stdin and writing to stdout whatever they want.",
@@ -1755,12 +1791,16 @@
" Set global zisofs parameters:",
" level=0|...|9 , block_size=32k|64k|128k , by_magic=on|off",
"",
-"Write-to-media options:",
+"Write-to-media commands:",
" -rollback Discard the manipulated ISO image and reload it.",
"",
-" -commit Perform the write operation and then perform -dev outdrive.",
+" -changes_pending \"no\"|\"yes\"|\"mkisofs_printed\"|\"show_status\"",
+" Override the automatically determined change status of the",
+" loaded image, or show the current status.",
+" -commit Perform the write operation if changes are pending.",
+" Then perform -dev outdrive.",
" Hint: To perform a final write operation with no new -dev",
-" and no new loading of image, execute option -end.",
+" and no new loading of image, execute command -end.",
" -commit_eject \"in\"|\"out\"|\"all\"|\"none\"",
" Like -commit but rather eject than load image from outdrive.",
" Give up any unejected drive afterwards.",
@@ -1785,7 +1825,7 @@
" Immediately eject the medium in -indev, resp. -outdev,",
" resp. both.",
"",
-"Navigation options:",
+"Navigation commands:",
"",
" -cd iso_rr_path Change working directory in the ISO image. iso_rr_paths",
" which do not begin with '/' will be inserted beginning at",
@@ -1853,7 +1893,7 @@
" -show_stream_r iso_rr_path [***]",
" Like -show_stream but affecting all files below directories.",
"",
-"Restore options which copy file objects from ISO image to disk filesystem:",
+"Restore commands which copy file objects from ISO image to disk filesystem:",
" -osirrox \"on\"|\"device_files\"|\"off\"|\"banned\"",
" [:\"concat_split_on\"|\"concat_split_off\"]",
" [:\"auto_chmod_on\"|\"auto_chmod_off\"]",
@@ -1902,7 +1942,7 @@
" -check_media_defaults [options] --",
" Preset options for runs of -check_media and -extract_cut.",
"",
-"Compatibility emulation (argument list may be ended by list delimiter --):",
+"Compatibility emulation (option list may be ended by list delimiter --):",
" -as mkisofs [-help|-version|-o|-R|-r|-J|-V|-P|-f|-m|-exclude-list|",
" -no-pad|-M|-C|-graft-points|-path-list|pathspecs|-z|",
" -no-emul-boot|-b|-c|-boot-info-table|-boot-load-size|-G|...]",
@@ -1918,7 +1958,7 @@
" -pacifier \"xorriso\"|\"cdrecord\"|\"mkisofs\"",
" Choose format of UPDATE pacifier during write operations.",
"",
-"General options:",
+"General commands:",
" -help Print this text",
" -abort_on severity Set the threshhold for events to abort the program.",
" Useful severities: NEVER, ABORT, FATAL, FAILURE, SORRY, WARNING",
@@ -1933,7 +1973,7 @@
" Behavior \"best_effort\" is most endurant but may produce",
" results which are correct only on the first glimpse.",
" -dialog \"on\"|\"off\"|\"single_line\"",
-" After all arguments are processed, enter dialog mode.",
+" After all program arguments are processed, enter dialog mode.",
" \"single_line\" does not support newline characters within",
" open quotation marks and no line continuation by trailing \\.",
" -page len width Prompt user after len output lines (0=no prompt).",
@@ -1962,16 +2002,16 @@
" -logfile channel fileaddress Copy output of a channel to the given file.",
" channel may be 'R','I','M' as with -pkt_output or '.'",
" for the consolidated -pkt_output stream.",
-" -mark text If text is not empty it will get put out each time an",
-" option is completed.",
+" -mark text If text is not empty it will get put out each time a command",
+" is completed.",
" -temp_mem_limit number[\"k\"|\"m\"]",
" Set the maximum size for pattern expansion. (Default is 16m)",
" -prog text Use text as this program's name in subsequent messages",
" -prog_help text Use text as this program's name and perform -help",
-" -status mode|filter Report the current settings of persistent options.",
+" -status mode|filter Report the current settings of persistent commands.",
" Modes:",
-" short... print only important or altered options",
-" long ... print options even if they have default settings",
+" short... print only important or altered settings",
+" long ... print settings even if they have default values",
" long_history like long plus -history: lines",
" Filters begin with '-' and are compared literally against the",
" output lines of -status long_history. A line is put out only",
@@ -1979,10 +2019,11 @@
" -status_history_max number Maximum number of history lines to be reported",
" with -status:long_history",
" -options_from_file fileaddress",
-" Reads lines from the given file and executes them as program",
-" options.",
-" -no_rc Only if used as first command line argument this option",
-" prevents reading and interpretation of startup files.",
+" Reads lines from the given file and executes them as commands.",
+" -no_rc Only if used as first program argument, this command",
+" prevents reading and interpretation of these startup files:",
+" /etc/default/xorriso , /etc/opt/xorriso/rc",
+" /etc/xorriso/xorriso.conf , $HOME/.xorrisorc",
" -print text",
" Print a text to result channel.",
" -print_info text",
@@ -2006,19 +2047,20 @@
" Tell whether certain extra features were enabled at compile",
" time. Code \"all\" lists all features and a headline. Other",
" codes pick a single feature. \"codes\" lists the known codes.",
+" -list_arg_sorting",
+" Print the sorting order of xorriso commands with option -x.",
" -version Tell program and version number",
" -end End program. Commit eventual pending changes.",
" -rollback_end",
" End program. Discard pending changes.",
"",
"",
-"Option -page causes a user prompt after the given number of result lines.",
+"Command -page causes a user prompt after the given number of result lines.",
"Empty input resumes output until the next prompt. Other input may be:",
" @ suppresses paging until the current action is done",
" @@ suppresses further result output but continues the action",
" @@@ aborts the current action",
-" other aborts the current action and executes input as new",
-" option",
+" other aborts the current action and executes input as new command",
"",
#endif /* ! Xorriso_no_helP */
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/opts_i_o.c
^
|
@@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -74,6 +74,16 @@
}
+/* Option -list_arg_sorting */
+int Xorriso_option_list_arg_sorting(struct XorrisO *xorriso, int flag)
+{
+ int ret;
+
+ ret= Xorriso_cmd_sorting_rank(xorriso, 0, NULL, 0, 1);
+ return(ret);
+}
+
+
/* Option -list_delimiter */
int Xorriso_option_list_delimiter(struct XorrisO *xorriso, char *text,
int flag)
@@ -181,7 +191,7 @@
{
int ret;
- if(xorriso->volset_change_pending) {
+ if(Xorriso_change_is_pending(xorriso, 0)) {
sprintf(xorriso->info_text,
"-load: Image changes pending. -commit or -rollback first");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
@@ -741,7 +751,7 @@
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
- if(xorriso->volset_change_pending) {
+ if(Xorriso_change_is_pending(xorriso, 0)) {
sprintf(xorriso->info_text,
"%s: Image changes pending. -commit or -rollback first", mnt);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/opts_p_z.c
^
|
@@ -293,7 +293,7 @@
{
int ret, fd;
- if(!xorriso->volset_change_pending) {
+ if(!Xorriso_change_is_pending(xorriso, 0)) {
sprintf(xorriso->info_text,"-print_size: No image modifications pending");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
if(!(flag & 1)) {
@@ -440,17 +440,6 @@
}
-/* Option -unregister_filter */
-int Xorriso_option_unregister_filter(struct XorrisO *xorriso, char *name,
- int flag)
-{
- int ret;
-
- ret= Xorriso_external_filter(xorriso, name, "", "", 0, NULL, 1);
- return(ret);
-}
-
-
/* Option -report_about */
int Xorriso_option_report_about(struct XorrisO *xorriso, char *in_severity,
int flag)
@@ -586,7 +575,7 @@
char *indev= NULL, *which_will;
Xorriso_alloc_meM(indev, char, SfileadrL);
- if(xorriso->volset_change_pending)
+ if(Xorriso_change_is_pending(xorriso, 0))
which_will= "revoke the pending image changes";
else
which_will= "reload the image";
@@ -647,6 +636,26 @@
}
+/* Command -rr_reloc_dir */
+int Xorriso_option_rr_reloc_dir(struct XorrisO *xorriso, char *name, int flag)
+{
+ if(strlen(name) > 255) {
+ sprintf(xorriso->info_text,
+ "Name too long with -rr_reloc_dir. Max. 255 bytes allowed.");
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
+ return(0);
+ }
+ if(strchr(name, '/') != NULL) {
+ sprintf(xorriso->info_text,
+ "Name given with -rr_reloc_dir contains '/' character");
+ Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
+ return(0);
+ }
+ strcpy(xorriso->rr_reloc_dir, name);
+ return(1);
+}
+
+
/* Option -scdbackup_tag list_path record_name */
int Xorriso_option_scdbackup_tag(struct XorrisO *xorriso, char *listname,
char *recname, int flag)
@@ -1497,6 +1506,17 @@
return(ret);
}
+
+/* Option -unregister_filter */
+int Xorriso_option_unregister_filter(struct XorrisO *xorriso, char *name,
+ int flag)
+{
+ int ret;
+
+ ret= Xorriso_external_filter(xorriso, name, "", "", 0, NULL, 1);
+ return(ret);
+}
+
/* Options -update and -update_r
@param flag bit0= issue start and summary message
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/parse_exec.c
^
|
@@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -450,7 +450,7 @@
"ban_stdio_write","close_filter_list","commit",
"device_links","devices","end",
"for_backup", "help",
- "list_formats","list_speeds",
+ "list_arg_sorting","list_formats","list_speeds",
"no_rc","print_size","pvd_info","pwd","pwdi","pwdx",
"read_mkisofsrc","rollback","rollback_end",
"tell_media_space","toc","version",
@@ -460,7 +460,8 @@
"abort_on","acl","add_plainly","application_id","auto_charset",
"abstract_file",
"backslash_codes","blank","biblio_file",
- "calm_drive","cd","cdi","cdx","charset","close","close_damaged",
+ "calm_drive","cd","cdi","cdx","changes_pending","charset",
+ "close","close_damaged",
"commit_eject","compliance","copyright_file",
"dev","dialog","disk_dev_ino","disk_pattern","displacement",
"dummy","dvd_obs","early_stdio_test", "eject",
@@ -472,7 +473,7 @@
"pacifier","padding","path_list","pathspecs","pkt_output",
"preparer_id","print","print_info","print_mark","prompt",
"prog","prog_help","publisher","quoted_not_list","quoted_path_list",
- "reassure","report_about","rom_toc_scan","scsi_log",
+ "reassure","report_about","rom_toc_scan","rr_reloc_dir","scsi_log",
"session_log","signal_handling","sleep",
"speed","split_size","status","status_history_max",
"stdio_sync","stream_recording","system_id","temp_mem_limit",
@@ -482,6 +483,7 @@
};
static char arg2_commands[][40]= {
"assert_volid","boot_image","clone","compare","compare_r","drive_class",
+ "data_cache_size",
"errfile_log","error_behavior","extract","extract_single",
"jigdo","load","logfile",
"map","map_single","page","return_with",
@@ -571,9 +573,278 @@
}
+/* @param flag bit0= list sorting order rather than looking for argv[idx]
+*/
+int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
+ int argc, char **argv, int idx, int flag)
+{
+ int ret, i, cmd_data_size= 2 * SfileadrL;
+ char *cmd, *cmd_data= NULL;
+ static char *commands[]= {
+
+ "* Execution order of program arguments with option -x:",
+ "x",
+
+ "* Support for frontend programs via stdin and stdout (1):",
+ "prog", "prog_help",
+
+ "* Exception processing:",
+ "abort_on", "return_with", "report_about", "signal_handling",
+ "error_behavior",
+
+ "* Scripting, dialog and program control features (1):",
+ "no_rc", "help", "version", "list_extras", "list_arg_sorting",
+ "temp_mem_limit", "backslash_codes",
+ "errfile_log", "session_log", "scsi_log",
+ "options_from_file", "list_delimiter",
+ "print", "print_info", "print_mark", "prompt", "sleep",
+
+ "* Drive and media related inquiry actions (1):",
+ "devices", "device_links",
+ "mount_opts", "mount_cmd", "session_string",
+
+ "* Influencing the behavior of image loading:",
+ "load", "displacement", "drive_class", "assert_volid", "in_charset",
+ "auto_charset", "hardlinks", "acl", "xattr", "md5", "for_backup",
+ "disk_dev_ino", "rom_toc_scan", "calm_drive", "ban_stdio_write",
+ "early_stdio_test", "data_cache_size",
+
+ "* Character sets:",
+ "charset", "local_charset",
+
+ "* Aquiring source and target drive:",
+ "dev", "indev", "outdev",
+
+ "* Drive and media related inquiry actions (2):",
+ "list_profiles", "list_formats", "list_speeds",
+ "toc", "pvd_info",
+
+ "* Settings for file insertion:",
+ "file_size_limit", "not_mgt", "not_paths", "not_leaf", "not_list",
+ "quoted_not_list", "follow", "pathspecs", "overwrite", "split_size",
+
+ "* Navigation in ISO image and disk filesystem (1):",
+ "cd", "cdx", "pwd", "pwdx",
+
+ "* Inserting files into ISO image:",
+ "disk_pattern", "add_plainly",
+ "mkdir", "add", "path_list", "quoted_path_list",
+ "map", "map_single", "map_l", "update", "update_r", "update_l",
+ "cut_out", "cpr",
+ "clone", "cp_clone",
+
+ "* Navigation in ISO image and disk filesystem (2):",
+ "ls", "lsd", "lsl", "lsdl", "lsx", "lsdx", "lslx", "lsdlx",
+ "getfacl", "getfacl_r", "getfattr", "getfattr_r", "du", "dus",
+ "dux", "dusx", "findx",
+ "compare", "compare_r", "compare_l", "show_stream", "show_stream_r",
+
+ "* File manipulations:",
+ "iso_rr_pattern",
+ "rm", "rm_r", "rmdir", "mv",
+ "chown", "chown_r", "chgrp", "chgrp_r", "chmod", "chmod_r", "setfacl",
+ "setfacl_r", "setfacl_list", "setfattr", "setfattr_r", "setfattr_list",
+ "alter_date", "alter_date_r", "hide",
+
+ "* Filters for data file content:",
+ "external_filter", "unregister_filter", "close_filter_list",
+ "set_filter", "set_filter_r",
+
+ "* Tree traversal command -find:",
+ "find",
+
+ "* osirrox ISO-to-disk restore options:",
+ "osirrox", "extract", "extract_single", "extract_l", "extract_cut",
+ "cpx", "cpax", "cp_rx", "cp_rax", "paste_in",
+ "mount",
+
+ "* Settings for result writing:",
+ "joliet", "compliance", "rr_reloc_dir", "volid", "volset_id", "publisher",
+ "application_id", "system_id", "volume_date", "copyright_file",
+ "abstract_file", "biblio_file", "preparer_id", "out_charset",
+ "read_mkisofsrc",
+ "uid", "gid", "zisofs", "speed", "stream_recording", "dvd_obs",
+ "stdio_sync", "dummy", "fs", "close", "padding",
+ "grow_blindly", "pacifier", "scdbackup_tag",
+
+ "* Bootable ISO images:",
+ "boot_image", "append_partition",
+
+ "* Jigdo Template Extraction:",
+ "jigdo",
+
+ "* Command compatibility emulations:",
+ "as",
+
+ "* Scripting, dialog and program control features (2):",
+ "history", "status_history_max", "status",
+
+ "* Drive and media related inquiry actions (3):",
+ "print_size", "tell_media_space",
+
+ "* Writing the result, drive control:",
+ "format", "blank", "close_damaged",
+ "rollback", "changes_pending", "commit", "commit_eject",
+ "eject",
+
+ "* Evaluation of readability and recovery:",
+ "check_media_defaults", "check_media", "check_md5", "check_md5_r",
+
+ "* Support for frontend programs via stdin and stdout (2):",
+ "pkt_output", "logfile", "mark",
+
+ "* Dialog mode control:",
+ "dialog", "page", "use_readline", "reassure",
+
+ "* Scripting, dialog and program control features (3):",
+ "rollback_end", "end",
+
+ ""
+ };
+
+ if(flag & 1) {
+ for(i= 0; commands[i][0] !=0; i++) {
+ if(commands[i][0] == '*')
+ sprintf(xorriso->result_line, "#%s\n", commands[i] + 1);
+ else
+ sprintf(xorriso->result_line, "-%s\n", commands[i]);
+ Xorriso_result(xorriso, 0);
+ }
+ ret= 1; goto ex;
+ }
+ if(argc <= 0)
+ {ret= -1; goto ex;}
+
+ Xorriso_alloc_meM(cmd_data, char, cmd_data_size);
+ ret= Xorriso_normalize_command(xorriso, argv[idx], -1,
+ cmd_data, cmd_data_size, &cmd, 0);
+ if(ret < 0)
+ goto ex;
+
+ if(cmd[0] == '#' || cmd[0] == 0 ||
+ strcmp(cmd, xorriso->list_delimiter) == 0) {
+ /* Move to end: comment line , empty option , orphaned list delimiter */
+ ret= 0x7fffffff; goto ex;
+ }
+ for(i= 0; commands[i][0] !=0; i++) {
+ if(commands[i][0] == '*') /* headline in command list */
+ continue;
+ if(strcmp(commands[i], cmd) != 0)
+ continue;
+ ret= i + 1; goto ex;
+ }
+
+ ret= 1;
+ex:
+ Xorriso_free_meM(cmd_data);
+ return(ret);
+}
+
+
+int Xorriso__cmp_cmd_rank(const void *a, const void *b)
+{
+ int ra, rb;
+
+ ra= ((int *) a)[1];
+ rb= ((int *) b)[1];
+ if(ra < rb)
+ return(-1);
+ if(ra > rb)
+ return(1);
+ ra= ((int *) a)[2];
+ rb= ((int *) b)[2];
+ if(ra < rb)
+ return(-1);
+ if(ra > rb)
+ return(1);
+ return(0);
+}
+
+
+/* @param flag bit0= print command sequence rather than executing it
+ bit1= these are command line arguments
+ (for xorriso->argument_emulation)
+*/
+int Xorriso_exec_args_sorted(struct XorrisO *xorriso,
+ int argc, char **argv, int *idx, int flag)
+{
+ int cmd_count= 0, ret, i, arg_count, *idx_rank= NULL, cmd_idx;
+
+ /* Count commands and allocate index-rank array */
+ for(i= *idx; i < argc; i++) {
+ ret= Xorriso_count_args(xorriso, argc - i, argv + i, &arg_count, 1);
+ if(ret <= 0)
+ goto ex;
+ if(ret != 1)
+ continue;
+ cmd_count++;
+ i+= arg_count;
+ }
+ if(cmd_count <= 0)
+ {ret= 1; goto ex;}
+ Xorriso_alloc_meM(idx_rank, int, 3 * cmd_count);
+
+ /* Fill index-rank array and sort */
+ cmd_count= 0;
+ for(i= *idx; i < argc; i++) {
+ ret= Xorriso_count_args(xorriso, argc - i, argv + i, &arg_count, 1);
+ if(ret <= 0)
+ goto ex;
+ if(ret != 1)
+ continue;
+ idx_rank[3 * cmd_count]= i;
+ ret= Xorriso_cmd_sorting_rank(xorriso, argc, argv, i, 0);
+ if(ret < 0)
+ goto ex;
+ idx_rank[3 * cmd_count + 1]= ret;
+ idx_rank[3 * cmd_count + 2]= cmd_count;
+ cmd_count++;
+ i+= arg_count;
+ }
+ qsort(idx_rank, cmd_count, 3 * sizeof(int), Xorriso__cmp_cmd_rank);
+
+ /* Execute or print indice from index-rank array */
+ if(flag & 1) {
+ sprintf(xorriso->result_line,
+ "Automatically determined command sequence:\n");
+ Xorriso_result(xorriso, 0);
+ xorriso->result_line[0]= 0;
+ }
+ for(i= 0; i < cmd_count; i++) {
+ cmd_idx= idx_rank[3 * i];
+ if(flag & 1) {
+ if(strlen(xorriso->result_line) + 1 + strlen(argv[cmd_idx]) > 78) {
+ strcat(xorriso->result_line, "\n");
+ Xorriso_result(xorriso, 0);
+ xorriso->result_line[0]= 0;
+ }
+ sprintf(xorriso->result_line + strlen(xorriso->result_line),
+ " %s", argv[cmd_idx]);
+ } else {
+ ret= Xorriso_interpreter(xorriso, argc, argv, &cmd_idx, 4 | (flag & 2));
+ if(ret <= 0 || ret == 3)
+ goto ex;
+ }
+ }
+ if(flag & 1) {
+ if(strlen(xorriso->result_line) > 0) {
+ strcat(xorriso->result_line, "\n");
+ Xorriso_result(xorriso, 0);
+ }
+ } else
+ *idx= argc;
+ ret= 1;
+ex:
+ Xorriso_free_meM(idx_rank);
+ return(ret);
+}
+
+
/* @param flag bit0= recursion
bit1= these are command line arguments
(for xorriso->argument_emulation)
+ bit2= Only execute the one command argv[*idx] and advance
+ *idx to the next command if sucessful. Then return.
*/
int Xorriso_interpreter(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag)
@@ -610,15 +881,19 @@
if((*idx)>=argc)
{ret= 1; goto ex;}
}
+ if((xorriso->arrange_args || (flag & 8)) && !(flag & (4 | 16))) {
+ ret= Xorriso_exec_args_sorted(xorriso, argc, argv, idx, 0);
+ goto ex;
+ }
}
ret= Xorriso_count_args(xorriso, argc - *idx, argv + *idx, &arg_count, 1);
if((ret == 1 || ret == 2) &&
strcmp(argv[*idx], xorriso->list_delimiter) != 0) {
- sprintf(xorriso->info_text, "Command: %s", argv[*idx]);
+ sprintf(xorriso->info_text, "Command: %s", argv[*idx]);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
for(i= 1; i <= arg_count && *idx + i < argc; i++) {
- sprintf(xorriso->info_text, "Argument: %s", argv[*idx + i]);
+ sprintf(xorriso->info_text, "Parameter: %s", argv[*idx + i]);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
}
if(*idx + arg_count >= argc) {
@@ -735,6 +1010,10 @@
(*idx)++;
ret= Xorriso_option_cdx(xorriso, arg1, 0);
+ } else if(strcmp(cmd, "changes_pending")==0) {
+ (*idx)++;
+ ret= Xorriso_option_changes_pending(xorriso, arg1, 0);
+
} else if(strcmp(cmd,"charset")==0) {
(*idx)++;
ret= Xorriso_option_charset(xorriso, arg1, 3);
@@ -841,6 +1120,10 @@
ret= Xorriso_option_cut_out(xorriso, arg1, arg2,
argv[(*idx)-2], argv[(*idx)-1], 0);
+ } else if(strcmp(cmd,"data_cache_size")==0) {
+ (*idx)+= 2;
+ ret= Xorriso_option_data_cache_size(xorriso, arg1, arg2, 0);
+
} else if(strcmp(cmd,"dev")==0) {
(*idx)++;
ret= Xorriso_option_dev(xorriso, arg1, 3);
@@ -1019,6 +1302,9 @@
(*idx)++;
ret= Xorriso_option_joliet(xorriso, arg1, 0);
+ } else if(strcmp(cmd, "list_arg_sorting") == 0) {
+ ret= Xorriso_option_list_arg_sorting(xorriso, 0);
+
} else if(strcmp(cmd, "list_delimiter") == 0) {
(*idx)++;
ret= Xorriso_option_list_delimiter(xorriso, arg1, 0);
@@ -1278,6 +1564,10 @@
(*idx)++;
Xorriso_option_rom_toc_scan(xorriso, arg1, 0);
+ } else if(strcmp(cmd,"rr_reloc_dir")==0) {
+ (*idx)++;
+ Xorriso_option_rr_reloc_dir(xorriso, arg1, 0);
+
} else if(strcmp(cmd,"scdbackup_tag")==0) {
(*idx)+= 2;
ret= Xorriso_option_scdbackup_tag(xorriso, arg1, arg2, 0);
@@ -1423,6 +1713,9 @@
(*idx)+= 2;
ret= Xorriso_option_volume_date(xorriso, arg1, arg2, 0);
+ } else if(strcmp(cmd, "x") == 0) {
+ /* only in effect in Xorriso_prescan_args() */;
+
} else if(strcmp(cmd,"xattr")==0) {
(*idx)++;
ret= Xorriso_option_xattr(xorriso, arg1, 0);
@@ -1459,7 +1752,7 @@
if(ret<0)
goto ex;
- if(*idx<argc)
+ if(*idx < argc && !(flag & 4))
goto next_command;
ex:;
@@ -1589,6 +1882,7 @@
int flag)
/*
bit0= do not interpret argv[1]
+ bit1= complain about inknown arguments
*/
/*
return:
@@ -1750,6 +2044,9 @@
Xorriso_option_signal_handling(xorriso, arg1, 1); /* no install */
was_signal_handling= 1;
+ } else if(strcmp(original_cmd, "-x") == 0) {
+ xorriso->arrange_args= 1;
+
} else {
ret= Xorriso_count_args(xorriso, argc - i, argv + i, &arg_count, 1);
if(ret == 1) {
@@ -2388,7 +2685,7 @@
if(pass == 0) {
*access_acl_text= calloc(access_count + 1, 1);
*default_acl_text= calloc(default_count + 1, 1);
- if(access_acl_text == NULL || *default_acl_text == NULL) {
+ if(*access_acl_text == NULL || *default_acl_text == NULL) {
Xorriso_no_malloc_memory(xorriso, access_acl_text, 0);
{ret= -1; goto ex;}
}
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/parse_exec.h
^
|
@@ -88,5 +88,10 @@
int Xorriso_read_mkisofsrc(struct XorrisO *xorriso, int flag);
+/* @param flag bit0= list sorting order rather than looking for argv[idx]
+*/
+int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
+ int argc, char **argv, int idx, int flag);
+
#endif /* ! Xorriso_pvt_cmd_includeD */
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/read_run.c
^
|
@@ -2,7 +2,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -194,7 +194,7 @@
int dummy;
memset(type_text, 0, 5);
- if(!xorriso->volset_change_pending)
+ if(!Xorriso_change_is_pending(xorriso, 0))
return(0);
if(flag&1) {
node= (IsoNode *) in_node;
@@ -596,7 +596,7 @@
xorriso->pacifier_byte_count - last_p_count >= 128*1024) {
Xorriso_pacifier_callback(xorriso, "files restored",
xorriso->pacifier_count,
- xorriso->pacifier_total, "", 2|4);
+ xorriso->pacifier_total, "", 2 | 4 | 8);
last_p_count= xorriso->pacifier_byte_count;
}
}
@@ -1044,7 +1044,7 @@
if(!(flag&2))
Xorriso_pacifier_callback(xorriso, "files restored",
xorriso->pacifier_count,
- xorriso->pacifier_total, "", 4);
+ xorriso->pacifier_total, "", 4 | 8);
ret= 1;
ex:;
if(split_parts!=NULL)
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/text_io.c
^
|
@@ -433,7 +433,7 @@
}
} else {
(*argv)= Smem_malloC(sizeof(char *));
- if(argv == NULL)
+ if(*argv == NULL)
{ret= -1; goto ex;}
(*argv)[0]= strdup(line);
if((*argv)[0] == NULL)
@@ -1289,6 +1289,19 @@
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
+ is_default= ((xorriso->cache_default & 3) == 3);
+ sprintf(line, "-data_cache_size ");
+ if(xorriso->cache_default & 1)
+ sprintf(line + strlen(line), "default ");
+ else
+ sprintf(line + strlen(line), "%d ", xorriso->cache_num_tiles);
+ if(xorriso->cache_default & 2)
+ sprintf(line + strlen(line), "default\n");
+ else
+ sprintf(line + strlen(line), "%d\n", xorriso->cache_tile_blocks);
+ if(!(is_default && no_defaults))
+ Xorriso_status_result(xorriso,filter,fp,flag&2);
+
is_default= (xorriso->allow_restore==0 && xorriso->do_concat_split==1 &&
xorriso->do_auto_chmod==0 && xorriso->drives_exclusive == 1);
mode_pt= "off";
@@ -1881,6 +1894,13 @@
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
+ is_default= (xorriso->rr_reloc_dir[0] == 0);
+ sprintf(line, "-rr_reloc_dir ");
+ Text_shellsafe(xorriso->rr_reloc_dir, line, 1);
+ strcat(line, "\n");
+ if(!(is_default && no_defaults))
+ Xorriso_status_result(xorriso,filter,fp,flag&2);
+
is_default= (xorriso->assert_volid[0] == 0);
sprintf(line, "-assert_volid ");
Text_shellsafe(xorriso->assert_volid, line, 1);
@@ -2011,6 +2031,7 @@
bit4= with bit3: count is in blocks, else in bytes
bit5= with bit3: report total speed
bit6= report with carriage return rather than line feed
+ bit7= with bit5: speed unit for outdev rather than indev
*/
int Xorriso_pacifier_callback(struct XorrisO *xorriso, char *what_done,
off_t count, off_t todo, char *current_object,
@@ -2019,6 +2040,7 @@
double current_time, since, interval_time, speed, speed_factor;
char count_text[80], byte_text[80], profile_name[80], *speed_unit;
int ret, profile_number;
+ off_t amount;
current_time= Sfile_microtime(0);
interval_time= current_time - xorriso->last_update_time;
@@ -2055,19 +2077,24 @@
(flag & (8 | 64)) ? "s" : "seconds");
}
speed= -1.0;
+ if(flag & 4)
+ amount= xorriso->pacifier_byte_count;
+ else
+ amount= count;
if((flag & 8)) {
if(flag & 32) {
if(since > 0)
- speed= count / since;
- } else if(count >= xorriso->pacifier_prev_count) {
+ speed= amount / since;
+ } else if(amount >= xorriso->pacifier_prev_count) {
if(interval_time > 0)
- speed= (count - xorriso->pacifier_prev_count) / interval_time;
+ speed= (amount - xorriso->pacifier_prev_count) / interval_time;
}
}
if(speed >= 0.0) {
if(flag & 16)
speed*= 2048.0;
- ret= Xorriso_get_profile(xorriso, &profile_number, profile_name, 0);
+ ret= Xorriso_get_profile(xorriso, &profile_number, profile_name,
+ (flag >> 6) & 2);
speed_factor= 1385000;
speed_unit= "D";
if(ret == 2) {
@@ -2080,7 +2107,7 @@
sprintf(xorriso->info_text+strlen(xorriso->info_text), " %s %.1fx%s",
(flag & 32 ? "=" : ","), speed / speed_factor, speed_unit);
}
- xorriso->pacifier_prev_count= count;
+ xorriso->pacifier_prev_count= amount;
if(current_object[0]!=0)
sprintf(xorriso->info_text+strlen(xorriso->info_text),
", now at %s", current_object);
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/write_run.c
^
|
@@ -825,6 +825,10 @@
ext|= isoburn_igopt_no_emul_toc;
isoburn_igopt_set_extensions(sopts, ext);
isoburn_igopt_set_relaxed(sopts, relax);
+ ret = isoburn_igopt_set_rr_reloc(sopts, xorriso->rr_reloc_dir,
+ xorriso->rr_reloc_flags);
+ if(ret <= 0)
+ {ret= 0; goto ex;}
ret= isoburn_igopt_set_untranslated_name_len(sopts,
xorriso->untranslated_name_len);
if(ret <= 0)
@@ -2064,6 +2068,12 @@
} else if(l == 14 && strncmp(cpt, "full_ascii_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_allow_full_ascii;
+ } else if((l == 10 && strncmp(cpt, "7bit_ascii", l) == 0) ||
+ (l == 13 && strncmp(cpt, "7bit_ascii_on", l) == 0)) {
+ xorriso->relax_compliance|= isoburn_igopt_allow_7bit_ascii;
+ } else if(l == 14 && strncmp(cpt, "7bit_ascii_off", l) == 0) {
+ xorriso->relax_compliance&= ~isoburn_igopt_allow_7bit_ascii;
+
} else if((l == 17 && strncmp(cpt, "joliet_long_paths", l) == 0) ||
(l == 20 && strncmp(cpt, "joliet_long_paths_on", l) == 0)) {
xorriso->relax_compliance|= isoburn_igopt_joliet_longer_paths;
@@ -2218,6 +2228,8 @@
strcat(mode, ":lowercase");
if(r & isoburn_igopt_allow_full_ascii)
strcat(mode, ":full_ascii");
+ else if(r & isoburn_igopt_allow_7bit_ascii)
+ strcat(mode, ":7bit_ascii");
if(r & isoburn_igopt_joliet_longer_paths)
strcat(mode, ":joliet_long_paths");
if(r & isoburn_igopt_joliet_long_names)
@@ -2528,7 +2540,7 @@
struct burn_drive *drive;
struct burn_write_opts *burn_options= NULL;
- if(xorriso->volset_change_pending) {
+ if(Xorriso_change_is_pending(xorriso, 0)) {
sprintf(xorriso->info_text,
"Image changes pending. -commit or -rollback first");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorrecord.1
^
|
@@ -9,7 +9,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 XORRECORD 1 "Version 1.2.0, Jan 27, 2012"
+.TH XORRECORD 1 "Version 1.2.2, Apr 02, 2012"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorrecord.info
^
|
@@ -15,7 +15,7 @@

File: xorrecord.info, Node: Top, Next: Overview, Up: (dir)
-xorrecord 1.2.0
+xorrecord 1.2.2
***************
xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorrecord.texi
^
|
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename xorrecord.info
-@settitle GNU xorrecord 1.2.0
+@settitle GNU xorrecord 1.2.2
@c %**end of header
@c
@c man-ignore-lines begin
@@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
-@c man .TH XORRECORD 1 "Version 1.2.0, Jan 27, 2012"
+@c man .TH XORRECORD 1 "Version 1.2.2, Apr 02, 2012"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@@ -76,7 +76,7 @@
@end copying
@c man-ignore-lines end
@titlepage
-@title Manual of GNU xorriso personality xorrecord 1.2.0
+@title Manual of GNU xorriso personality xorrecord 1.2.2
@author Thomas Schmitt
@page
@vskip 0pt plus 1filll
@@ -85,7 +85,7 @@
@contents
@ifnottex
@node Top
-@top xorrecord 1.2.0
+@top xorrecord 1.2.2
@c man-ignore-lines 1
@c man .SH NAME
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorriso.1
^
|
@@ -9,7 +9,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 "Version 1.2.0, Jan 27, 2012"
+.TH XORRISO 1 "Version 1.2.2, Apr 02, 2012"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@@ -107,7 +107,8 @@
.SS
\fBSession model:\fR
.br
-Unlike other filesystems, ISO 9660 is not intended for read\-write operation but
+Unlike other filesystems, \fBISO 9660\fR (aka \fBECMA\-119\fR)
+is not intended for read\-write operation but
rather for being generated in a single sweep and being written to media as a
\fBsession\fR.
.br
@@ -169,11 +170,11 @@
.br
\fBMulti\-session media\fR are CD\-R, CD\-RW, DVD\-R, DVD+R, DVD+R/DL, BD\-R, and
unformatted DVD\-RW. These media provide a table of content which
-describes their existing sessions. See option \fB\-toc\fR.
+describes their existing sessions. See command \fB\-toc\fR.
.br
Similar to multi\-session media are DVD\-R DL and minimally blanked DVD\-RW.
They allow only a single session of which the size must be known in advance.
-\fBxorriso\fR will write onto them only if option \-close is set to "on".
+\fBxorriso\fR will write onto them only if command \-close is set to "on".
.br
\fBOverwriteable media\fR are DVD\-RAM, DVD+RW, BD\-RE, and formatted DVD\-RW.
They allow random write access but do not provide information about their
@@ -204,13 +205,13 @@
multi\-session media in appendable state, or they are overwriteable media
which contain an ISO image suitable for \fBxorriso\fR.
.br
-Appendable is the state after writing a session with option \-close off.
+Appendable is the state after writing a session with command \-close off.
.br
\fBClosed\fR media cannot be written. They may contain an ISO image suitable
for \fBxorriso\fR.
.br
Closed is the state of DVD\-ROM media and of multi\-session media which were
-written with option \-close on. If the drive is read\-only hardware then it will
+written with command \-close on. If the drive is read\-only hardware then it will
probably show any media as closed CD\-ROM resp. DVD\-ROM.
.br
Overwriteable media assume this state in such read\-only drives or if they
@@ -218,14 +219,14 @@
.br
Read\-only drives may or may not show session histories of multi\-session
media. Often only the first and the last session are visible. Sometimes
-not even that. Option \-rom_toc_scan might or might not help in such cases.
+not even that. Command \-rom_toc_scan might or might not help in such cases.
.SS
.B Creating, Growing, Modifying, Blind Growing:
.br
A new empty ISO image gets \fBcreated\fR
if there is no input drive with a valid ISO 9660 image when the first time
-an output drive is defined. This is achieved by option \-dev on blank media
-or by option \-outdev on media in any state.
+an output drive is defined. This is achieved by command \-dev on blank media
+or by command \-outdev on media in any state.
.br
The new empty image can be populated with directories and files.
Before it can be written, the medium in the output drive must get into
@@ -242,7 +243,7 @@
previous sessions but they still exist on the medium and with many types of
optical media it is quite easy to recover them by mounting older sessions.
.br
-Growing is achieved by option \-dev.
+Growing is achieved by command \-dev.
.PP
The write method of \fBmodifying\fR produces compact filesystem
images with no outdated files or directory trees. Modifying can write its
@@ -256,10 +257,10 @@
filesystem objects as source and/or target medium.
.br
Modifying takes place if input drive and output drive are not the same and
-if option \-grow_blindly is set to its default "off".
-This is achieved by options \-indev and \-outdev.
+if command \-grow_blindly is set to its default "off".
+This is achieved by commands \-indev and \-outdev.
.PP
-If option \-grow_blindly is set to a non\-negative number and if \-indev and
+If command \-grow_blindly is set to a non\-negative number and if \-indev and
\-outdev are both set to different drives, then \fBblind growing\fR is
performed. It produces an add\-on session which is ready for being written
to the given block address. This is the usage model of
@@ -354,13 +355,13 @@
in the /dev tree without prefix "stdio:" will work only if it leads to a MMC
drive.
.br
-One may use option
+One may use command
\fB\-ban_stdio_write\fR
to surely prevent this risk and to allow only MMC drives.
.br
One may prepend "mmc:" to a path to surely disallow any automatic "stdio:".
.br
-By option \-drive_class one may ban certain paths or allow access without
+By command \-drive_class one may ban certain paths or allow access without
prefix "stdio:" to other paths.
.SS
.B Rock Ridge, POSIX, X/Open, El Torito, ACL, xattr:
@@ -387,10 +388,10 @@
.br
Most bootable GNU/Linux CDs are equipped with ISOLINUX or GRUB boot images.
\fBxorriso\fR is able to create or maintain an El Torito object which
-makes such an image bootable. For details see option \-boot_image.
+makes such an image bootable. For details see command \-boot_image.
.br
It is possible to make ISO images bootable from USB stick or other
-hard\-disk\-like media by \-boot_image argument system_area= . This installs
+hard\-disk\-like media by \-boot_image parameter system_area= . This installs
a Master Boot Record which may get adjusted according to the needs
of GRUB resp. ISOLINUX.
An \fBMBR\fR contains boot code and a partition table. It does not hamper
@@ -409,7 +410,7 @@
are an advanced way of controlling access permissions to file objects. Neither
ISO 9660 nor Rock Ridge specify a way to record ACLs. So libisofs has
introduced a standard conformant extension named AAIP for that purpose.
-It uses this extension if enabled by option
+It uses this extension if enabled by command
\fB\-acl\fR.
.br
AAIP enhanced images are supposed to be mountable normally, but one cannot
@@ -434,7 +435,7 @@
have names out of the user namespace. I.e. those which begin with "user.",
like "user.x" or "user.whatever". Name has to be a 0 terminated string.
Value may be any array of bytes which does not exceed the size of 4095 bytes.
-xattr processing happens only if it is enabled by option
+xattr processing happens only if it is enabled by command
\fB\-xattr\fR.
.br
As with ACL, currently only \fBxorriso\fR is able to retrieve xattr
@@ -447,74 +448,78 @@
.B Command processing:
.br
Commands are either actions which happen immediately or settings which
-influence following actions. So their sequence does matter.
+influence following actions. So their sequence does matter, unless they are
+given as program arguments and command
+\fB\-x\fR
+is among them.
.br
Commands consist of a command word,
followed by zero or more parameter words. If the list of parameter words
-is of variable length (indicated by "[...]" or "[***]") then it has to be
-terminated by either the \fBlist delimiter\fR, or the end of argument list,
-or an end of an input line.
-.PP
-At program start the list delimiter is the word "\-\-".
-This may be changed by option \-list_delimiter in order to allow
-"\-\-" as argument in a list of variable length.
-It is advised to reset the delimiter to "\-\-" immediately
-afterwards.
+is of variable length (indicated by "[...]" or "[***]") then it must be
+terminated by either the \fBlist delimiter\fR, occur at the end of
+the argument list, or occur at the end of an input line.
+.PP
+At program start the list delimiter is the string "\-\-".
+This may be changed with the \-list_delimiter command in order to allow
+"\-\-" as parameter in a variable length list.
+However, it is advised to reset the delimiter to "\-\-"
+immediately afterwards.
.br
For brevity the list delimiter is referred as "\-\-"
throughout this text.
.br
-The list delimiter is silently tolerated if it appears after the parameters of
+The list delimiter is silently ignored if it appears after the parameters of
a command with a fixed list length. It is handled as normal text if it
-appears among the arguments of such a command.
+appears among the parameters of such a command.
.PP
\fBPattern expansion\fR
converts a list of pattern words into a list of existing file addresses.
-Unmatched pattern words appear themselves in that result list, though.
+Unmatched pattern words will appear unaltered in that result list.
.br
Pattern matching supports the usual shell parser wildcards '*' '?' '[xyz]'
-and respects '/' as separator which may only be matched literally.
+and respects '/' as the path separator, which may only be matched literally.
.br
-It is a property of some particular commands and not a general
-feature. It gets controlled by commands \-iso_rr_pattern and \-disk_pattern.
-Commands which may use pattern expansion all have variable argument
-lists which are marked in this man page by "[***]" rather than "[...]".
+Pattern expansion is a property of some particular commands and not a general
+feature. It is controlled by commands \-iso_rr_pattern and \-disk_pattern.
+Commands which use pattern expansion all have variable parameter
+lists which are specified in this text by "[***]" rather than "[...]".
.br
Some other commands perform pattern matching unconditionally.
.PP
-Command and parameter words are either read from program arguments, where one
-argument is one word, or from quoted input lines where words are recognized
+Command and parameter words are either read from the program arguments, where
+one argument is one word, or from quoted input lines where words are recognized
similar to the quotation rules of a shell parser.
.br
-\fBxorriso\fR is not a shell, although it might appear so on first glimpse.
+\fBxorriso\fR is not a shell, although it might appear so at first glimpse.
Be aware that the interaction of quotation marks and pattern symbols like "*"
differs from the usual shell parsers. In \fBxorriso\fR, a quotation mark
does not make a pattern symbol literal.
.PP
\fBQuoted input\fR
-converts whitespace separated text pieces into words.
+converts whitespace\-separated text into words.
The double quotation mark " and the single quotation mark ' can be used to
enclose whitespace and make it part of words (e.g. of file names). Each mark
type can enclose the marks of the other type. A trailing backslash \\ outside
quotations or an open quotation cause the next input line to be appended.
.br
-Quoted input accepts any ASCII character except NUL (0) as content of quotes.
+Quoted input accepts any 8\-bit character except NUL (0) as the content of
+the quotes.
Nevertheless it can be cumbersome for the user to produce those characters
-at all. Therefore quoted input and program arguments allow optional
+directly. Therefore quoted input and program arguments allow optional
\fBBackslash Interpretation\fR
-which can represent all ASCII characters except NUL (0) by backslash codes
+which can represent all 8\-bit characters except NUL (0) via backslash codes
as in $'...' of bash.
.br
-It is not enabled by default. See option \-backslash_codes.
+This is not enabled by default. See command \-backslash_codes.
.PP
When the program starts then it first looks for argument \-no_rc. If this is
not present then it looks for its startup files and
reads their content as command input lines. Then it interprets
the program arguments as commands and parameters. Finally it enters
-dialog mode if command \-dialog "on" was executed up to then.
+dialog mode if command \-dialog "on" has been executed by this point.
.PP
The program ends either by command \-end, or by the end of program arguments
-if not dialog was enabled up to that moment, or by a problem
+if dialog mode has not been enabled at that point, or by a problem
event which triggers the threshold of command \-abort_on.
.SS
.B Dialog, Readline, Result pager:
@@ -523,55 +528,88 @@
them as commands with their parameters. It provides assisting services
to make dialog more comfortable.
.PP
-Readline is an enhancement for the input line. You may know it already from
+Readline is an enhancement for the input line. You may already know it from
the bash shell. Whether it is available in \fBxorriso\fR depends on the
availability
of package readline\-dev at the time when \fBxorriso\fR was built from
its sourcecode.
.br
-It allows to move the cursor over the text in the line by help of the
-Leftward and the Rightward arrow key.
+Readline allows to move the cursor over the text in the line by help of the
+Left and the Right arrow keys.
Text may be inserted at the cursor position. The Delete key removes the
-character under the cursor. Upward and Downward arrow keys navigate through
+character under the cursor. Up and Down arrow keys navigate through
the history of previous input lines.
.br
See man readline
for more info about libreadline.
.PP
-Option \-page activates a built\-in result text pager which may be convenient in
-dialog. After an action has put out the given number of terminal lines,
+Command \-page activates a built\-in result text pager which may be convenient in
+dialog mode. After an action has output the given number of terminal lines,
the pager prompts the user for a line of input.
.br
-An empty line lets \fBxorriso\fR resume work until the next page is put out.
+An empty line lets \fBxorriso\fR resume work until the next page is output.
.br
The single character "@" disables paging for the current action.
.br
-"@@@", "x", "q", "X", or "Q" urge the current action to abort and suppress
-further result output.
+"@@@", "x", "q", "X", or "Q" request that the current action aborts and
+suppress further result output.
.br
-Any other line will be interpreted as new dialog line. The current action
-is urged to abort. Afterwards, the input line is executed.
+Any other line input will be interpreted as new dialog line. The current action
+is requested to abort. Afterwards, the input line is executed.
.PP
Some actions apply paging to their info output, too.
.br
-The urge to abort may or may not be obeyed by the current action. All actions
-try to abort as soon as possible.
+The request to abort may or may not be obeyed by the current action.
+All actions try to abort as soon as possible.
.br
.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 command to be recognized. Nevertheless within command \-as
+the dashes of the emulated commands are mandatory.
.br
Normally any number of leading dashes is ignored with command words and
inner dashes are interpreted as underscores.
.TP
-.B Aquiring source and target drive:
+.B Execution order of program arguments:
.PP
-The effect of aquiring a drive may depend on several options in the
+By default the program arguments of a xorriso run are interpreted as a
+sequence of commands which get performed exactly in the given order.
+This requires the user to write commands for desired settings before the
+commands which shall be influenced by those settings.
+.br
+Many other programs support program arguments in an arbitrary ordering
+and perform settings and actions in a sequence at their own discretion.
+xorriso provides an option to enable such a behavior
+at the cost of loss of expressivity.
+.TP
+\fB\-x\fR
+Enable automatic sorting of program arguments into a sequence that
+(most likely) is sensible.
+This command may be given at any position among the commands
+which are handed over as program arguments.
+.br
+Note: It works only if it is given as program argument and
+with a single dash (i.e. "\-x"). It will not work in startup files, nor with
+\-options_from_file, nor in dialog mode, nor as "x" and finally not as
+"\-\-x".
+It affects only the commands given as program arguments.
+.TP
+\fB\-list_arg_sorting\fR
+List all xorriso commands in the order which applies if command \-x is in
+effect.
+.br
+This list may also be helpful without \-x for a user who ponders over the
+sequence in which to put commands. Deviations from the listed sorting order may
+well make sense, though.
+.PP
+.TP
+.B Acquiring source and target drive:
+.PP
+The effect of acquiring a drive may depend on several commands in the
next paragraph "Influencing the behavior of image loading".
If desired, their enabling commands have to be performed before the
-commands which aquire the drive.
+commands which acquire the drive.
.TP
\fB\-dev\fR address
Set input and output drive to the same address and load an ISO image if it
@@ -587,7 +625,7 @@
apply. See above paragraph "Libburn drives".
.br
An empty address string "" gives up the current device
-without aquiring a new one.
+without acquiring a new one.
.TP
\fB\-indev\fR address
Set input drive and load an ISO image if present.
@@ -611,7 +649,7 @@
apply. See above paragraph "Libburn drives".
.br
An empty address string "" gives up the current output drive
-without aquiring a new one. No writing is possible without an output drive.
+without acquiring a new one. No writing is possible without an output drive.
.TP
\fB\-grow_blindly\fR "off"|predicted_nwa
If predicted_nwa is a non\-negative number then perform blind growing rather
@@ -630,13 +668,13 @@
.TP
.B Influencing the behavior of image loading:
.PP
-The following options should normally be performed before loading an image
-by aquiring an input drive. In rare cases it is desirable to activate
+The following commands should normally be performed before loading an image
+by acquiring an input drive. In rare cases it is desirable to activate
them only after image loading.
.TP
\fB\-load\fR entity id
Load a particular (possibly outdated) ISO session from \-dev or \-indev.
-Usually all available sessions are shown with option \-toc.
+Usually all available sessions are shown with command \-toc.
.br
entity depicts the kind of addressing. id depicts the particular
address. The following entities are defined:
@@ -667,7 +705,7 @@
and reading of their files. The multi\-session method of growing is not allowed
as long as \-displacement is non\-zero. I.e. \-indev and \-outdev must be
different. The displacement gets reset to 0 before the drive
-gets re\-aquired after writing.
+gets re\-acquired after writing.
.br
Examples:
.br
@@ -722,7 +760,7 @@
an event of the given severity (like FAILURE, see \-abort_on). An empty search
pattern accepts any image.
.br
-This option does not hamper the creation of an empty image from blank
+This command does not hamper the creation of an empty image from blank
input media and does not discard an already loaded image.
.TP
\fB\-in_charset\fR character_set_name
@@ -786,12 +824,12 @@
store ACLs in the ISO image using the libisofs specific AAIP format,
load AAIP data from ISO images, test ACL during file comparison,
and restore ACLs to disk files when extracting them from ISO images.
-See also options \-getfacl, \-setfacl.
+See also commands \-getfacl, \-setfacl.
.TP
\fB\-xattr\fR "on"|"off"
Enable or disable processing of xattr attributes in user namespace.
If enabled, then \fBxorriso\fR will handle xattr similar to ACL.
-See also options \-getfattr, \-setfattr and above paragraph about xattr.
+See also commands \-getfattr, \-setfattr and above paragraph about xattr.
.TP
\fB\-md5\fR "on"|"all"|"off"|"load_check_off"
Enable or disable processing of MD5 checksums for the overall session and for
@@ -800,7 +838,7 @@
checksums of data files and whole session get loaded from the image if there
are any.
.br
-With options \-compare and \-update the recorded MD5 of a file
+With commands \-compare and \-update the recorded MD5 of a file
will be used to avoid content reading from the image. Only the disk file
content will be read and compared with that MD5. This can save much time
if \-disk_dev_ino "on" is not suitable.
@@ -823,7 +861,7 @@
.br
The test can be re\-enabled by mode "load_check_on".
.br
-Checksums can be exploited via options \-check_md5, \-check_md5_r, via find
+Checksums can be exploited via commands \-check_md5, \-check_md5_r, via find
actions get_md5, check_md5, and via \-check_media.
.TP
\fB\-for_backup\fR
@@ -877,7 +915,7 @@
the elsewise trustworthy table\-of\-content scan for those media.
.br
To be in effect, the \-rom_toc_scan setting has to be made before the \-*dev
-command which aquires drive and medium.
+command which acquires drive and medium.
.TP
\fB\-calm_drive\fR "in"|"out"|"all"|"revoke"|"on"|"off"
Reduce drive noise until it is actually used again. Some drives stay alert
@@ -908,6 +946,23 @@
Mode "appendable_wo" is like "on" with the additional property that
non\-empty write\-only files are regarded as appendable rather than blank.
.TP
+\fB\-data_cache_size\fR number_of_tiles blocks_per_tile
+Set the size and granularity of the data cache which is used when ISO images
+are loaded and when file content is read from ISO images. The cache consists
+of several tiles, which each consists of several blocks. A larger cache
+reduces the need for tiles being read multiple times. Larger tiles might
+additionally improve the data throughput from the drive, but can be
+wasteful if the data are scattered over the medium.
+.br
+Larger cache sizes help best with image loading from MMC drives. They are an
+inferior alternative to \-osirrox option "sort_lba_on".
+.br
+blocks_per_tile must be a power of 2. E.g. 16, 32, or 64. The overall cache
+size must not exceed 1 GiB.
+The default values can be restored by parameter "default" instead of one or
+both of the numbers.
+Currently the default is 32 tiles of 32 blocks = 2 MiB.
+.TP
.B Inserting files into ISO image:
.PP
The following commands expect file addresses of two kinds:
@@ -941,7 +996,7 @@
The commands in this section alter the ISO image and not the local filesystem.
.TP
\fB\-disk_pattern\fR "on"|"ls"|"off"
-Set the pattern expansion mode for the disk_path arguments of several
+Set the pattern expansion mode for the disk_path parameters of several
commands which support this feature.
.br
Setting "off" disables this feature for all commands which are marked in this
@@ -1009,14 +1064,14 @@
Like \-map, but if disk_path is a directory then its sub tree is not inserted.
.TP
\fB\-map_l\fR disk_prefix iso_rr_prefix disk_path [***]
-Perform \-map with each of the disk_path arguments. iso_rr_path will be
+Perform \-map with each of the disk_path parameters. iso_rr_path will be
composed from disk_path by replacing disk_prefix by iso_rr_prefix.
.TP
\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
+content reading before a decision is made. Commands \-disk_dev_ino or \-md5 may
accelerate comparison if they were already in effect when the loaded session
was recorded.
.br
@@ -1030,14 +1085,14 @@
and whether both counterparts match. If there is a mismatch then the necessary
update manipulation is done.
.br
-Note that the comparison result may depend on option \-follow. Its setting
+Note that the comparison result may depend on command \-follow. Its setting
should always be the same as with the first adding of disk_path as iso_rr_path.
.br
If iso_rr_path does not exist yet, then it gets added. If disk_path does not
exist, then iso_rr_path gets deleted.
.TP
\fB\-update_l\fR disk_prefix iso_rr_prefix disk_path [***]
-Perform \-update_r with each of the disk_path arguments. iso_rr_path will be
+Perform \-update_r with each of the disk_path parameters. iso_rr_path will be
composed from disk_path by replacing disk_prefix by iso_rr_prefix.
.TP
\fB\-cut_out\fR disk_path byte_offset byte_count iso_rr_path
@@ -1068,12 +1123,12 @@
.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
+While command \-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
+regular file. This affects commands \-compare*, \-update*, and overwrite
situations.
-See option \-split_size for details.
+See command \-split_size for details.
.TP
\fB\-cpr\fR disk_path [***] iso_rr_path
Insert the given files or directory trees from filesystem
@@ -1120,7 +1175,7 @@
relative iso_rr_path_original will get prepended the \-cd path and not
the \-cdx path. Consider to \-mkdir iso_rr_path_dest before \-cp_clone
so the copy address does not depend on the number of iso_rr_path_original
-arguments.
+parameters.
.TP
.B Settings for file insertion:
.TP
@@ -1196,12 +1251,12 @@
made.
.TP
\fB\-not_list\fR disk_path
-Read lines from disk_path and use each of them either as \-not_paths argument,
+Read lines from disk_path and use each of them either as \-not_paths parameter,
if they contain a / character, or as \-not_leaf pattern.
.TP
\fB\-quoted_not_list\fR disk_path
Like \-not_list but with quoted input reading rules. Each word is
-handled as one argument for \-not_paths resp. \-not_leaf.
+handled as one parameter for \-not_paths resp. \-not_leaf.
.TP
\fB\-follow\fR occasion[:occasion[...]]
Enable or disable resolution of symbolic links and mountpoints under
@@ -1295,10 +1350,10 @@
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
+While command \-split_size is set larger than 0 such a directory with split
+file pieces will be recognized and handled like a regular file by commands
\-compare* , \-update*, and in overwrite situations. There are \-ossirox
-options "concat_split_on" and "concat_split_off" which control the handling
+parameters "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
@@ -1317,7 +1372,7 @@
.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.
+parameter and their contents may not overlap.
.TP
.B File manipulations:
.PP
@@ -1326,7 +1381,7 @@
.PP
.TP
\fB\-iso_rr_pattern\fR "on"|"ls"|"off"
-Set the pattern expansion mode for the iso_rr_path arguments of several
+Set the pattern expansion mode for the iso_rr_path parameters of several
commands which support this feature.
.br
Setting "off" disables pattern expansion for all commands which are marked
@@ -1350,16 +1405,16 @@
.TP
\fB\-rm_r\fR iso_rr_path [***]
Delete the given files or directory trees from the ISO image.
-See also the note with option \-rm.
+See also the note with command \-rm.
.TP
\fB\-rmdir\fR iso_rr_path [***]
Delete empty directories.
.TP
\fB\-mv\fR iso_rr_path [***] iso_rr_path
Rename the given file objects in the ISO tree to the last
-argument in the list. Use the same rules as with shell command mv.
+parameter in the list. Use the same rules as with shell command mv.
.br
-If pattern expansion is enabled and if the last argument contains wildcard
+If pattern expansion is enabled and if the last parameter contains wildcard
characters then it must match exactly one existing file address, or else the
command fails with a FAILURE event.
.TP
@@ -1453,7 +1508,7 @@
"user.", like "user.x" or "user.whatever".
.br
Values and names undergo the normal input processing of \fBxorriso\fR.
-See also option \-backslash_codes. Other than with option \-setfattr_list,
+See also command \-backslash_codes. Other than with command \-setfattr_list,
the byte value 0 cannot be expressed via \-setfattr.
.TP
\fB\-setfattr_r\fR [-]name value iso_rr_path [***]
@@ -1478,7 +1533,7 @@
printable characters only. The separator "=" is not allowed in names.
Value may contain any kind of bytes. It must be in quotes. Trailing
whitespace after the end quote will be ignored. Non\-printables bytes and quotes
-must be represented as \\XYZ by their octal ASCII code XYZ.
+must be represented as \\XYZ by their octal 8\-bit code XYZ.
Use code \\000 for 0\-bytes.
.TP
\fB\-alter_date\fR type timestring iso_rr_path [***]
@@ -1544,7 +1599,7 @@
A restricted substitute for shell command find in the ISO image.
It performs an action on matching file objects at or below iso_rr_path.
.br
-If not used as last command in the line then the argument list
+If not used as last command in the line then the parameter list
needs to get terminated by "\-\-".
.br
Tests are optional. If they are omitted then action is applied to all file
@@ -1689,7 +1744,7 @@
.br
\fBcompare\fR
performs command \-compare with the found file address as
-iso_rr_path and the corresponding file address below its argument
+iso_rr_path and the corresponding file address below its parameter
disk_path_start. For this the iso_rr_path of the \-find command gets
replaced by the disk_path_start.
.br
@@ -1744,7 +1799,7 @@
.br
\fBsetfacl\fR
attaches ACLs after removing existing ones. The new
-ACL is given in text form as defined with option \-setfacl.
+ACL is given in text form as defined with command \-setfacl.
.br
E.g.: \-exec setfacl u:lisa:rw,u::rw,g::r,o::\-,m::rw \-\-
.br
@@ -1771,7 +1826,7 @@
.br
E.g. \-exec list_extattr e \-\-
.br
-Option \-backslash_codes does not affect the output.
+Command \-backslash_codes does not affect the output.
.br
\fBget_md5\fR
prints the MD5 sum, if recorded, together with file path.
@@ -1935,6 +1990,10 @@
filtering. This will revoke suffix renamings as well.
Use "\-\-remove\-all\-filters+" to
prevent any suffix renaming.
+.br
+Attaching or detaching filters will not alter the state of \-changes_pending.
+If the filter manipulations shall be the only changes in a write run, then
+explicitely execute \-changes_pending "yes".
.TP
\fB\-set_filter_r\fR name iso_rr_path [***]
Like \-set_filter but affecting all data files below eventual directories.
@@ -1947,6 +2006,24 @@
Discard the manipulated ISO image and reload it from \-indev.
(Use \-rollback_end if immediate program end is desired.)
.TP
+\fB\-changes_pending\fR "no"|"yes"|"mkisofs_printed"|"show_status"
+Write runs are performed only if a change of the image has been made
+since the image was loaded or created blank. Vice versa the program will
+start a write run for pending changes when it ends normally (i.e. not by abort
+and not by command \-rollback_end).
+.br
+The command \-changes_pending can be used to override the automatically
+determined state. This is mainly useful for setting state "yes" despite
+no real changes were made. The sequence \-changes_pending "no" \-end
+is equivalent to the command \-rollback_end. State "mkisofs_printed"
+is caused by emulation command \-as mkisofs if option \-print\-size is present.
+.br
+The pseudo\-state "show_status" can be used to print the current state to result
+channel.
+.br
+Image loading or manipulations which happen after this command will again
+update automatically the change status of the image.
+.TP
\fB\-commit\fR
Perform the write operation. Afterwards, if \-outdev is readable, make it
the new \-dev and load the image from there.
@@ -1956,7 +2033,7 @@
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.
+and no new loading of image, rather execute command \-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
@@ -2010,7 +2087,7 @@
Some drives announce this state by not offering feature 21h,
but some drives offer it anyway.
If feature 21h is missing, then \fBxorriso\fR
-will refuse to write on DVD\-RW if not option \-close is set to "on".
+will refuse to write on DVD\-RW if not command \-close is set to "on".
.br
The progress reports issued by some drives while blanking are
quite unrealistic. Do not conclude success or failure from the
@@ -2032,7 +2109,7 @@
.br
"fast" does the same as "full" but tries to be quicker.
.br
-"by_index_" selects a format out of the descriptor list issued by option
+"by_index_" selects a format out of the descriptor list issued by command
\-list_formats. The index number from that list is to be appended to the
mode word. E.g: "by_index_3".
.br
@@ -2098,10 +2175,10 @@
Try to close the upcomming track and session if the drive reported the medium
as damaged. This may apply to CD\-R, CD\-RW, DVD\-R, DVD\-RW, DVD+R, DVD+R DL,
or BD\-R media. It is indicated by warning messages when the drive gets
-aquired, and by a remark "but next track is damaged" with the line
+acquired, and by a remark "but next track is damaged" with the line
"Media status :" of command \-toc.
.br
-The setting of option \-close determines whether the medium stays appendable.
+The setting of command \-close determines whether the medium stays appendable.
.br
Mode "as_needed" gracefully refuses on media which are not reported as
damaged. Mode "force" attempts the close operation even with media which
@@ -2117,59 +2194,64 @@
.B Settings for result writing:
.PP
Rock Ridge info will be generated by the program unconditionally.
-ACLs will be written according to the setting of option \-acl.
+ACLs will be written according to the setting of command \-acl.
.TP
\fB\-joliet\fR "on"|"off"
If enabled by "on", generate Joliet tree additional to ISO 9660 + Rock Ridge
tree.
.TP
\fB\-compliance\fR rule[:rule...]
-Adjust the compliance to specifications of ISO 9660 and its contemporary
-extensions. In some
+Adjust the compliance to specifications of ISO 9660/ECMA\-119 and its
+contemporary extensions. In some
cases it is worth to deviate a bit in order to circumvent bugs of the intended
reader system or to get unofficial extra features.
.br
There are several adjustable rules which have a keyword each. If they
-are mentioned with this option then their rule gets added to the relaxation
+are mentioned with this command then their rule gets added to the relaxation
list. This list can be erased by rules "strict" or "clear". It can be reset
to its start setting by "default". All of the following relaxation rules
can be revoked individually by appending "_off". Like "deep_paths_off".
.br
Rule keywords are:
.br
-"iso_9660_level="number chooses level 1 with ISO names of the form 8.3
-and \-file_size_limit <= 4g \- 1, or level 2 with ISO names up to
-length 32 and the same \-file_size_limit, or level 3 with ISO names up to
+"iso_9660_level="number chooses level 1 with ECMA\-119 names of the form 8.3
+and \-file_size_limit <= 4g \- 1, or level 2 with ECMA\-119 names up to
+length 32 and the same \-file_size_limit, or level 3 with ECMA\-119 names up to
length 32 and \-file_size_limit >= 400g \-200k. If necessary \-file_size_limit
gets adjusted.
.br
-"allow_dir_id_ext" allows ISO names of directories to have a name extension
+"allow_dir_id_ext" allows ECMA\-119 names of directories to have a name extension
as with other file types. It does not force dots and it omits the version
number, though. This is a bad tradition of mkisofs which violates ECMA\-119.
Especially ISO level 1 only allows 8 characters in a directory name and
not 8.3.
.br
-"omit_version" does not add versions (";1") to ISO and Joliet file names.
+"omit_version" does not add versions (";1") to ECMA\-119 and Joliet file names.
.br
"only_iso_version" does not add versions (";1") to Joliet file names.
.br
-"deep_paths" allows ISO file paths deeper than 8 levels.
+"deep_paths" allows ECMA\-119 file paths deeper than 8 levels.
.br
-"long_paths" allows ISO file paths longer than 255 characters.
+"long_paths" allows ECMA\-119 file paths longer than 255 characters.
.br
-"long_names" allows up to 37 characters with ISO file names.
+"long_names" allows up to 37 characters with ECMA\-119 file names.
.br
-"no_force_dots" does not add a dot to ISO file names which have none.
+"no_force_dots" does not add a dot to ECMA\-119 file names which have none.
.br
"no_j_force_dots" does not add a dot to Joliet file names which have none.
.br
-"lowercase" allows lowercase characters in ISO file names.
+"lowercase" allows lowercase characters in ECMA\-119 file names.
+.br
+"7bit_ascii" allows nearly all 7\-bit characters in ECMA\-119 file names.
+Not allowed are 0x0 and '/'. If not "lowercase" is enabled, then lowercase
+letters get converted to uppercase.
.br
-"full_ascii" allows all ASCII characters in ISO file names.
+"full_ascii" allows all 8\-bit characters except 0x0 and '/'
+in ECMA\-119 file names.
.br
"untranslated_names" might be dangerous for inadverted reader programs
-which rely on the restriction to at most 37 characters in ISO file names.
-This option allows ISO file names up to 96 characters with no character
+which rely on the restriction to at most 37 characters in ECMA\-119 file names.
+This rule allows ECMA\-119 file names up to 96 characters with no character
conversion. If a file name has more characters, then image production will
fail deliberately.
.br
@@ -2217,14 +2299,34 @@
.br
always_gmt:old_rr".
.br
-Note: The term "ISO file" means the plain ISO 9660 names and attributes
+Note: The term "ECMA\-119 name" means the plain ISO 9660 names and attributes
which get visible if the reader ignores Rock Ridge.
.TP
+\fB\-rr_reloc_dir\fR name
+Specify the name of the relocation directory in which deep directory subtrees
+shall be placed if \-compliance is set to "deep_paths_off" or "long_paths_off".
+A deep directory is one that has a chain of 8 parent directories (including
+root) above itself, or one that contains a file with an ECMA\-119 path of more
+than 255 characters.
+.br
+The overall directory tree will appear originally deep when interpreted
+as Rock Ridge tree. It will appear as re\-arranged if only ECMA\-119
+information is considered.
+.br
+The default relocation directory is the root directory. By giving a non\-empty
+name with \-rr_reloc_dir, a directory in the root directory may get this role.
+If that directory does not already exist at \-commit time, then it will get
+created and marked for Rock Ridge as relocation artefact. At least on
+GNU/Linux it will not be displayed in mounted Rock Ridge images.
+.br
+The name must not contain a '/' character and must not be longer than
+255 bytes.
+.TP
\fB\-volid\fR text
Specify the volume ID. \fBxorriso\fR accepts any text up to 32 characters,
but according to rarely obeyed specs stricter rules apply:
.br
-ECMA 119 demands ASCII characters out of [A\-Z0\-9_]. Like: "IMAGE_23"
+ECMA\-119 demands ASCII characters out of [A\-Z0\-9_]. Like: "IMAGE_23"
.br
Joliet allows 16 UCS\-2 characters. Like: "Windows name"
.br
@@ -2290,7 +2392,7 @@
.br
E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
.br
-Timestrings for the other types may be given as with option \-alter_date.
+Timestrings for the other types may be given as with command \-alter_date.
They are prone to timezone computations. The timestrings "default" or
"overridden" cause default settings: "c" and "m" will show the current time
of image creation. "x" and "f" will be marked as insignificant.
@@ -2344,7 +2446,7 @@
\fB\-zisofs\fR option[:options]
Set global parameters for zisofs compression. This data format is recognized
and transparently uncompressed by some Linux kernels. It is to be applied
-via option \-set_filter with built\-in filter "\-\-zisofs".
+via command \-set_filter with built\-in filter "\-\-zisofs".
Parameters are:
.br
"level="[0\-9] zlib compression: 0=none, 1=fast,..., 9=slow
@@ -2395,7 +2497,7 @@
GNU/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
+show latency problems. The default depends on media type, on command
\-stream_recording , and on compile time options.
.TP
\fB\-stdio_sync\fR "on"|"off"|number
@@ -2419,7 +2521,7 @@
If "on" then mark the written medium as not appendable
any more (if possible at all with the given type of target media).
.br
-This is the contrary of cdrecord, wodim, cdrskin option \-multi,
+This is the contrary of cdrecord, wodim, cdrskin command \-multi,
and is one aspect of growisofs option \-dvd\-compat.
.TP
\fB\-padding\fR number["k"|"m"]|"included"|"appended"
@@ -2474,7 +2576,7 @@
has been read from an existing ISO image or define how to make a prepared
boot image file set bootable. Such file sets get produced by ISOLINUX or GRUB.
.br
-Each \-boot_image command has two arguments: type and setting. More than one
+Each \-boot_image command has two parameters: type and setting. More than one
\-boot_image command may be used to define the handling of one or more boot
images. Sequence matters.
.br
@@ -2669,7 +2771,7 @@
\fBsparc_label=\fRtext causes the production of a SUN Disk Label with the
given text as ASCII label. This boot block format allows to append images
for partitions 2 to 8. Partition 1 will always be the ISO image.
-See option \-append_partition.
+See command \-append_partition.
The first 512 bytes of any data provided by system_area= will be overwritten.
.br
\fBmips_discard\fR and \fBsparc_discard\fR revoke any boot file
@@ -2830,7 +2932,7 @@
There is an input conversion from input character set to the local character
set which applies when an ISO image gets loaded. A conversion from local
character set to the output character set is performed when an
-image tree gets written. The sets can be defined independently by options
+image tree gets written. The sets can be defined independently by commands
\-in_charset and \-out_charset. Normally one will have both identical, if ever.
.br
If conversions are desired then \fBxorriso\fR needs to know the name of the
@@ -2846,7 +2948,7 @@
names and emerging names in the image. The situation stays ambigous and the
reader has to riddle what character set was used.
.br
-By option \-auto_charset it is possible to attribute the output charset name
+By command \-auto_charset it is possible to attribute the output charset name
to the image. This makes the situation unambigous. But if your terminal
character set does not match the character set of the local file names,
then this attribute can become plainly wrong and cause problems at read time.
@@ -2908,10 +3010,10 @@
Useful: "NEVER", "ABORT", "FATAL", "FAILURE" , "MISHAP", "SORRY"
.br
It may become necessary to abort the program anyway, despite
-the setting by this option. Expect not many "ABORT" events to
+the setting by this command. Expect not many "ABORT" events to
be ignorable.
.br
-A special property of this option is that it works preemptive if given as
+A special property of this command is that it works preemptive if given as
program start argument. I.e. the first \-abort_on setting among the
start arguments is in effect already when the first operations of
\fBxorriso\fR begin. Only "\-abort_on" with dash "\-" is recognized that way.
@@ -2950,7 +3052,7 @@
but may be influenced by command \-pkt_output.
Info messages which belong to no event get attributed severity "NOTE".
.br
-A special property of this option is that the first \-report_about setting
+A special property of this command is that the first \-report_about setting
among the start arguments is in effect already when the first operations
of \fBxorriso\fR begin. Only "\-report_about" with dash "\-" is
recognized that way.
@@ -2982,7 +3084,7 @@
needs poweroff to be reset. So during burning, blanking, and formatting
wait for at least their normal run time before killing externally.
.br
-A special property of this option is that the first \-signal_handling setting
+A special property of this command is that the first \-signal_handling setting
among the start arguments is in effect already when the first operations
of \fBxorriso\fR begin. Only "\-signal_handling" with dash "\-" is
recognized that way.
@@ -2991,12 +3093,12 @@
Control the program behavior at problem event occasions.
For now this applies to occasions "image_loading" which is given while
an image tree is read from the input device, and to "file_extraction" which
-is given with osirrox options like \-extract.
+is given with osirrox commands like \-extract.
.br
With "image_loading" there are three behaviors available:
.br
"best_effort" goes on with reading after events with severity below FAILURE
-if the threshold of option \-abort_on allows this.
+if the threshold of command \-abort_on allows this.
.br
"failure" aborts image tree reading on first event of at least SORRY.
It issues an own FAILURE event.
@@ -3016,7 +3118,8 @@
.B Dialog mode control:
.TP
\fB\-dialog\fR "on"|"off"|"single_line"
-Enable or disable to enter dialog mode after all arguments are processed.
+Enable or disable to enter dialog mode after all program arguments are
+processed.
In dialog mode input lines get prompted via readline or from stdin.
.br
If no \-abort_on severity was set when dialog starts, then "NEVER" is set
@@ -3065,9 +3168,9 @@
Setting "off" silently kills any kind of image file object resp. performs
above irrevocable actions.
.br
-To really produce user prompts, option \-dialog needs to be set to "on".
+To really produce user prompts, command \-dialog needs to be set to "on".
Note that the prompt does not appear in situations where file removal
-is forbidden by option \-overwrite. \-reassure only imposes an additional
+is forbidden by command \-overwrite. \-reassure only imposes an additional
curb for removing existing file objects.
.br
Be aware that file objects get deleted from the ISO image immediately
@@ -3082,7 +3185,7 @@
their libburn standard device files.
.br
This is only possible when no ISO image changes are pending.
-After this option was executed, there is no drive current
+After this command was executed, there is no drive current
and no image loaded.
.br
In order to be visible, a device has to offer rw\-permissions
@@ -3118,7 +3221,7 @@
to be the most recent real session then.
.br
Some read\-only drives and media show no usable session history at all.
-Option \-rom_toc_scan might help.
+Command \-rom_toc_scan might help.
.TP
\fB\-mount_cmd\fR drive entity id path
Emit an appropriate command line for mounting the ISO session
@@ -3136,7 +3239,7 @@
.br
path will be used as mount point and must already exist as a directory on disk.
.br
-The command gets printed to the result channel. See option \-mount
+The command gets printed to the result channel. See command \-mount
for direct execution of this command.
.TP
\fB\-mount_opts\fR option[:option...]
@@ -3169,9 +3272,9 @@
\fB\-print_size\fR
Print the foreseeable consumption of 2048 byte blocks
by next \-commit. This can last a while as a \-commit gets
-prepared and only in last moment is revoked by this option.
+prepared and only in last moment is revoked by this command.
The result depends on several settings and also on the kind of output device.
-If no \-jidgo options are given and not command \-as "mkisofs" was used,
+If no \-jidgo options are set and not command \-as "mkisofs" was used,
then \-padding (300 kB by default) is not counted as part of the image size.
.TP
\fB\-tell_media_space\fR
@@ -3180,7 +3283,7 @@
.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 like \-volid or \-publisher. For these
+them may be changed by commands like \-volid or \-publisher. For these
ids \-pvd_info reports what would be written with the next \-commit.
.TP
.B Navigation in ISO image and disk filesystem:
@@ -3259,7 +3362,7 @@
Print the access permissions of the given files in the ISO image using the
format of shell command getfacl. If a file has no ACL then it gets fabricated
from the \-chmod settings. A file may have a real ACL if it was introduced into
-the ISO image while option \-acl was set to "on".
+the ISO image while command \-acl was set to "on".
.TP
\fB\-getfacl_r\fR iso_rr_pattern [***]
Like \-gefacl but listing recursively the whole file trees underneath eventual
@@ -3296,7 +3399,7 @@
Like \-find but operating on local filesystem and not on the ISO image.
This is subject to the settings of \-follow.
.br
-\-findx accepts the same \-type arguments as \-find. Additionally it recognizes
+\-findx accepts the same \-type parameters as \-find. Additionally it recognizes
type "mountpoint" (or "m") which matches subdirectories which reside on a
different device than their parent. It never matches the disk_path
given as start address for \-findx.
@@ -3362,7 +3465,7 @@
and whether both counterparts match.
.TP
\fB\-compare_l\fR disk_prefix iso_rr_prefix disk_path [***]
-Perform \-compare_r with each of the disk_path arguments. iso_rr_path will be
+Perform \-compare_r with each of the disk_path parameters. iso_rr_path will be
composed from disk_path by replacing disk_prefix by iso_rr_prefix.
.TP
\fB\-show_stream\fR iso_rr_path [***]
@@ -3402,7 +3505,7 @@
to their read speed, save them to a file, and keep track of successfuly saved
blocks for further tries on the same medium.
.br
-By option \-md5 checksums may get recorded with data files and whole
+By command \-md5 checksums may get recorded with data files and whole
sessions. These checksums are reachable only via indev and a loaded image.
They work independently of the media type and can detect transmission errors.
.TP
@@ -3411,9 +3514,9 @@
disk file, and finally report about the encountered quality. Several options
may be used to modify the default behavior.
.br
-The options given with this command override the default settings which
-may have been changed by option \-check_media_defaults. See there for a
-description of options.
+The parameters given with this command override the default settings which
+may have been changed by command \-check_media_defaults. See there for a
+description of available options.
.br
The result list tells intervals of 2 KiB blocks with start address, number
of blocks and quality. Qualities which begin with "+" are
@@ -3559,10 +3662,10 @@
Compare the data content of the given files in the loaded image with their
recorded MD5 checksums, if there are any. In case of any mismatch an event of
the given severity is issued. It may then be handled by appropriate settings of
-options \-abort_on or \-return_with which both can cause non\-zero exit values
+commands \-abort_on or \-return_with which both can cause non\-zero exit values
of the program run. Severity ALL suppresses that event.
.br
-This option reports match and mismatch of data files to the result channel.
+This command reports match and mismatch of data files to the result channel.
Non\-data files cause NOTE events. There will also be UPDATE events from
data reading.
.br
@@ -3574,7 +3677,7 @@
Like \-check_md5 but checking all data files underneath the given paths.
Only mismatching data files will be reported.
.TP
-.B osirrox ISO-to-disk restore options:
+.B osirrox ISO-to-disk restore commands:
.PP
Normally \fBxorriso\fR only writes to disk files which were given as stdio:
pseudo\-drives or as log files.
@@ -3653,7 +3756,7 @@
restored.
.TP
\fB\-extract_l\fR iso_rr_prefix disk_prefix iso_rr_path [***]
-Perform \-extract with each of the iso_rr_path arguments. disk_path will be
+Perform \-extract with each of the iso_rr_path parameters. disk_path will be
composed from iso_rr_path by replacing iso_rr_prefix by disk_prefix.
.TP
\fB\-extract_cut\fR iso_rr_path byte_offset byte_count disk_path
@@ -3700,7 +3803,7 @@
\fB\-paste_in\fR iso_rr_path disk_path byte_offset byte_count
Read the content of a ISO data file and write it into a data file on disk
beginning at the byte_offset. Write at most byte_count bytes.
-This is the inverse of option \-cut_out.
+This is the inverse of command \-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
@@ -3748,7 +3851,7 @@
\-pacifier gets set to "mkisofs" if files are added to the image.
.br
\-graft\-points is equivalent to \-pathspecs on. Note that pathspecs without "="
-are interpreted differently than with \fBxorriso\fR option \-add.
+are interpreted differently than with \fBxorriso\fR command \-add.
Directories get
merged with the root directory of the ISO image, other filetypes get mapped
into that root directory.
@@ -3757,7 +3860,7 @@
"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 \fBxorriso\fR options before \-as mkisofs or after its
+is chosen by \fBxorriso\fR commands before \-as mkisofs or after its
list delimiter. Directories and symbolic links are no valid \-o targets.
.br
Writing to stdout is possible only if \-as "mkisofs" was among the start
@@ -3786,16 +3889,16 @@
Not original mkisofs options are \-\-quoted_path_list ,
\-\-hardlinks , \-\-acl ,
\-\-xattr , \-\-md5 , \-\-stdio_sync .
-They work like the \fBxorriso\fR options with the
-same name and hardcoded argument "on", e.g. \-acl "on".
-Explicit arguments are expected by \-\-stdio_sync
+They work like the \fBxorriso\fR commands with the
+same name and hardcoded parameter "on", e.g. \-acl "on".
+Explicit parameters are expected by \-\-stdio_sync
and \-\-scdbackup_tag.
.br
The capability to preserve multi\-session history on overwriteable media
gets disabled by default. It can be enabled by using \-\-emul\-toc
with the first session. See \-compliance no_emul_toc.
.br
-\-\-sort\-weight gets as arguments a number and an iso_rr_path.
+\-\-sort\-weight gets as parameters a number and an iso_rr_path.
The number becomes the LBA sorting weight of regular file iso_rr_path or
of all regular files underneath directory iso_rr_path.
(See \-find \-exec sort_weight).
@@ -3823,7 +3926,7 @@
\-partition_offset number is
\-boot_image any partition_offset=number.
.br
-Option \-append_partition is supported.
+Command \-append_partition is supported.
.br
\-untranslated_name_len number is
\-compliance untranslated_name_len=number.
@@ -3831,7 +3934,7 @@
\-\-old\-empty is \-compliance old_empty.
.br
The options of genisoimage Jigdo Template Extraction are recognized and
-performed via \fBxorriso\fR option \-jigdo. See the "Alias:" names there
+performed via \fBxorriso\fR command \-jigdo. See the "Alias:" names there
for the meaning of the genisoimage options.
.br
@@ -3841,10 +3944,10 @@
If \fBxorriso\fR is started with one of the leafnames "xorrisofs",
"genisofs",
"mkisofs", or "genisoimage", then it performs \-read_mkisofsrc and prepends
-\-as "genisofs" to the command line arguments.
+\-as "genisofs" to the program arguments.
I.e. all arguments will be interpreted mkisofs style until "\-\-"
is encountered.
-From then on, options are interpreted as \fBxorriso\fR options.
+From then on, arguments are interpreted as \fBxorriso\fR commands.
.br
\-\-no_rc as first argument of such a program start
prevents interpretation of startup files. See section FILES below.
@@ -3866,7 +3969,7 @@
to blank, overwriteable, or appendable media. The medium gets closed if
closing is applicable and not option \-multi is present.
.br
-If an input drive was aquired, then it is given up.
+If an input drive was acquired, then it is given up.
This is only allowed if no image changes are pending.
.br
dev= must be given as \fBxorriso\fR device address. Addresses like 0,0,0
@@ -3888,9 +3991,9 @@
.br
If \fBxorriso\fR is started with one of the leafnames "xorrecord",
"cdrskin", "cdrecord", or "wodim", then it automatically prepends \-as "cdrskin"
-to the command line arguments. I.e. all arguments will be interpreted cdrecord
+to the program arguments. I.e. all arguments will be interpreted cdrecord
style until "\-\-" is encountered.
-From then on, options are interpreted as \fBxorriso\fR options.
+From then on, arguments are interpreted as \fBxorriso\fR commands.
.br
\-\-no_rc as first argument of such a program start
prevents interpretation of \fBxorriso\fR startup files.
@@ -3942,13 +4045,13 @@
.TP
\fB\-no_rc\fR
.br
-Only if used as first command line argument this option
+Only if used as first program argument this command
prevents reading and interpretation of startup files. See section FILES below.
.TP
\fB\-options_from_file\fR fileaddress
Read quoted input from fileaddress and execute it like dialog lines.
Empty lines and lines which begin by # are ignored. Normally one line
-should hold one \fBxorriso\fR command and all its arguments.
+should hold one \fBxorriso\fR command and all its parameters.
Nevertheless lines may be concatenated by a trailing backslash.
.br
See also section "Command processing", paragraph "Quoted input".
@@ -4040,8 +4143,8 @@
.br
Mode "encode_output" encodes output characters. It combines "encode_results"
with "encode_infos". Inside single or double quotation marks encoding applies
-to ASCII characters octal 001 to 037 , 177 to 377 and to backslash(134).
-Outside quotation marks some harmless control characters stay unencoded:
+to 8\-bit characters octal 001 to 037 , 177 to 377 and to backslash(134).
+Outside quotation marks some harmless ASCII control characters stay unencoded:
bell(007), backspace(010), tab(011), linefeed(012), formfeed(014),
carriage_return(015).
.br
@@ -4090,7 +4193,7 @@
.br
Problematic files can be recorded multiple times during one program run.
If the program run aborts then the list might not be complete because
-some input file arguments might not have been processed at all.
+some input files might not have been processed at all.
.br
The errfile paths are transported as messages of very low severity "ERRFILE".
This transport becomes visible with \-report_about "ALL".
@@ -4110,7 +4213,7 @@
Logging messages get printed to stderr, not to any of the \fBxorriso\fR
output channels.
.br
-A special property of this option is that the first \-scsi_log setting
+A special property of this command is that the first \-scsi_log setting
among the start arguments is in effect already when the first operations
of \fBxorriso\fR begin.
Only "\-scsi_log" with dash "\-" is recognized that way.
@@ -4146,7 +4249,7 @@
.br
Example:
.br
- I:1: enter option and arguments :
+ I:1: enter option and parameters :
.TP
\fB\-logfile\fR channel fileaddress
Copy output of a channel to the given file. Channel may be one of: "." for all
@@ -4213,7 +4316,7 @@
2 \-dev '/dev/cdrw3' rwrw\-\- : 'HL\-DT\-ST' 'BDDVDRW_GGC\-H20L'
.SS
.B Blank medium and compose a new ISO image as batch run
-Aquire drive /dev/sr2, make medium ready for writing a new image,
+Acquire drive /dev/sr2, make medium ready for writing a new image,
fill the image with the files from hard disk directories /home/me/sounds
and /home/me/pictures.
.br
@@ -4260,16 +4363,16 @@
.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. Commands \-add and \-map have different
+parameter rules but finally the same effect: they put files into the image.
.SS
.B A dialog session doing about the same
.br
Some settings are 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 acquired by option \-dev rather than \-outdev in order to see
-the message about its current content. By option \-blank this content is
+The drive is acquired by command \-dev rather than \-outdev in order to see
+the message about its current content. By command \-blank this content is
made ready for being overwritten and the loaded ISO image is made empty.
.br
In order to be able to eject the medium, the session needs to be committed
@@ -4348,7 +4451,7 @@
.SS
.B Copy modified ISO image from one medium to another
Load image from input drive. Do the same manipulations as in the previous
-example. Aquire output drive and blank it. Burn the modified image as
+example. Acquire output drive and blank it. Burn the modified image as
first and only session to the output drive.
.br
$ xorriso \-indev /dev/sr2 \\
@@ -4379,7 +4482,7 @@
In order to avoid any weaknesses of the local character set, this command
pretends that it uses already the final target set UTF\-8.
Therefore strange file names may appear in messages, which
-will be made terminal\-safe by option \-backslash_codes.
+will be made terminal\-safe by command \-backslash_codes.
.br
$ xorriso \-in_charset ISO\-8859\-1 \-local_charset UTF\-8 \\
.br
@@ -4572,13 +4675,13 @@
This makes sense if the full backup leaves substantial remaining capacity
on media and if the expected changes are much smaller than the full backup.
To apply zisofs compression to those data files which get newly copied from
-the local filesystem, insert these options immediately before \-commit :
+the local filesystem, insert these commands immediately before \-commit :
.br
\-hardlinks perform_update \\
.br
\-find / \-type f \-pending_data \-exec set_filter \-\-zisofs \-\- \\
.br
-Options \-disk_dev_ino and \-for_backup depend on stable device and inode numbers
+Commands \-disk_dev_ino and \-for_backup depend on stable device and inode numbers
on disk. Without them, an update run may use \-md5 "on" to match recorded MD5
sums against the current file content on hard disk. This is usually much faster
than the default which compares both contents directly.
@@ -4590,13 +4693,13 @@
its option "session=".
.br
Multi\-session media and most overwriteable media written by \fBxorriso\fR
-can tell the sbsectors of their sessions by \fBxorriso\fR option \-toc.
-Used after \-commit the following option prints the matching mount command for
+can tell the sbsectors of their sessions by \fBxorriso\fR command \-toc.
+Used after \-commit the following command prints the matching mount command for
the newly written session (here for mount point /mnt):
.br
\-mount_cmd "indev" "auto" "auto" /mnt
.br
-Options \-mount_cmd and \-mount are also able to produce the mount commands for
+Commands \-mount_cmd and \-mount are also able to produce the mount commands for
older sessions in the table\-of\-content. E.g. as superuser:
.br
# osirrox \-mount /dev/sr0 "volid" '*2008_12_05*' /mnt
@@ -4687,7 +4790,7 @@
\fBxorrecord\fR starts \fBxorriso\fR with \-as cdrecord emulation.
.br
\fBosirrox\fR starts with \-osirrox "on:o_excl_off" which allows
-to copy files from ISO image to disk and to apply option \-mount to
+to copy files from ISO image to disk and to apply command \-mount to
one or more of the existing ISO sessions.
.SS
.B Startup files:
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorriso.h
^
|
@@ -15,7 +15,7 @@
dialog tool xorriso.
Alternatively to command interpreters it is possible to run all options of
- xorriso directly via the calls of the "Options API".
+ xorriso directly via the calls of the "Command API".
The "Problem Status and Message API" shall then be used to obtain the
text output of the options.
@@ -61,7 +61,7 @@
*/
#define Xorriso_header_version_majoR 1
#define Xorriso_header_version_minoR 2
-#define Xorriso_header_version_micrO 0
+#define Xorriso_header_version_micrO 2
/** If needed: Something like ".pl01" to indicate a bug fix. Normally empty.
@@ -172,7 +172,7 @@
Xorriso_prescan_args().
The other command interpreters may be used only after
Xorriso_startup_libraries(). The same restriction applies to the
- calls of the Options API further below.
+ calls of the Command API further below.
*/
@@ -191,7 +191,7 @@
/* Note: After library startup, you may run Command Interpreters or call
- functions from the Options API.
+ functions from the Command API.
Wenn all desired activities are done, you may check whether there are
uncommited changes pending, compute an exit value, destroy the XorrisO
@@ -236,6 +236,8 @@
get into effect before the libraries get initialized:
-abort_on , -report_about , -return_with , -list_delimiter ,
-scsi_log , -signal_handling
+ This is the only occasion where command -x has an effect:
+ -x
Some commands get executed only if they are the only command in argv:
-prog_help , -help
The following is recognized only if it is the first of all arguments:
@@ -298,9 +300,15 @@
/* Interpret argv as xorriso command options and their parameters.
(An alternative is to call functions of the options API directly and to
- perform own error status evaluation. See below: Options API.)
+ perform own error status evaluation. See below: Command API.)
After the first command and its parameters there may be more commands and
parameters. All parameters must be given in the same call as their command.
+ @since 1.2.2:
+ Commands may get arranged in a sequence that is most likely to make sense.
+ E.g. image loading settings before drive aquiration, then commands fori
+ adding files, then settings for writing, then writing.
+ This feature may be enabled by command "-x" in Xorriso_prescan_args()
+ or by parameter flag of this call.
@param xorriso The context object in which to perform the commands.
@param argc Number of arguments.
@param argv The arguments. argv[0] contains the program name.
@@ -308,10 +316,24 @@
@param idx Argument cursor. When this function is called, *idx must
be at least 1, argv[*idx] must be a command.
*idx will iterate over commands and parameters until this
- function aborts or until argc is reached.
+ function aborts, or until argc is reached, or only once if
+ flag bit2 is set.
@param flag bit0= reserved. Indicates recursion. Submit 0.
bit1= Indicates that these are the main() program start
- arguments
+ arguments. This enables their use with emulations
+ which where set with Xorriso_new(), or argument
+ arranging.
+ bit2= Only execute the one command argv[*idx] and advance
+ *idx to the next command if sucessful. Then return.
+ This prevents any argument arranging.
+ @since 1.2.2
+ bit3= With bit1 and not bit2:
+ Enable argument arranging as with
+ Xorriso_prescan_args() and command "-x".
+ @since 1.2.2
+ bit4= With bit1:
+ Surely disable argument arranging.
+ @since 1.2.2
@return <=0 = error
1 = success
2 = problem event ignored
@@ -567,21 +589,21 @@
-/* ---------------------------- Options API ------------------------ */
-/* See man 1 xorriso for explanation of the particular options */
+/* ---------------------------- Command API ------------------------ */
+/* See man 1 xorriso for explanation of the particular commands */
/*
- Before each call to an option function, there should happen:
+ Before each call to a command function, there should happen:
Xorriso_set_problem_status() with empty severity text.
- After each call to an option function, there should happen:
+ After each call to a command function, there should happen:
Xorriso_eval_problem_status()
One should follow its eventual advice to abort.
- Options with a varying number of arguments get then passed like
+ Commands with a varying number of arguments get then passed like
Xorriso_interpreter(). E.g.:
int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
- The option functions will begin to read the arguments at position *idx
+ The command functions will begin to read the arguments at position *idx
and will see the list end either at the next argv which contains the
-list_delimiter text or at argv[argc-1].
After the call, *idx will be the index of the first not yet interpreted
@@ -595,96 +617,101 @@
*/
-/* Option -abort_on */
+/* Command -abort_on */
int Xorriso_option_abort_on(struct XorrisO *xorriso, char *severity, int flag);
-/* Option -abstract_file */
+/* Command -abstract_file */
/* @since 0.6.0 */
int Xorriso_option_abstract_file(struct XorrisO *xorriso, char *name,
int flag);
-/* Option -acl "on"|"off" */
+/* Command -acl "on"|"off" */
int Xorriso_option_acl(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -add */
+/* Command -add */
/* @param flag bit0=do not report the added item
bit1=do not reset pacifier, no final pacifier message
*/
int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Option -add_plainly "on"|"off" */
+/* Command -add_plainly "on"|"off" */
int Xorriso_option_add_plainly(struct XorrisO *xorriso, char *mode,
int flag);
-/* Option -alter_date, alter_date_r */
+/* Command -alter_date, alter_date_r */
/* @param flag bit0=recursive (-alter_date_r)
*/
int Xorriso_option_alter_date(struct XorrisO *xorriso,
char *time_type, char *timestring,
int argc, char **argv, int *idx, int flag);
-/* Option -append_partition */
+/* Command -append_partition */
/* @since 0.6.4 */
int Xorriso_option_append_partition(struct XorrisO *xorriso, char *partno_text,
char *type_text, char *image_path, int flag);
-/* Option -application_id */
+/* Command -application_id */
int Xorriso_option_application_id(struct XorrisO *xorriso, char *name,
int flag);
-/* Option -as */
+/* Command -as */
/* @param flag bit0=do not report the added item
bit1=do not reset pacifier, no final pacifier message
*/
int Xorriso_option_as(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Option -assert_volid */
+/* Command -assert_volid */
int Xorriso_option_assert_volid(struct XorrisO *xorriso, char *pattern,
char *severity, int flag);
-/* Option -auto_charset "on"|"off" */
+/* Command -auto_charset "on"|"off" */
int Xorriso_option_auto_charset(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -backslash_codes */
+/* Command -backslash_codes */
int Xorriso_option_backslash_codes(struct XorrisO *xorriso, char *mode,
int flag);
-/* Option -ban_stdio_write */
+/* Command -ban_stdio_write */
int Xorriso_option_ban_stdio_write(struct XorrisO *xorriso, int flag);
-/* Option -biblio_file */
+/* Command -biblio_file */
/* @since 0.6.0 */
int Xorriso_option_biblio_file(struct XorrisO *xorriso, char *name, int flag);
-/* Option -blank and -format */
+/* Command -blank and -format */
/* @param flag bit0= format rather than blank
@return <=0 error , 1 success, 2 revoked by -reassure
*/
int Xorriso_option_blank(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -boot_image */
+/* Command -boot_image */
int Xorriso_option_boot_image(struct XorrisO *xorriso, char *form,
char *treatment, int flag);
-/* Option -calm_drive */
+/* Command -calm_drive */
int Xorriso_option_calm_drive(struct XorrisO *xorriso, char *which, int flag);
-/* Option -cd alias -cdi */
+/* Command -cd alias -cdi */
int Xorriso_option_cdi(struct XorrisO *xorriso, char *iso_rr_path, int flag);
-/* Option -cdx */
+/* Command -cdx */
int Xorriso_option_cdx(struct XorrisO *xorriso, char *disk_path, int flag);
-/* Option -charset */
+/* Command -changes_pending */
+/* @since 1.2.2 */
+int Xorriso_option_changes_pending(struct XorrisO *xorriso, char *state,
+ int flag);
+
+/* Command -charset */
/* @param flag bit0= set in_charset
bit1= set out_charset
*/
int Xorriso_option_charset(struct XorrisO *xorriso, char *name, int flag);
-/* Options -check_md5 and -check_md5_r
+/* Command -check_md5 and -check_md5_r
@param flag bit0= issue summary message
bit1= do not reset pacifier, no final pacifier message
bit2= do not issue pacifier messages at all
@@ -693,62 +720,62 @@
int Xorriso_option_check_md5(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag);
-/* Option -check_media */
+/* Command -check_media */
int Xorriso_option_check_media(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag);
-/* Option -check_media_defaults */
+/* Command -check_media_defaults */
int Xorriso_option_check_media_defaults(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag);
-/* Option -chgrp alias -chgrpi , chgrp_r alias chgrpi */
+/* Command -chgrp alias -chgrpi , chgrp_r alias chgrpi */
/* @param flag bit0=recursive (-chgrp_r)
*/
int Xorriso_option_chgrpi(struct XorrisO *xorriso, char *gid,
int argc, char **argv, int *idx, int flag);
-/* Option -chmod alias -chmodi , -chmod_r alias chmod_ri */
+/* Command -chmod alias -chmodi , -chmod_r alias chmod_ri */
/* @param flag bit0=recursive (-chmod_r)
*/
int Xorriso_option_chmodi(struct XorrisO *xorriso, char *mode,
int argc, char **argv, int *idx, int flag);
-/* Option -chown alias -chowni , chown_r alias chown_ri */
+/* Command -chown alias -chowni , chown_r alias chown_ri */
/* @param flag bit0=recursive (-chown_r)
*/
int Xorriso_option_chowni(struct XorrisO *xorriso, char *uid,
int argc, char **argv, int *idx, int flag);
-/* Option -clone */
+/* Command -clone */
/* @since 1.0.2 */
int Xorriso_option_clone(struct XorrisO *xorriso, char *origin, char *dest,
int flag);
-/* Option -close "on"|"off" */
+/* Command -close "on"|"off" */
int Xorriso_option_close(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -close_damaged */
+/* Command -close_damaged */
/* @since 1.1.0 */
int Xorriso_option_close_damaged(struct XorrisO *xorriso, char *mode,
int flag);
-/* Option -close_filter_list */
+/* Command -close_filter_list */
int Xorriso_option_close_filter_list(struct XorrisO *xorriso, int flag);
-/* Option -commit */
-/* @param flag bit0= leave indrive and outdrive aquired as they were,
- i.e. do not aquire outdrive as new in-out-drive
+/* Command -commit */
+/* @param flag bit0= leave indrive and outdrive acquired as they were,
+ i.e. do not acquire outdrive as new in-out-drive
bit1= do not perform eventual -reassure
@return <=0 error , 1 success, 2 revoked by -reassure
*/
int Xorriso_option_commit(struct XorrisO *xorriso, int flag);
-/* Option -commit_eject */
+/* Command -commit_eject */
/* @return <=0 error , 1 success, 2 revoked by -reassure
*/
int Xorriso_option_commit_eject(struct XorrisO *xorriso, char *which, int flag);
-/* Option -compare and -compare_r
+/* Command -compare and -compare_r
@param flag bit0= issue summary message
bit1= do not reset pacifier, no final pacifier message
bit2= do not issue pacifier messages at all
@@ -757,99 +784,104 @@
int Xorriso_option_compare(struct XorrisO *xorriso, char *disk_path,
char *iso_path, int flag);
-/* Option -compliance */
+/* Command -compliance */
int Xorriso_option_compliance(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -copyright_file */
+/* Command -copyright_file */
/* @since 0.6.0 */
int Xorriso_option_copyright_file(struct XorrisO *xorriso, char *name,
int flag);
-/* Option -cp_clone */
+/* Command -cp_clone */
/* @since 1.0.2 */
int Xorriso_option_cp_clone(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Option -cpr alias -cpri */
+/* Command -cpr alias -cpri */
int Xorriso_option_cpri( struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Options -cpx , -cpax, -cp_rx , -cp_rax */
+/* Command -cpx , -cpax, -cp_rx , -cp_rax */
/* @param flag bit0= recursive (-cp_rx, -cp_rax)
bit1= full property restore (-cpax, -cp_rax)
*/
int Xorriso_option_cpx(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Option -cut_out */
+/* Command -cut_out */
int Xorriso_option_cut_out(struct XorrisO *xorriso, char *disk_path,
char *start, char *count, char *iso_rr_path, int flag);
-/* Options -dev , -indev, -outdev */
+/* Command -dev , -indev, -outdev */
/* @param flag bit0=use as indev , bit1= use as outdev
@return <=0 error , 1 success, 2 revoked by -reassure
*/
int Xorriso_option_dev(struct XorrisO *xorriso, char *adr, int flag);
-/* Option -devices */
+/* Command -data_cache_size */
+/* @since 1.2.2 */
+int Xorriso_option_data_cache_size(struct XorrisO *xorriso, char *num_tiles,
+ char *tile_blocks, int flag);
+
+/* Command -devices */
/* @param flag bit0= perform -device_links rather than -devices
@return <=0 error , 1 success, 2 revoked by -reassure
*/
int Xorriso_option_devices(struct XorrisO *xorriso, int flag);
-/* Option -dialog "on"|"off" */
+/* Command -dialog "on"|"off" */
int Xorriso_option_dialog(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -disk_dev_ino "on"|"off" */
+/* Command -disk_dev_ino "on"|"off" */
int Xorriso_option_disk_dev_ino(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -disk_pattern "on"|"ls"|"off" */
+/* Command -disk_pattern "on"|"ls"|"off" */
int Xorriso_option_disk_pattern(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -displacement [-]offset */
+/* Command -displacement [-]offset */
/* @since 0.6.6 */
int Xorriso_option_displacement(struct XorrisO *xorriso, char *value,
int flag);
-/* Option -drive_class */
+/* Command -drive_class */
int Xorriso_option_drive_class(struct XorrisO *xorriso,
char *d_class, char *pattern, int flag);
-/* Option -dummy "on"|"off" */
+/* Command -dummy "on"|"off" */
int Xorriso_option_dummy(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -dvd_obs "default"|"32k"|"64k" */
+/* Command -dvd_obs "default"|"32k"|"64k" */
int Xorriso_option_dvd_obs(struct XorrisO *xorriso, char *obs, int flag);
-/* Option -early_stdio_test */
+/* Command -early_stdio_test */
/* @since 1.0.6 */
int Xorriso_option_early_stdio_test(struct XorrisO *xorriso, char *mode,
int flag);
-/* Option -eject */
+/* Command -eject */
/* @param flag bit0=do not report toc of eventually remaining drives
*/
int Xorriso_option_eject(struct XorrisO *xorriso, char *which, int flag);
-/* Options -end , and -rollback_end */
+/* Command -end , and -rollback_end */
/* @param flag bit0= discard pending changes
@return <=0 error , 1 success, 2 revoked by -reassure
*/
int Xorriso_option_end(struct XorrisO *xorriso, int flag);
-/* Option -errfile_log marked|plain path|-|"" */
+/* Command -errfile_log marked|plain path|-|"" */
int Xorriso_option_errfile_log(struct XorrisO *xorriso,
char *mode, char *path, int flag);
-/* Option -error_behavior */
+/* Command -error_behavior */
int Xorriso_option_error_behavior(struct XorrisO *xorriso,
char *occasion, char *behavior, int flag);
-/* Option -external_filter */
+/* Command -external_filter */
int Xorriso_option_external_filter(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag);
-/* Options -extract , -extract_single */
+/* Command -extract , -extract_single */
/* @param flag bit0=do not report the restored item
bit1=do not reset pacifier, no final pacifier message
bit5= -extract_single: do not insert directory tree
@@ -857,16 +889,16 @@
int Xorriso_option_extract(struct XorrisO *xorriso, char *disk_path,
char *iso_path, int flag);
-/* Option -extract_cut */
+/* Command -extract_cut */
int Xorriso_option_extract_cut(struct XorrisO *xorriso, char *iso_rr_path,
char *start, char *count, char *disk_path, int flag);
-/* Option -file_size_limit */
+/* Command -file_size_limit */
int Xorriso_option_file_size_limit(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag);
-/* Option -find alias -findi, and -findx */
+/* Command -find alias -findi, and -findx */
/* @param flag bit0= -findx rather than -findi
bit1= do not reset pacifier, no final pacifier message
do not reset find_compare_result
@@ -874,79 +906,85 @@
int Xorriso_option_find(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Option -follow */
+/* Command -follow */
int Xorriso_option_follow(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -fs */
+/* Command -fs */
int Xorriso_option_fs(struct XorrisO *xorriso, char *size, int flag);
-/* Option -getfacl alias -getfacli, -getfacl_r alias -getfacl_ri */
+/* Command -getfacl alias -getfacli, -getfacl_r alias -getfacl_ri */
/* @param flag bit0=recursive -getfacl_r
*/
int Xorriso_option_getfacli(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag);
-/* Option -gid */
+/* Command -gid */
int Xorriso_option_gid(struct XorrisO *xorriso, char *gid, int flag);
-/* Option -grow_blindly */
+/* Command -grow_blindly */
int Xorriso_option_grow_blindly(struct XorrisO *xorriso, char *msc2, int flag);
-/* Option -hardlinks "on"|"off" */
+/* Command -hardlinks "on"|"off" */
int Xorriso_option_hardlinks(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -help and part of -prog_help */
+/* Command -help and part of -prog_help */
int Xorriso_option_help(struct XorrisO *xorriso, int flag);
-/* Option -hide */
+/* Command -hide */
/* @since 0.6.0 */
int Xorriso_option_hide(struct XorrisO *xorriso, char *hide_state,
int argc, char **argv, int *idx, int flag);
-/* Option -history */
+/* Command -history */
int Xorriso_option_history(struct XorrisO *xorriso, char *line, int flag);
-/* Option -iso_rr_pattern "on"|"ls"|"off" */
+/* Command -iso_rr_pattern "on"|"ls"|"off" */
int Xorriso_option_iso_rr_pattern(struct XorrisO *xorriso, char *mode,
int flag);
-/* Option -jigdo aspect argument */
+/* Command -jigdo aspect argument */
/* @since 0.6.4 */
int Xorriso_option_jigdo(struct XorrisO *xorriso, char *aspect, char *arg,
int flag);
-/* Option -joliet "on"|"off" */
+/* Command -joliet "on"|"off" */
int Xorriso_option_joliet(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -list_delimiter */
+/* Command -list_arg_sorting */
+/* @since 1.2.2 */
+int Xorriso_option_list_arg_sorting(struct XorrisO *xorriso, int flag);
+
+/* Command -list_delimiter */
int Xorriso_option_list_delimiter(struct XorrisO *xorriso, char *text,
int flag);
-/* Option -list_extras */
+/* Command -list_extras */
+/* @since 1.1.6 */
int Xorriso_option_list_extras(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -list_formats */
+/* Command -list_formats */
int Xorriso_option_list_formats(struct XorrisO *xorriso, int flag);
-/* Option -list_profiles */
+/* Command -list_profiles */
int Xorriso_option_list_profiles(struct XorrisO *xorriso, char *which,
int flag);
-/* Option -list_speeds */
+/* Command -list_speeds */
+/* @since 1.1.2 */
int Xorriso_option_list_speeds(struct XorrisO *xorriso, int flag);
-/* Option -load session|track|sbsector value */
+/* Command -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
*/
int Xorriso_option_load(struct XorrisO *xorriso, char *adr_mode,
char *adr_value, int flag);
-/* Option -logfile */
+/* Command -logfile */
int Xorriso_option_logfile(struct XorrisO *xorriso, char *channel,
char *fileadr, int flag);
-/* Options -ls alias -lsi and -lsl alias -lsli
+/* Command -ls alias -lsi and -lsl alias -lsli
and -lsd alias -lsdi and -lsdl alias -lsdli
and -du alias -dui and -dus alias -dusi
@param flag bit0= long format (-lsl , -du)
@@ -957,7 +995,7 @@
int Xorriso_option_lsi(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Options -lsx, -lslx, -lsdx , -lsdlx , -dux , -dusx
+/* Command -lsx, -lslx, -lsdx , -lsdlx , -dux , -dusx
@param flag bit0= long format (-lslx , -dux)
bit1= do not expand patterns but use literally
bit2= du rather than ls
@@ -966,14 +1004,14 @@
int Xorriso_option_lsx(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Option -map */
+/* Command -map */
/* @param flag bit0=do not report the added item
bit1=do not reset pacifier, no final pacifier message
*/
int Xorriso_option_map(struct XorrisO *xorriso, char *disk_path,
char *iso_path, int flag);
-/* Options -map_l , -compare_l , -update_l , -extract_l */
+/* Command -map_l , -compare_l , -update_l , -extract_l */
/* @param flag bit8-11= mode 0= -map_l
1= -compare_l
2= -update_l
@@ -982,17 +1020,17 @@
int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Option -mark */
+/* Command -mark */
int Xorriso_option_mark(struct XorrisO *xorriso, char *mark, int flag);
-/* Option -md5 */
+/* Command -md5 */
int Xorriso_option_md5(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -mkdir alias -mkdiri */
+/* Command -mkdir alias -mkdiri */
int Xorriso_option_mkdiri(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Options -mount , -mount_cmd , -session_string */
+/* Command -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
@@ -1000,17 +1038,17 @@
int Xorriso_option_mount(struct XorrisO *xorriso, char *dev, char *adr_mode,
char *adr, char *cmd, int flag);
-/* Option -mount_opts option[:...] */
+/* Command -mount_opts option[:...] */
int Xorriso_option_mount_opts(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -mv alias -mvi */
+/* Command -mv alias -mvi */
int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Option -no_rc */
+/* Command -no_rc */
int Xorriso_option_no_rc(struct XorrisO *xorriso, int flag);
-/* Option -not_leaf , -as mkisofs -hide without '/' */
+/* Command -not_leaf , -as mkisofs -hide without '/' */
/* @param flag bit0= add to iso_rr hide list rather than to disk exclusions
@since 0.6.0
bit1= add to joliet hide list rather than disk exclusions
@@ -1018,14 +1056,14 @@
*/
int Xorriso_option_not_leaf(struct XorrisO *xorriso, char *pattern, int flag);
-/* Option -not_list , -quoted_not_list */
+/* Command -not_list , -quoted_not_list */
/* @param flag bit0= -quoted_not_list */
int Xorriso_option_not_list(struct XorrisO *xorriso, char *adr, int flag);
-/* Option -not_mgt */
+/* Command -not_mgt */
int Xorriso_option_not_mgt(struct XorrisO *xorriso, char *setting, int flag);
-/* Option -not_paths , -as mkisofs -hide with '/' */
+/* Command -not_paths , -as mkisofs -hide with '/' */
/* @param flag bit0= add to iso_rr hide list rather than to disk exclusions
@since 0.6.0
bit1= add to joliet hide list rather than disk exclusions
@@ -1035,45 +1073,45 @@
int Xorriso_option_not_paths(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Option -options_from_file */
+/* Command -options_from_file */
/* @return <=0 error , 1 = success , 3 = request to end program run */
int Xorriso_option_options_from_file(struct XorrisO *xorriso, char *adr,
int flag);
-/* Option -osirrox "on"|"off" */
+/* Command -osirrox "on"|"off" */
int Xorriso_option_osirrox(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -overwrite "on"|"nondir"|"off" */
+/* Command -overwrite "on"|"nondir"|"off" */
int Xorriso_option_overwrite(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -pacifier */
+/* Command -pacifier */
int Xorriso_option_pacifier(struct XorrisO *xorriso, char *style, int flag);
-/* Option -padding */
+/* Command -padding */
int Xorriso_option_padding(struct XorrisO *xorriso, char *size, int flag);
-/* Option -page */
+/* Command -page */
int Xorriso_option_page(struct XorrisO *xorriso, int len, int width, int flag);
-/* Option -paste_in */
+/* Command -paste_in */
int Xorriso_option_paste_in(struct XorrisO *xorriso, char *iso_rr_path,
char *disk_path, char *start, char *count, int flag);
-/* Option -path_list , -quoted_path_list */
+/* Command -path_list , -quoted_path_list */
/* @param flag bit0= -quoted_path_list */
int Xorriso_option_path_list(struct XorrisO *xorriso, char *adr, int flag);
-/* Option -pathspecs */
+/* Command -pathspecs */
int Xorriso_option_pathspecs(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -pkt_output */
+/* Command -pkt_output */
int Xorriso_option_pkt_output(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -preparer_id */
+/* Command -preparer_id */
/* @since 0.6.2 */
int Xorriso_option_preparer_id(struct XorrisO *xorriso, char *name, int flag);
-/* Options -print, -print_info , -print_mark */
+/* Command -print, -print_info , -print_mark */
/* @param flag bit0-1= output channel:
0= result channel
1= info channel @since 1.0.6
@@ -1081,147 +1119,152 @@
*/
int Xorriso_option_print(struct XorrisO *xorriso, char *text, int flag);
-/* Option -print_size
+/* Command -print_size
@param flag bit0= report in mkisofs compatible form on real stdout
*/
int Xorriso_option_print_size(struct XorrisO *xorriso, int flag);
-/* Option -prog */
+/* Command -prog */
int Xorriso_option_prog(struct XorrisO *xorriso, char *name, int flag);
-/* Option -prompt */
+/* Command -prompt */
int Xorriso_option_prompt(struct XorrisO *xorriso, char *text, int flag);
-/* Option -prog_help */
+/* Command -prog_help */
int Xorriso_option_prog_help(struct XorrisO *xorriso, char *name, int flag);
-/* Option -publisher */
+/* Command -publisher */
int Xorriso_option_publisher(struct XorrisO *xorriso, char *name, int flag);
-/* Option -pvd_info */
+/* Command -pvd_info */
int Xorriso_option_pvd_info(struct XorrisO *xorriso, int flag);
-/* Option -pwd alias -pwdi */
+/* Command -pwd alias -pwdi */
int Xorriso_option_pwdi(struct XorrisO *xorriso, int flag);
-/* Option -pwdx */
+/* Command -pwdx */
int Xorriso_option_pwdx(struct XorrisO *xorriso, int flag);
-/* Option -read_mkisofsrc */
+/* Command -read_mkisofsrc */
/* @since 0.6.0 */
int Xorriso_option_read_mkisofsrc(struct XorrisO *xorriso, int flag);
-/* Option -reassure "on"|"tree"|"off" */
+/* Command -reassure "on"|"tree"|"off" */
int Xorriso_option_reassure(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -report_about */
+/* Command -report_about */
int Xorriso_option_report_about(struct XorrisO *xorriso, char *severity,
int flag);
-/* Option -return_with */
+/* Command -return_with */
int Xorriso_option_return_with(struct XorrisO *xorriso, char *severity,
int exit_value, int flag);
-/* Options -rm alias -rmi , -rm_r alias -rm_ri , -rmdir alias -rmdiri */
+/* Command -rm alias -rmi , -rm_r alias -rm_ri , -rmdir alias -rmdiri */
/* @param flag bit0=recursive , bit2= remove empty directory: rmdir */
int Xorriso_option_rmi(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
-/* Option -rollback */
+/* Command -rollback */
/* @param flag bit0= do not -reassure
@return <=0 error , 1 success, 2 revoked by -reassure
*/
int Xorriso_option_rollback(struct XorrisO *xorriso, int flag);
-/* Option -rom_toc_scan */
-int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode,
- int flag);
+/* Command -rom_toc_scan */
+int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode, int flag);
+
+/* Command -rr_reloc_dir */
+/* @since 1.2.2 */
+int Xorriso_option_rr_reloc_dir(struct XorrisO *xorriso, char *name, int flag);
-/* Option -scdbackup_tag */
+/* Command -scdbackup_tag */
int Xorriso_option_scdbackup_tag(struct XorrisO *xorriso, char *list_path,
char *record_name, int flag);
-/* Option -scsi_log */
+/* Command -scsi_log */
int Xorriso_option_scsi_log(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -session_log */
+/* Command -session_log */
int Xorriso_option_session_log(struct XorrisO *xorriso, char *path, int flag);
-/* Option -setfacl_list alias -setfacl_listi */
+/* Command -setfacl_list alias -setfacl_listi */
int Xorriso_option_setfacl_listi(struct XorrisO *xorriso, char *disk_path,
int flag);
-/* Option -setfacl alias -setfacli , -setfacl_r alias -setfacl_ri */
+/* Command -setfacl alias -setfacli , -setfacl_r alias -setfacl_ri */
/* @param flag bit0=recursive -setfacl_r
*/
int Xorriso_option_setfacli(struct XorrisO *xorriso, char *acl_text,
int argc, char **argv, int *idx, int flag);
-/* Options -setfattr alias -setfattri, -setfattr_r alias -setfattr_ri */
+/* Command -setfattr alias -setfattri, -setfattr_r alias -setfattr_ri */
/* @param flag bit0=recursive -setfattr_r
*/
int Xorriso_option_setfattri(struct XorrisO *xorriso, char *name, char *value,
int argc, char **argv, int *idx, int flag);
-/* Option -setfattr_list alias -setfattr_listi */
+/* Command -setfattr_list alias -setfattr_listi */
int Xorriso_option_setfattr_listi(struct XorrisO *xorriso, char *path,
int flag);
-/* Options -set_filter , -set_filter_r */
+/* Command -set_filter , -set_filter_r */
/* @param flag bit0=recursive -set_filter_r
*/
int Xorriso_option_set_filter(struct XorrisO *xorriso, char *name,
int argc, char **argv, int *idx, int flag);
-/* Option -signal_handling */
+/* Command -signal_handling */
/* @param flag bit0= do not yet install the eventual handler
+ @since 1.1.0
*/
int Xorriso_option_signal_handling(struct XorrisO *xorriso, char *mode,
int flag);
-/* Option -sleep */
+/* Command -sleep */
+/* @since 1.1.8 */
int Xorriso_option_sleep(struct XorrisO *xorriso, char *duration, int flag);
-/* Option -speed */
+/* Command -speed */
int Xorriso_option_speed(struct XorrisO *xorriso, char *speed, int flag);
-/* Option -split_size */
+/* Command -split_size */
int Xorriso_option_split_size(struct XorrisO *xorriso, char *s, int flag);
-/* Option -status */
+/* Command -status */
int Xorriso_option_status(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -status_history_max */
+/* Command -status_history_max */
int Xorriso_option_status_history_max(struct XorrisO *xorriso, int num1,
int flag);
-/* Option -stdio_sync "on"|"off"|size */
+/* Command -stdio_sync "on"|"off"|size */
int Xorriso_option_stdio_sync(struct XorrisO *xorriso, char *rythm, int flag);
-/* Option -stream_recording */
+/* Command -stream_recording */
int Xorriso_option_stream_recording(struct XorrisO *xorriso, char *mode,
int flag);
-/* Option -system_id */
+/* Command -system_id */
int Xorriso_option_system_id(struct XorrisO *xorriso, char *name, int flag);
-/* Option -tell_media_space */
+/* Command -tell_media_space */
int Xorriso_option_tell_media_space(struct XorrisO *xorriso, int flag);
-/* Option -temp_mem_limit */
+/* Command -temp_mem_limit */
int Xorriso_option_temp_mem_limit(struct XorrisO *xorriso, char *size,
int flag);
-/* Option -toc */
+/* Command -toc */
int Xorriso_option_toc(struct XorrisO *xorriso, int flag);
-/* Option -uid */
+/* Command -uid */
int Xorriso_option_uid(struct XorrisO *xorriso, char *uid, int flag);
-/* Option -unregister_filter */
+/* Command -unregister_filter */
int Xorriso_option_unregister_filter(struct XorrisO *xorriso, char *name,
int flag);
-/* Options -update and -update_r
+/* Command -update and -update_r
@param flag bit0= issue summary message
bit1= do not reset pacifier, no final pacifier message
bit2= do not issue pacifier messages at all
@@ -1230,28 +1273,33 @@
int Xorriso_option_update(struct XorrisO *xorriso, char *disk_path,
char *iso_path, int flag);
-/* Option -use_readline */
+/* Command -use_readline */
int Xorriso_option_use_readline(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -version */
+/* Command -version */
int Xorriso_option_version(struct XorrisO *xorriso, int flag);
-/* Option -volid */
+/* Command -volid */
/* @param flag bit0= do not warn of problematic volid
*/
int Xorriso_option_volid(struct XorrisO *xorriso, char *volid, int flag);
-/* Option -volset_id */
+/* Command -volset_id */
int Xorriso_option_volset_id(struct XorrisO *xorriso, char *name, int flag);
-/* Option -volume_date */
+/* Command -volume_date */
int Xorriso_option_volume_date(struct XorrisO *xorriso,
char *time_type, char *timestring, int flag);
-/* Option -xattr "on"|"off" */
+/* There is no Xorriso_option_x() because -x has an effect only in
+ Xorriso_prescan_args(). Use the flag bits of Xorriso_interpreter() if
+ you want to impose command sorting on your own.
+*/
+
+/* Command -xattr "on"|"off" */
int Xorriso_option_xattr(struct XorrisO *xorriso, char *mode, int flag);
-/* Option -zisofs */
+/* Command -zisofs */
int Xorriso_option_zisofs(struct XorrisO *xorriso, char *mode, int flag);
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorriso.info
^
|
@@ -15,7 +15,7 @@

File: xorriso.info, Node: Top, Next: Overview, Up: (dir)
-GNU xorriso 1.2.0
+GNU xorriso 1.2.2
*****************
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem
@@ -87,9 +87,9 @@
2 Session model
***************
-Unlike other filesystems, ISO 9660 is not intended for read-write
-operation but rather for being generated in a single sweep and being
-written to media as a *session*.
+Unlike other filesystems, *ISO 9660* (aka *ECMA-119*) is not intended
+for read-write operation but rather for being generated in a single
+sweep and being written to media as a *session*.
The data content of the session is called filesystem *image*.
The written image in its session can then be mounted by the
@@ -149,11 +149,11 @@
There are two families of media in the MMC standard:
*Multi-session media* are CD-R, CD-RW, DVD-R, DVD+R, DVD+R/DL, BD-R, and
unformatted DVD-RW. These media provide a table of content which
-describes their existing sessions. See option *-toc*.
+describes their existing sessions. See command *-toc*.
Similar to multi-session media are DVD-R DL and minimally blanked
DVD-RW. They allow only a single session of which the size must be
-known in advance. `xorriso' will write onto them only if option -close
-is set to "on".
+known in advance. `xorriso' will write onto them only if command
+-close is set to "on".
*Overwriteable media* are DVD-RAM, DVD+RW, BD-RE, and formatted DVD-RW.
They allow random write access but do not provide information about
their session history. If they contain one or more ISO 9660 sessions
@@ -181,18 +181,18 @@
*Appendable* media accept further sessions. Either they are MMC
multi-session media in appendable state, or they are overwriteable media
which contain an ISO image suitable for `xorriso'.
-Appendable is the state after writing a session with option -close off.
+Appendable is the state after writing a session with command -close off.
*Closed* media cannot be written. They may contain an ISO image suitable
for `xorriso'.
Closed is the state of DVD-ROM media and of multi-session media which
-were written with option -close on. If the drive is read-only hardware
+were written with command -close on. If the drive is read-only hardware
then it will probably show any media as closed CD-ROM resp. DVD-ROM.
Overwriteable media assume this state in such read-only drives or if
they contain unrecognizable data in the first 32 data blocks.
Read-only drives may or may not show session histories of multi-session
media. Often only the first and the last session are visible. Sometimes
-not even that. Option -rom_toc_scan might or might not help in such
+not even that. Command -rom_toc_scan might or might not help in such
cases.

@@ -203,8 +203,8 @@
A new empty ISO image gets *created* if there is no input drive with a
valid ISO 9660 image when the first time an output drive is defined.
-This is achieved by option -dev on blank media or by option -outdev on
-media in any state.
+This is achieved by command -dev on blank media or by command -outdev
+on media in any state.
The new empty image can be populated with directories and files.
Before it can be written, the medium in the output drive must get into
blank state if it was not blank already.
@@ -220,7 +220,7 @@
files from previous sessions but they still exist on the medium and
with many types of optical media it is quite easy to recover them by
mounting older sessions.
-Growing is achieved by option -dev.
+Growing is achieved by command -dev.
The write method of *modifying* produces compact filesystem images
with no outdated files or directory trees. Modifying can write its
@@ -232,10 +232,10 @@
So for this method one needs either two optical drives or has to work
with filesystem objects as source and/or target medium.
Modifying takes place if input drive and output drive are not the same
-and if option -grow_blindly is set to its default "off". This is
-achieved by options -indev and -outdev.
+and if command -grow_blindly is set to its default "off". This is
+achieved by commands -indev and -outdev.
- If option -grow_blindly is set to a non-negative number and if
+ If command -grow_blindly is set to a non-negative number and if
-indev and -outdev are both set to different drives, then *blind
growing* is performed. It produces an add-on session which is ready for
being written to the given block address. This is the usage model of
@@ -312,10 +312,10 @@
file or device by using its path with the "stdio:" prefix. By default
any address in the /dev tree without prefix "stdio:" will work only if
it leads to a MMC drive.
-One may use option *-ban_stdio_write* to surely prevent this risk and
+One may use command *-ban_stdio_write* to surely prevent this risk and
to allow only MMC drives.
One may prepend "mmc:" to a path to surely disallow any automatic
-"stdio:". By option -drive_class one may ban certain paths or allow
+"stdio:". By command -drive_class one may ban certain paths or allow
access without prefix "stdio:" to other paths.

@@ -343,9 +343,9 @@
El Torito.
Most bootable GNU/Linux CDs are equipped with ISOLINUX or GRUB boot
images. `xorriso' is able to create or maintain an El Torito object
-which makes such an image bootable. For details see option -boot_image.
+which makes such an image bootable. For details see command -boot_image.
It is possible to make ISO images bootable from USB stick or other
-hard-disk-like media by -boot_image argument system_area= . This
+hard-disk-like media by -boot_image parameter system_area= . This
installs a Master Boot Record which may get adjusted according to the
needs of GRUB resp. ISOLINUX. An *MBR* contains boot code and a
partition table. It does not hamper CDROM booting. The new MBR of a
@@ -359,7 +359,7 @@
*ACL* are an advanced way of controlling access permissions to file
objects. Neither ISO 9660 nor Rock Ridge specify a way to record ACLs.
So libisofs has introduced a standard conformant extension named AAIP
-for that purpose. It uses this extension if enabled by option *-acl*.
+for that purpose. It uses this extension if enabled by command *-acl*.
AAIP enhanced images are supposed to be mountable normally, but one
cannot expect that the mounted filesystem will show and respect the
ACLs. For now, only `xorriso' is able to retrieve those ACLs. It can
@@ -378,7 +378,7 @@
the user namespace. I.e. those which begin with "user.", like "user.x"
or "user.whatever". Name has to be a 0 terminated string. Value may be
any array of bytes which does not exceed the size of 4095 bytes. xattr
-processing happens only if it is enabled by option *-xattr*.
+processing happens only if it is enabled by command *-xattr*.
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.
@@ -392,63 +392,68 @@
********************
Commands are either actions which happen immediately or settings which
-influence following actions. So their sequence does matter.
+influence following actions. So their sequence does matter, unless they
+are given as program arguments and command *-x* is among them.
Commands consist of a command word, followed by zero or more parameter
words. If the list of parameter words is of variable length (indicated
-by "[...]" or "[***]") then it has to be terminated by either the *list
-delimiter*, or the end of argument list, or an end of an input line.
-
- At program start the list delimiter is the word "--". This may be
-changed by option -list_delimiter in order to allow "--" as argument in
-a list of variable length. It is advised to reset the delimiter to
-"--" immediately afterwards.
+by "[...]" or "[***]") then it must be terminated by either the *list
+delimiter*, occur at the end of the argument list, or occur at the end
+of an input line.
+
+ At program start the list delimiter is the string "--". This may be
+changed with the -list_delimiter command in order to allow "--" as
+parameter in a variable length list. However, it is advised to reset
+the delimiter to "--" immediately afterwards.
For brevity the list delimiter is referred as "--" throughout this text.
-The list delimiter is silently tolerated if it appears after the
+The list delimiter is silently ignored if it appears after the
parameters of a command with a fixed list length. It is handled as
-normal text if it appears among the arguments of such a command.
+normal text if it appears among the parameters of such a command.
*Pattern expansion* converts a list of pattern words into a list of
-existing file addresses. Unmatched pattern words appear themselves in
-that result list, though.
+existing file addresses. Unmatched pattern words will appear unaltered
+in that result list.
Pattern matching supports the usual shell parser wildcards '*' '?'
-'[xyz]' and respects '/' as separator which may only be matched
-literally.
-It is a property of some particular commands and not a general feature.
-It gets controlled by commands -iso_rr_pattern and -disk_pattern.
-Commands which may use pattern expansion all have variable argument
-lists which are marked in this man page by "[***]" rather than "[...]".
+'[xyz]' and respects '/' as the path separator, which may only be
+matched literally.
+Pattern expansion is a property of some particular commands and not a
+general feature. It is controlled by commands -iso_rr_pattern and
+-disk_pattern. Commands which use pattern expansion all have variable
+parameter lists which are specified in this text by "[***]" rather than
+"[...]".
Some other commands perform pattern matching unconditionally.
- Command and parameter words are either read from program arguments,
-where one argument is one word, or from quoted input lines where words
-are recognized similar to the quotation rules of a shell parser.
-`xorriso' is not a shell, although it might appear so on first glimpse.
+ Command and parameter words are either read from the program
+arguments, where one argument is one word, or from quoted input lines
+where words are recognized similar to the quotation rules of a shell
+parser.
+`xorriso' is not a shell, although it might appear so at first glimpse.
Be aware that the interaction of quotation marks and pattern symbols
like "*" differs from the usual shell parsers. In `xorriso', a
quotation mark does not make a pattern symbol literal.
- *Quoted input* converts whitespace separated text pieces into words.
-The double quotation mark " and the single quotation mark ' can be used
-to enclose whitespace and make it part of words (e.g. of file names).
-Each mark type can enclose the marks of the other type. A trailing
-backslash \ outside quotations or an open quotation cause the next
-input line to be appended.
-Quoted input accepts any ASCII character except NUL (0) as content of
-quotes. Nevertheless it can be cumbersome for the user to produce
-those characters at all. Therefore quoted input and program arguments
-allow optional *Backslash Interpretation* which can represent all ASCII
-characters except NUL (0) by backslash codes as in $'...' of bash.
-It is not enabled by default. See option -backslash_codes.
+ *Quoted input* converts whitespace-separated text into words. The
+double quotation mark " and the single quotation mark ' can be used to
+enclose whitespace and make it part of words (e.g. of file names). Each
+mark type can enclose the marks of the other type. A trailing backslash
+\ outside quotations or an open quotation cause the next input line to
+be appended.
+Quoted input accepts any 8-bit character except NUL (0) as the content
+of the quotes. Nevertheless it can be cumbersome for the user to
+produce those characters directly. Therefore quoted input and program
+arguments allow optional *Backslash Interpretation* which can represent
+all 8-bit characters except NUL (0) via backslash codes as in $'...' of
+bash.
+This is not enabled by default. See command -backslash_codes.
When the program starts then it first looks for argument -no_rc. If
this is not present then it looks for its startup files and reads their
content as command input lines. Then it interprets the program
arguments as commands and parameters. Finally it enters dialog mode if
-command -dialog "on" was executed up to then.
+command -dialog "on" has been executed by this point.
The program ends either by command -end, or by the end of program
-arguments if not dialog was enabled up to that moment, or by a problem
-event which triggers the threshold of command -abort_on.
+arguments if dialog mode has not been enabled at that point, or by a
+problem event which triggers the threshold of command -abort_on.

File: xorriso.info, Node: Dialog, Next: Options, Prev: Processing, Up: Top
@@ -460,30 +465,30 @@
performs them as commands with their parameters. It provides assisting
services to make dialog more comfortable.
- Readline is an enhancement for the input line. You may know it
-already from the bash shell. Whether it is available in `xorriso'
-depends on the availability of package readline-dev at the time when
-`xorriso' was built from its sourcecode.
-It allows to move the cursor over the text in the line by help of the
-Leftward and the Rightward arrow key. Text may be inserted at the
-cursor position. The Delete key removes the character under the cursor.
-Upward and Downward arrow keys navigate through the history of previous
-input lines.
+ Readline is an enhancement for the input line. You may already know
+it from the bash shell. Whether it is available in `xorriso' depends on
+the availability of package readline-dev at the time when `xorriso' was
+built from its sourcecode.
+Readline allows to move the cursor over the text in the line by help of
+the Left and the Right arrow keys. Text may be inserted at the cursor
+position. The Delete key removes the character under the cursor. Up and
+Down arrow keys navigate through the history of previous input lines.
See info readline for more info about libreadline.
- Option -page activates a built-in result text pager which may be
-convenient in dialog. After an action has put out the given number of
-terminal lines, the pager prompts the user for a line of input.
-An empty line lets `xorriso' resume work until the next page is put out.
+ Command -page activates a built-in result text pager which may be
+convenient in dialog mode. After an action has output the given number
+of terminal lines, the pager prompts the user for a line of input.
+An empty line lets `xorriso' resume work until the next page is output.
The single character "@" disables paging for the current action.
-"@@@", "x", "q", "X", or "Q" urge the current action to abort and
+"@@@", "x", "q", "X", or "Q" request that the current action aborts and
suppress further result output.
-Any other line will be interpreted as new dialog line. The current
-action is urged to abort. Afterwards, the input line is executed.
+Any other line input will be interpreted as new dialog line. The
+current action is requested to abort. Afterwards, the input line is
+executed.
Some actions apply paging to their info output, too.
-The urge to abort may or may not be obeyed by the current action. All
-actions try to abort as soon as possible.
+The request to abort may or may not be obeyed by the current action.
+All actions try to abort as soon as possible.

File: xorriso.info, Node: Options, Next: Examples, Prev: Dialog, Up: Top
@@ -492,14 +497,15 @@
*********
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.
+not mandatory for the command to be recognized. Nevertheless within
+command -as the dashes of the emulated commands are mandatory.
Normally any number of leading dashes is ignored with command words and
inner dashes are interpreted as underscores.
* Menu:
-* AqDrive:: Aquiring source and target drive
+* ArgSort:: Execution order of program arguments
+* AqDrive:: Acquiring source and target drive
* Loading:: Influencing the behavior of image loading
* Insert:: Inserting files into ISO image
* SetInsert:: Settings for file insertion
@@ -516,21 +522,54 @@
* Inquiry:: Drive and media related inquiry actions
* Navigate:: Navigation in ISO image and disk filesystem
* Verify:: Evaluation of readability and recovery
-* Restore:: osirrox ISO-to-disk restore options
+* Restore:: osirrox ISO-to-disk restore commands
* Emulation:: Command compatibility emulations (cdrtools)
* Scripting:: Scripting, dialog and program control features
* Frontend:: Support for frontend programs via stdin and stdout

-File: xorriso.info, Node: AqDrive, Next: Loading, Prev: Options, Up: Options
+File: xorriso.info, Node: ArgSort, Next: AqDrive, Prev: Options, Up: Options
+
+9.1 Execution order of program arguments
+========================================
+
+By default the program arguments of a xorriso run are interpreted as a
+sequence of commands which get performed exactly in the given order.
+This requires the user to write commands for desired settings before the
+commands which shall be influenced by those settings.
+Many other programs support program arguments in an arbitrary ordering
+and perform settings and actions in a sequence at their own discretion.
+xorriso provides an option to enable such a behavior at the cost of
+loss of expressivity.
+
+-x
+ Enable automatic sorting of program arguments into a sequence that
+ (most likely) is sensible. This command may be given at any
+ position among the commands which are handed over as program
+ arguments.
+ Note: It works only if it is given as program argument and with a
+ single dash (i.e. "-x"). It will not work in startup files, nor
+ with -options_from_file, nor in dialog mode, nor as "x" and
+ finally not as "--x". It affects only the commands given as
+ program arguments.
+
+-list_arg_sorting
+ List all xorriso commands in the order which applies if command -x
+ is in effect.
+ This list may also be helpful without -x for a user who ponders
+ over the sequence in which to put commands. Deviations from the
+ listed sorting order may well make sense, though.
+
+
+File: xorriso.info, Node: AqDrive, Next: Loading, Prev: ArgSort, Up: Options
-9.1 Aquiring source and target drive
-====================================
+9.2 Acquiring source and target drive
+=====================================
-The effect of aquiring a drive may depend on several options in the
+The effect of acquiring a drive may depend on several commands in the
next paragraph "Influencing the behavior of image loading". If
desired, their enabling commands have to be performed before the
-commands which aquire the drive.
+commands which acquire the drive.
-dev address
Set input and output drive to the same address and load an ISO
@@ -542,7 +581,7 @@
Special address string "-" means standard output, to which several
restrictions apply. See above paragraph "Libburn drives".
An empty address string "" gives up the current device without
- aquiring a new one.
+ acquiring a new one.
-indev address
Set input drive and load an ISO image if present. If the new
@@ -563,7 +602,7 @@
Special address string "-" means standard output, to which several
restrictions apply. See above paragraph "Libburn drives".
An empty address string "" gives up the current output drive
- without aquiring a new one. No writing is possible without an
+ without acquiring a new one. No writing is possible without an
output drive.
-grow_blindly "off"|predicted_nwa
@@ -584,16 +623,17 @@

File: xorriso.info, Node: Loading, Next: Insert, Prev: AqDrive, Up: Options
-9.2 Influencing the behavior of image loading
+9.3 Influencing the behavior of image loading
=============================================
-The following options should normally be performed before loading an
-image by aquiring an input drive. In rare cases it is desirable to
+The following commands should normally be performed before loading an
+image by acquiring an input drive. In rare cases it is desirable to
activate them only after image loading.
-load entity id
Load a particular (possibly outdated) ISO session from -dev or
- -indev. Usually all available sessions are shown with option -toc.
+ -indev. Usually all available sessions are shown with command
+ -toc.
entity depicts the kind of addressing. id depicts the particular
address. The following entities are defined:
"auto" with any id addresses the last session in -toc. This is the
@@ -621,7 +661,7 @@
images and reading of their files. The multi-session method of
growing is not allowed as long as -displacement is non-zero. I.e.
-indev and -outdev must be different. The displacement gets reset
- to 0 before the drive gets re-aquired after writing.
+ to 0 before the drive gets re-acquired after writing.
Examples:
If a track of a CD starts at block 123456 and gets copied to a
disk file where it begins at block 0, then this copy can be loaded
@@ -668,7 +708,7 @@
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.
- This option does not hamper the creation of an empty image from
+ This command does not hamper the creation of an empty image from
blank input media and does not discard an already loaded image.
-in_charset character_set_name
@@ -727,13 +767,13 @@
will obtain ACLs from disk file objects, store ACLs in the ISO
image using the libisofs specific AAIP format, load AAIP data from
ISO images, test ACL during file comparison, and restore ACLs to
- disk files when extracting them from ISO images. See also options
- -getfacl, -setfacl.
+ disk files when extracting them from ISO images. See also
+ commands -getfacl, -setfacl.
-xattr "on"|"off"
Enable or disable processing of xattr attributes in user namespace.
If enabled, then `xorriso' will handle xattr similar to ACL. See
- also options -getfattr, -setfattr and above paragraph about xattr.
+ also commands -getfattr, -setfattr and above paragraph about xattr.
-md5 "on"|"all"|"off"|"load_check_off"
Enable or disable processing of MD5 checksums for the overall
@@ -741,7 +781,7 @@
checksum tags get loaded only if the tags of superblock and
directory tree match properly. The MD5 checksums of data files and
whole session get loaded from the image if there are any.
- With options -compare and -update the recorded MD5 of a file will
+ With commands -compare and -update the recorded MD5 of a file will
be used to avoid content reading from the image. Only the disk file
content will be read and compared with that MD5. This can save
much time if -disk_dev_ino "on" is not suitable.
@@ -761,7 +801,7 @@
checksum tag of the first session. Therefore load_check_off is in
effect when `xorriso' -as mkisofs option -M is performed.
The test can be re-enabled by mode "load_check_on".
- Checksums can be exploited via options -check_md5, -check_md5_r,
+ Checksums can be exploited via commands -check_md5, -check_md5_r,
via find actions get_md5, check_md5, and via -check_media.
-for_backup
@@ -813,7 +853,7 @@
Setting "off:emul_off" disables 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 medium.
+ the -*dev command which acquires drive and medium.
-calm_drive "in"|"out"|"all"|"revoke"|"on"|"off"
Reduce drive noise until it is actually used again. Some drives
@@ -844,10 +884,25 @@
non-empty write-only files are regarded as appendable rather than
blank.
+-data_cache_size number_of_tiles blocks_per_tile
+ Set the size and granularity of the data cache which is used when
+ ISO images are loaded and when file content is read from ISO
+ images. The cache consists of several tiles, which each consists
+ of several blocks. A larger cache reduces the need for tiles being
+ read multiple times. Larger tiles might additionally improve the
+ data throughput from the drive, but can be wasteful if the data
+ are scattered over the medium.
+ Larger cache sizes help best with image loading from MMC drives.
+ They are an inferior alternative to -osirrox option "sort_lba_on".
+ blocks_per_tile must be a power of 2. E.g. 16, 32, or 64. The
+ overall cache size must not exceed 1 GiB. The default values can
+ be restored by parameter "default" instead of one or both of the
+ numbers. Currently the default is 32 tiles of 32 blocks = 2 MiB.
+

File: xorriso.info, Node: Insert, Next: SetInsert, Prev: Loading, Up: Options
-9.3 Inserting files into ISO image
+9.4 Inserting files into ISO image
==================================
The following commands expect file addresses of two kinds: *disk_path*
@@ -875,7 +930,7 @@
filesystem.
-disk_pattern "on"|"ls"|"off"
- Set the pattern expansion mode for the disk_path arguments of
+ Set the pattern expansion mode for the disk_path parameters of
several commands which support this feature.
Setting "off" disables this feature for all commands which are
marked in this man page by "disk_path [***]" or "disk_pattern
@@ -938,7 +993,7 @@
not inserted.
-map_l disk_prefix iso_rr_prefix disk_path [***]
- Perform -map with each of the disk_path arguments. iso_rr_path
+ Perform -map with each of the disk_path parameters. iso_rr_path
will be composed from disk_path by replacing disk_prefix by
iso_rr_prefix.
@@ -947,7 +1002,7 @@
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
+ made. Commands -disk_dev_ino or -md5 may accelerate comparison if
they were already in effect when the loaded session was recorded.
If disk_path is a directory and iso_rr_path does not exist yet,
then the whole subtree will be inserted. Else only directory
@@ -958,14 +1013,14 @@
both addresses get compared whether they have counterparts below
the other address and whether both counterparts match. If there is
a mismatch then the necessary update manipulation is done.
- Note that the comparison result may depend on option -follow. Its
+ Note that the comparison result may depend on command -follow. Its
setting should always be the same as with the first adding of
disk_path as iso_rr_path.
If iso_rr_path does not exist yet, then it gets added. If
disk_path does not exist, then iso_rr_path gets deleted.
-update_l disk_prefix iso_rr_prefix disk_path [***]
- Perform -update_r with each of the disk_path arguments.
+ Perform -update_r with each of the disk_path parameters.
iso_rr_path will be composed from disk_path by replacing
disk_prefix by iso_rr_prefix.
@@ -988,11 +1043,11 @@
/file/part_2_of_3_at_2047m_with_2047m_of_5753194821 \
-cut_out /my/disk/file 4094m 2047m \
/file/part_3_of_3_at_4094m_with_2047m_of_5753194821
- While option -split_size is set larger than 0, and if all pieces
+ While command -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
+ recognized and handled like a regular file. This affects commands
+ -compare*, -update*, and overwrite situations. See command
-split_size for details.
-cpr disk_path [***] iso_rr_path
@@ -1035,12 +1090,12 @@
with -cpr, relative iso_rr_path_original will get prepended the
-cd path and not the -cdx path. Consider to -mkdir
iso_rr_path_dest before -cp_clone so the copy address does not
- depend on the number of iso_rr_path_original arguments.
+ depend on the number of iso_rr_path_original parameters.

File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Options
-9.4 Settings for file insertion
+9.5 Settings for file insertion
===============================
-file_size_limit value [value [...]] --
@@ -1105,12 +1160,12 @@
-not_list disk_path
Read lines from disk_path and use each of them either as
- -not_paths argument, if they contain a / character, or as
+ -not_paths parameter, if they contain a / character, or as
-not_leaf pattern.
-quoted_not_list disk_path
Like -not_list but with quoted input reading rules. Each word is
- handled as one argument for -not_paths resp. -not_leaf.
+ handled as one parameter for -not_paths resp. -not_leaf.
-follow occasion[:occasion[...]]
Enable or disable resolution of symbolic links and mountpoints
@@ -1186,10 +1241,10 @@
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.
- While option -split_size is set larger than 0 such a directory
+ While command -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
+ regular file by commands -compare* , -update*, and in overwrite
+ situations. There are -ossirox parameters "concat_split_on" and
"concat_split_off" which control the handling when files get
restored to disk.
In order to be recognizable, the names of the part files have to
@@ -1203,20 +1258,20 @@
E.g: /file/part_1_of_3_at_0_with_2047m_of_5753194821
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
+ must be valid as -cut_out parameter and their contents may not
overlap.

File: xorriso.info, Node: Manip, Next: CmdFind, Prev: SetInsert, Up: Options
-9.5 File manipulations
+9.6 File manipulations
======================
The following commands manipulate files in the ISO image, regardless
whether they stem from the loaded image or were newly inserted.
-iso_rr_pattern "on"|"ls"|"off"
- Set the pattern expansion mode for the iso_rr_path arguments of
+ Set the pattern expansion mode for the iso_rr_path parameters of
several commands which support this feature.
Setting "off" disables pattern expansion for all commands which
are marked in this man page by "iso_rr_path [***]" or
@@ -1235,15 +1290,15 @@
-rm_r iso_rr_path [***]
Delete the given files or directory trees from the ISO image. See
- also the note with option -rm.
+ also the note with command -rm.
-rmdir iso_rr_path [***]
Delete empty directories.
-mv iso_rr_path [***] iso_rr_path
- Rename the given file objects in the ISO tree to the last argument
- in the list. Use the same rules as with shell command mv.
- If pattern expansion is enabled and if the last argument contains
+ Rename the given file objects in the ISO tree to the last
+ parameter in the list. Use the same rules as with shell command mv.
+ If pattern expansion is enabled and if the last parameter contains
wildcard characters then it must match exactly one existing file
address, or else the command fails with a FAILURE event.
@@ -1326,7 +1381,7 @@
Only names from the user namespace are allowed. I.e. a name has to
begin with "user.", like "user.x" or "user.whatever".
Values and names undergo the normal input processing of `xorriso'.
- See also option -backslash_codes. Other than with option
+ See also command -backslash_codes. Other than with command
-setfattr_list, the byte value 0 cannot be expressed via -setfattr.
-setfattr_r [-]name value iso_rr_path [***]
@@ -1350,7 +1405,7 @@
allowed in names. Value may contain any kind of bytes. It must be
in quotes. Trailing whitespace after the end quote will be
ignored. Non-printables bytes and quotes must be represented as
- \XYZ by their octal ASCII code XYZ. Use code \000 for 0-bytes.
+ \XYZ by their octal 8-bit code XYZ. Use code \000 for 0-bytes.
-alter_date type timestring iso_rr_path [***]
Alter the date entries of a file in the ISO image. type is one of
@@ -1394,14 +1449,14 @@

File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Options
-9.6 Tree traversal command -find
+9.7 Tree traversal command -find
================================
-find iso_rr_path [test [op] [test ...]] [-exec action [params]] --
A restricted substitute for shell command find in the ISO image.
It performs an action on matching file objects at or below
iso_rr_path.
- If not used as last command in the line then the argument list
+ If not used as last command in the line then the parameter list
needs to get terminated by "--".
Tests are optional. If they are omitted then action is applied to
all file objects. If tests are given then they form together an
@@ -1522,7 +1577,7 @@
compare
performs command -compare with the found file address as
iso_rr_path and the corresponding file address below its
- argument disk_path_start. For this the iso_rr_path of the
+ parameter disk_path_start. For this the iso_rr_path of the
-find command gets replaced by the disk_path_start.
E.g.: -find /thomas -exec compare /home/thomas --
update
@@ -1567,7 +1622,7 @@
channel.
setfacl
attaches ACLs after removing existing ones. The new ACL is
- given in text form as defined with option -setfacl.
+ given in text form as defined with command -setfacl.
E.g.: -exec setfacl u:lisa:rw,u::rw,g::r,o::-,m::rw --
getfattr
prints xattr name-value pairs from user namespace to the
@@ -1589,7 +1644,7 @@
safe. Mode "b" prints backslash encoding. Not suitable for
shell parsing.
E.g. -exec list_extattr e -
- Option -backslash_codes does not affect the output.
+ Command -backslash_codes does not affect the output.
get_md5
prints the MD5 sum, if recorded, together with file path.
check_md5
@@ -1643,7 +1698,7 @@

File: xorriso.info, Node: Filter, Next: Writing, Prev: CmdFind, Up: Options
-9.7 Filters for data file content
+9.8 Filters for data file content
=================================
*Filters* may be installed between data files in the ISO image and their
@@ -1723,6 +1778,10 @@
The reserved filter name "--remove-all-filters" revokes filtering.
This will revoke suffix renamings as well. Use
"--remove-all-filters+" to prevent any suffix renaming.
+ Attaching or detaching filters will not alter the state of
+ -changes_pending. If the filter manipulations shall be the only
+ changes in a write run, then explicitely execute -changes_pending
+ "yes".
-set_filter_r name iso_rr_path [***]
Like -set_filter but affecting all data files below eventual
@@ -1731,7 +1790,7 @@

File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Options
-9.8 Writing the result, drive control
+9.9 Writing the result, drive control
=====================================
(see also paragraph about settings below)
@@ -1740,6 +1799,22 @@
Discard the manipulated ISO image and reload it from -indev. (Use
-rollback_end if immediate program end is desired.)
+-changes_pending "no"|"yes"|"mkisofs_printed"|"show_status"
+ Write runs are performed only if a change of the image has been
+ made since the image was loaded or created blank. Vice versa the
+ program will start a write run for pending changes when it ends
+ normally (i.e. not by abort and not by command -rollback_end).
+ The command -changes_pending can be used to override the
+ automatically determined state. This is mainly useful for setting
+ state "yes" despite no real changes were made. The sequence
+ -changes_pending "no" -end is equivalent to the command
+ -rollback_end. State "mkisofs_printed" is caused by emulation
+ command -as mkisofs if option -print-size is present.
+ The pseudo-state "show_status" can be used to print the current
+ state to result channel.
+ Image loading or manipulations which happen after this command
+ will again update automatically the change status of the image.
+
-commit
Perform the write operation. Afterwards, if -outdev is readable,
make it the new -dev and load the image from there. Switch to
@@ -1747,7 +1822,7 @@
mode or blind growing.) -commit is performed automatically at end
of program if there are uncommitted manipulations pending.
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
+ loading of image, rather execute command -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".
To suppress a final write, execute -rollback_end.
@@ -1792,7 +1867,7 @@
but produces media which are only suitable for a single session.
Some drives announce this state by not offering feature 21h, but
some drives offer it anyway. If feature 21h is missing, then
- `xorriso' will refuse to write on DVD-RW if not option -close is
+ `xorriso' will refuse to write on DVD-RW if not command -close is
set to "on".
The progress reports issued by some drives while blanking are
quite unrealistic. Do not conclude success or failure from the
@@ -1811,7 +1886,7 @@
unformatted BD-R.
"fast" does the same as "full" but tries to be quicker.
"by_index_" selects a format out of the descriptor list issued by
- option -list_formats. The index number from that list is to be
+ command -list_formats. The index number from that list is to be
appended to the mode word. E.g: "by_index_3".
"fast_by_index_" does the same as "by_index_" but tries to be
quicker.
@@ -1867,9 +1942,9 @@
Try to close the upcomming track and session if the drive reported
the medium as damaged. This may apply to CD-R, CD-RW, DVD-R,
DVD-RW, DVD+R, DVD+R DL, or BD-R media. It is indicated by warning
- messages when the drive gets aquired, and by a remark "but next
+ messages when the drive gets acquired, and by a remark "but next
track is damaged" with the line "Media status :" of command -toc.
- The setting of option -close determines whether the medium stays
+ The setting of command -close determines whether the medium stays
appendable.
Mode "as_needed" gracefully refuses on media which are not
reported as damaged. Mode "force" attempts the close operation
@@ -1885,56 +1960,60 @@

File: xorriso.info, Node: SetWrite, Next: Bootable, Prev: Writing, Up: Options
-9.9 Settings for result writing
-===============================
+9.10 Settings for result writing
+================================
Rock Ridge info will be generated by the program unconditionally. ACLs
-will be written according to the setting of option -acl.
+will be written according to the setting of command -acl.
-joliet "on"|"off"
If enabled by "on", generate Joliet tree additional to ISO 9660 +
Rock Ridge tree.
-compliance rule[:rule...]
- Adjust the compliance to specifications of ISO 9660 and its
- contemporary extensions. In some cases it is worth to deviate a
- bit in order to circumvent bugs of the intended reader system or
+ Adjust the compliance to specifications of ISO 9660/ECMA-119 and
+ its contemporary extensions. In some cases it is worth to deviate
+ a bit in order to circumvent bugs of the intended reader system or
to get unofficial extra features.
There are several adjustable rules which have a keyword each. If
- they are mentioned with this option then their rule gets added to
+ they are mentioned with this command then their rule gets added to
the relaxation list. This list can be erased by rules "strict" or
"clear". It can be reset to its start setting by "default". All of
the following relaxation rules can be revoked individually by
appending "_off". Like "deep_paths_off".
Rule keywords are:
- "iso_9660_level="number chooses level 1 with ISO names of the form
- 8.3 and -file_size_limit <= 4g - 1, or level 2 with ISO names up to
- length 32 and the same -file_size_limit, or level 3 with ISO names
- up to length 32 and -file_size_limit >= 400g -200k. If necessary
- -file_size_limit gets adjusted.
- "allow_dir_id_ext" allows ISO names of directories to have a name
- extension as with other file types. It does not force dots and it
- omits the version number, though. This is a bad tradition of
- mkisofs which violates ECMA-119. Especially ISO level 1 only
+ "iso_9660_level="number chooses level 1 with ECMA-119 names of the
+ form 8.3 and -file_size_limit <= 4g - 1, or level 2 with ECMA-119
+ names up to length 32 and the same -file_size_limit, or level 3
+ with ECMA-119 names up to length 32 and -file_size_limit >= 400g
+ -200k. If necessary -file_size_limit gets adjusted.
+ "allow_dir_id_ext" allows ECMA-119 names of directories to have a
+ name extension as with other file types. It does not force dots
+ and it omits the version number, though. This is a bad tradition
+ of mkisofs which violates ECMA-119. Especially ISO level 1 only
allows 8 characters in a directory name and not 8.3.
- "omit_version" does not add versions (";1") to ISO and Joliet file
- names.
+ "omit_version" does not add versions (";1") to ECMA-119 and Joliet
+ file names.
"only_iso_version" does not add versions (";1") to Joliet file
names.
- "deep_paths" allows ISO file paths deeper than 8 levels.
- "long_paths" allows ISO file paths longer than 255 characters.
- "long_names" allows up to 37 characters with ISO file names.
- "no_force_dots" does not add a dot to ISO file names which have
- none.
+ "deep_paths" allows ECMA-119 file paths deeper than 8 levels.
+ "long_paths" allows ECMA-119 file paths longer than 255 characters.
+ "long_names" allows up to 37 characters with ECMA-119 file names.
+ "no_force_dots" does not add a dot to ECMA-119 file names which
+ have none.
"no_j_force_dots" does not add a dot to Joliet file names which
have none.
- "lowercase" allows lowercase characters in ISO file names.
- "full_ascii" allows all ASCII characters in ISO file names.
+ "lowercase" allows lowercase characters in ECMA-119 file names.
+ "7bit_ascii" allows nearly all 7-bit characters in ECMA-119 file
+ names. Not allowed are 0x0 and '/'. If not "lowercase" is
+ enabled, then lowercase letters get converted to uppercase.
+ "full_ascii" allows all 8-bit characters except 0x0 and '/' in
+ ECMA-119 file names.
"untranslated_names" might be dangerous for inadverted reader
programs which rely on the restriction to at most 37 characters in
- ISO file names. This option allows ISO file names up to 96
- characters with no character conversion. If a file name has more
- characters, then image production will fail deliberately.
+ ECMA-119 file names. This rule allows ECMA-119 file names up to
+ 96 characters with no character conversion. If a file name has
+ more characters, then image production will fail deliberately.
"untranslated_name_len="number enables untranslated_names with a
smaller limit for the length of file names. 0 disables this
feature, -1 chooses maximum length limit, numbers larger than 0
@@ -1971,14 +2050,33 @@
Default setting is
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:
always_gmt:old_rr".
- Note: The term "ISO file" means the plain ISO 9660 names and
+ Note: The term "ECMA-119 name" means the plain ISO 9660 names and
attributes which get visible if the reader ignores Rock Ridge.
+-rr_reloc_dir name
+ Specify the name of the relocation directory in which deep
+ directory subtrees shall be placed if -compliance is set to
+ "deep_paths_off" or "long_paths_off". A deep directory is one
+ that has a chain of 8 parent directories (including root) above
+ itself, or one that contains a file with an ECMA-119 path of more
+ than 255 characters.
+ The overall directory tree will appear originally deep when
+ interpreted as Rock Ridge tree. It will appear as re-arranged if
+ only ECMA-119 information is considered.
+ The default relocation directory is the root directory. By giving
+ a non-empty name with -rr_reloc_dir, a directory in the root
+ directory may get this role. If that directory does not already
+ exist at -commit time, then it will get created and marked for
+ Rock Ridge as relocation artefact. At least on GNU/Linux it will
+ not be displayed in mounted Rock Ridge images.
+ The name must not contain a '/' character and must not be longer
+ than 255 bytes.
+
-volid text
Specify the volume ID. `xorriso' accepts any text up to 32
characters, but according to rarely obeyed specs stricter rules
apply:
- ECMA 119 demands ASCII characters out of [A-Z0-9_]. Like:
+ ECMA-119 demands ASCII characters out of [A-Z0-9_]. Like:
"IMAGE_23"
Joliet allows 16 UCS-2 characters. Like: "Windows name"
Be aware that the volume id might get used automatically as name
@@ -2033,7 +2131,7 @@
GMT. It is supposed to match this GRUB line:
search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc
E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
- Timestrings for the other types may be given as with option
+ Timestrings for the other types may be given as with command
-alter_date. They are prone to timezone computations. The
timestrings "default" or "overridden" cause default settings: "c"
and "m" will show the current time of image creation. "x" and "f"
@@ -2087,7 +2185,7 @@
-zisofs option[:options]
Set global parameters for zisofs compression. This data format is
recognized and transparently uncompressed by some Linux kernels.
- It is to be applied via option -set_filter with built-in filter
+ It is to be applied via command -set_filter with built-in filter
"--zisofs". Parameters are:
"level="[0-9] zlib compression: 0=none, 1=fast,..., 9=slow
"block_size="32k|64k|128k size of compression blocks
@@ -2127,7 +2225,7 @@
GNU/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 ,
+ The default depends on media type, on command -stream_recording ,
and on compile time options.
-stdio_sync "on"|"off"|number
@@ -2150,7 +2248,7 @@
-close "on"|"off"
If "on" then mark the written medium as not appendable any more
(if possible at all with the given type of target media).
- This is the contrary of cdrecord, wodim, cdrskin option -multi,
+ This is the contrary of cdrecord, wodim, cdrskin command -multi,
and is one aspect of growisofs option -dvd-compat.
-padding number["k"|"m"]|"included"|"appended"
@@ -2170,7 +2268,7 @@

File: xorriso.info, Node: Bootable, Next: Jigdo, Prev: SetWrite, Up: Options
-9.10 Bootable ISO images
+9.11 Bootable ISO images
========================
Contrary to published specifications many BIOSes will load an El Torito
@@ -2199,9 +2297,9 @@
been read from an existing ISO image or define how to make a
prepared boot image file set bootable. Such file sets get produced
by ISOLINUX or GRUB.
- Each -boot_image command has two arguments: type and setting. More
- than one -boot_image command may be used to define the handling of
- one or more boot images. Sequence matters.
+ Each -boot_image command has two parameters: type and setting.
+ More than one -boot_image command may be used to define the
+ handling of one or more boot images. Sequence matters.
Types *isolinux* and *grub* care for known peculiarities. Type
*any* makes no assumptions about the origin of the boot images.
@@ -2357,8 +2455,8 @@
*sparc_label=*text causes the production of a SUN Disk Label with
the given text as ASCII label. This boot block format allows to
append images for partitions 2 to 8. Partition 1 will always be
- the ISO image. See option -append_partition. The first 512 bytes
- of any data provided by system_area= will be overwritten.
+ the ISO image. See command -append_partition. The first 512
+ bytes of any data provided by system_area= will be overwritten.
*mips_discard* and *sparc_discard* revoke any boot file
declarations made by mips_path= or mipsel_path=. They also disable
production of SUN Disk Label. This removes the ban on production
@@ -2397,7 +2495,7 @@

File: xorriso.info, Node: Jigdo, Next: Charset, Prev: Bootable, Up: Options
-9.11 Jigdo Template Extraction
+9.12 Jigdo Template Extraction
==============================
From man genisoimage: "Jigdo is a tool to help in the distribution of
@@ -2476,7 +2574,7 @@

File: xorriso.info, Node: Charset, Next: Exception, Prev: Jigdo, Up: Options
-9.12 Character sets
+9.13 Character sets
===================
File names are strings of non-zero bytes with 8 bit each. Unfortunately
@@ -2492,7 +2590,7 @@
character set which applies when an ISO image gets loaded. A conversion
from local character set to the output character set is performed when
an image tree gets written. The sets can be defined independently by
-options -in_charset and -out_charset. Normally one will have both
+commands -in_charset and -out_charset. Normally one will have both
identical, if ever.
If conversions are desired then `xorriso' needs to know the name of the
local character set. `xorriso' can inquire the same info as shell
@@ -2503,7 +2601,7 @@
where `xorriso' runs. So by default no conversion happens between local
filesystem names and emerging names in the image. The situation stays
ambigous and the reader has to riddle what character set was used.
-By option -auto_charset it is possible to attribute the output charset
+By command -auto_charset it is possible to attribute the output charset
name to the image. This makes the situation unambigous. But if your
terminal character set does not match the character set of the local
file names, then this attribute can become plainly wrong and cause
@@ -2528,7 +2626,7 @@

File: xorriso.info, Node: Exception, Next: DialogCtl, Prev: Charset, Up: Options
-9.13 Exception processing
+9.14 Exception processing
=========================
Since the tasks of `xorriso' are manifold and prone to external
@@ -2555,9 +2653,9 @@
Set the severity threshold for events to abort the program.
Useful: "NEVER", "ABORT", "FATAL", "FAILURE" , "MISHAP", "SORRY"
It may become necessary to abort the program anyway, despite the
- setting by this option. Expect not many "ABORT" events to be
+ setting by this command. Expect not many "ABORT" events to be
ignorable.
- A special property of this option is that it works preemptive if
+ A special property of this command is that it works preemptive if
given as program start argument. I.e. the first -abort_on setting
among the start arguments is in effect already when the first
operations of `xorriso' begin. Only "-abort_on" with dash "-" is
@@ -2588,7 +2686,7 @@
Event messages are sent to the info channel "I" which is usually
stderr but may be influenced by command -pkt_output. Info
messages which belong to no event get attributed severity "NOTE".
- A special property of this option is that the first -report_about
+ A special property of this command is that the first -report_about
setting among the start arguments is in effect already when the
first operations of `xorriso' begin. Only "-report_about" with
dash "-" is recognized that way.
@@ -2615,7 +2713,7 @@
that the drive is left in unusable state and needs poweroff to be
reset. So during burning, blanking, and formatting wait for at
least their normal run time before killing externally.
- A special property of this option is that the first
+ A special property of this command is that the first
-signal_handling setting among the start arguments is in effect
already when the first operations of `xorriso' begin. Only
"-signal_handling" with dash "-" is recognized that way.
@@ -2624,10 +2722,10 @@
Control the program behavior at problem event occasions. For now
this applies to occasions "image_loading" which is given while an
image tree is read from the input device, and to "file_extraction"
- which is given with osirrox options like -extract.
+ which is given with osirrox commands like -extract.
With "image_loading" there are three behaviors available:
"best_effort" goes on with reading after events with severity
- below FAILURE if the threshold of option -abort_on allows this.
+ below FAILURE if the threshold of command -abort_on allows this.
"failure" aborts image tree reading on first event of at least
SORRY. It issues an own FAILURE event. This is the default.
"fatal" acts like "failure" but issues the own event as FATAL.
@@ -2643,13 +2741,13 @@

File: xorriso.info, Node: DialogCtl, Next: Inquiry, Prev: Exception, Up: Options
-9.14 Dialog mode control
+9.15 Dialog mode control
========================
-dialog "on"|"off"|"single_line"
- Enable or disable to enter dialog mode after all arguments are
- processed. In dialog mode input lines get prompted via readline
- or from stdin.
+ Enable or disable to enter dialog mode after all program arguments
+ are processed. In dialog mode input lines get prompted via
+ readline or from stdin.
If no -abort_on severity was set when dialog starts, then "NEVER"
is set to avoid abort in most cases of wrong input or other
problems. Before dialog begins, the default is "FAILURE" which
@@ -2685,9 +2783,9 @@
subtree.
Setting "off" silently kills any kind of image file object resp.
performs above irrevocable actions.
- To really produce user prompts, option -dialog needs to be set to
+ To really produce user prompts, command -dialog needs to be set to
"on". Note that the prompt does not appear in situations where
- file removal is forbidden by option -overwrite. -reassure only
+ file removal is forbidden by command -overwrite. -reassure only
imposes an additional curb for removing existing file objects.
Be aware that file objects get deleted from the ISO image
immediately after confirmation. They are gone even if the running
@@ -2698,14 +2796,14 @@

File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Options
-9.15 Drive and media related inquiry actions
+9.16 Drive and media related inquiry actions
============================================
-devices
Show list of available MMC drives with the addresses of their
libburn standard device files.
This is only possible when no ISO image changes are pending.
- After this option was executed, there is no drive current and no
+ After this command was executed, there is no drive current and no
image loaded.
In order to be visible, a device has to offer rw-permissions with
its libburn standard device file. Thus it might be only the
@@ -2733,7 +2831,7 @@
or DVD-ROM with only one or two sessions on it. The last of these
sessions is supposed to be the most recent real session then.
Some read-only drives and media show no usable session history at
- all. Option -rom_toc_scan might help.
+ all. Command -rom_toc_scan might help.
-mount_cmd drive entity id path
Emit an appropriate command line for mounting the ISO session
@@ -2748,7 +2846,7 @@
volume id, or "auto" with any text as id.
path will be used as mount point and must already exist as a
directory on disk.
- The command gets printed to the result channel. See option -mount
+ The command gets printed to the result channel. See command -mount
for direct execution of this command.
-mount_opts option[:option...]
@@ -2777,9 +2875,9 @@
-print_size
Print the foreseeable consumption of 2048 byte blocks by next
-commit. This can last a while as a -commit gets prepared and only
- in last moment is revoked by this option. The result depends on
+ in last moment is revoked by this command. The result depends on
several settings and also on the kind of output device. If no
- -jidgo options are given and not command -as "mkisofs" was used,
+ -jidgo options are set and not command -as "mkisofs" was used,
then -padding (300 kB by default) is not counted as part of the
image size.
@@ -2789,14 +2887,14 @@
-pvd_info
Print various id strings which can be found in loaded ISO images.
- Some of them may be changed by options like -volid or -publisher.
+ Some of them may be changed by commands like -volid or -publisher.
For these ids -pvd_info reports what would be written with the
next -commit.

File: xorriso.info, Node: Navigate, Next: Verify, Prev: Inquiry, Up: Options
-9.16 Navigation in ISO image and disk filesystem
+9.17 Navigation in ISO image and disk filesystem
================================================
-cd iso_rr_path
@@ -2866,7 +2964,7 @@
Print the access permissions of the given files in the ISO image
using the format of shell command getfacl. If a file has no ACL
then it gets fabricated from the -chmod settings. A file may have
- a real ACL if it was introduced into the ISO image while option
+ a real ACL if it was introduced into the ISO image while command
-acl was set to "on".
-getfacl_r iso_rr_pattern [***]
@@ -2901,7 +2999,7 @@
-findx disk_path [-name pattern] [-type t] [-exec action [params]] --
Like -find but operating on local filesystem and not on the ISO
image. This is subject to the settings of -follow.
- -findx accepts the same -type arguments as -find. Additionally it
+ -findx accepts the same -type parameters as -find. Additionally it
recognizes type "mountpoint" (or "m") which matches subdirectories
which reside on a different device than their parent. It never
matches the disk_path given as start address for -findx.
@@ -2957,7 +3055,7 @@
the other address and whether both counterparts match.
-compare_l disk_prefix iso_rr_prefix disk_path [***]
- Perform -compare_r with each of the disk_path arguments.
+ Perform -compare_r with each of the disk_path parameters.
iso_rr_path will be composed from disk_path by replacing
disk_prefix by iso_rr_prefix.
@@ -2981,7 +3079,7 @@

File: xorriso.info, Node: Verify, Next: Restore, Prev: Navigate, Up: Options
-9.17 Evaluation of readability and recovery
+9.18 Evaluation of readability and recovery
===========================================
It is not uncommon that optical media produce read errors. The reasons
@@ -2993,7 +3091,7 @@
`xorriso' can scan a medium for readable data blocks, classify them
according to their read speed, save them to a file, and keep track of
successfuly saved blocks for further tries on the same medium.
-By option -md5 checksums may get recorded with data files and whole
+By command -md5 checksums may get recorded with data files and whole
sessions. These checksums are reachable only via indev and a loaded
image. They work independently of the media type and can detect
transmission errors.
@@ -3002,9 +3100,10 @@
Try to read data blocks from the indev drive, optionally copy them
to a disk file, and finally report about the encountered quality.
Several options may be used to modify the default behavior.
- The options given with this command override the default settings
- which may have been changed by option -check_media_defaults. See
- there for a description of options.
+ The parameters given with this command override the default
+ settings which may have been changed by command
+ -check_media_defaults. See there for a description of available
+ options.
The result list tells intervals of 2 KiB blocks with start
address, number of blocks and quality. Qualities which begin with
"+" are supposed to be valid readable data. Qualities with "-" are
@@ -3130,12 +3229,12 @@
Compare the data content of the given files in the loaded image
with their recorded MD5 checksums, if there are any. In case of
any mismatch an event of the given severity is issued. It may then
- be handled by appropriate settings of options -abort_on or
+ be handled by appropriate settings of commands -abort_on or
-return_with which both can cause non-zero exit values of the
program run. Severity ALL suppresses that event.
- This option reports match and mismatch of data files to the result
- channel. Non-data files cause NOTE events. There will also be
- UPDATE events from data reading.
+ This command reports match and mismatch of data files to the
+ result channel. Non-data files cause NOTE events. There will also
+ be UPDATE events from data reading.
If no iso_rr_path is given then the whole loaded session is
compared with its MD5 sum. Be aware that this covers only one
session and not the whole image if there are older sessions.
@@ -3147,8 +3246,8 @@

File: xorriso.info, Node: Restore, Next: Emulation, Prev: Verify, Up: Options
-9.18 osirrox ISO-to-disk restore options
-========================================
+9.19 osirrox ISO-to-disk restore commands
+=========================================
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
@@ -3220,9 +3319,9 @@
gets not restored.
-extract_l iso_rr_prefix disk_prefix iso_rr_path [***]
- Perform -extract with each of the iso_rr_path arguments. disk_path
- will be composed from iso_rr_path by replacing iso_rr_prefix by
- disk_prefix.
+ Perform -extract with each of the iso_rr_path parameters.
+ disk_path will be composed from iso_rr_path by replacing
+ iso_rr_prefix by disk_prefix.
-extract_cut iso_rr_path byte_offset byte_count disk_path
Copy a byte interval from a data file out of an ISO image into a
@@ -3267,7 +3366,7 @@
-paste_in iso_rr_path disk_path byte_offset byte_count
Read the content of a ISO data file and write it into a data file
on disk beginning at the byte_offset. Write at most byte_count
- bytes. This is the inverse of option -cut_out.
+ bytes. This is the inverse of command -cut_out.
-mount drive entity id path
Produce the same line as -mount_cmd and then execute it as
@@ -3280,7 +3379,7 @@

File: xorriso.info, Node: Emulation, Next: Scripting, Prev: Restore, Up: Options
-9.19 Command compatibility emulations (cdrtools)
+9.20 Command compatibility emulations (cdrtools)
================================================
Writing of ISO 9660 on CD is traditionally done by program mkisofs as
@@ -3313,15 +3412,15 @@
of `xorriso'. -pacifier gets set to "mkisofs" if files are added
to the image.
-graft-points is equivalent to -pathspecs on. Note that pathspecs
- without "=" are interpreted differently than with `xorriso' option
- -add. Directories get merged with the root directory of the ISO
- image, other filetypes get mapped into that root directory.
+ without "=" are interpreted differently than with `xorriso'
+ command -add. Directories get merged with the root directory of
+ the ISO image, other filetypes get mapped into that root directory.
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.
+ commands before -as mkisofs or after its list delimiter.
Directories and symbolic links are no valid -o targets.
Writing to stdout is possible only if -as "mkisofs" was among the
start arguments or if other start arguments pointed the output
@@ -3343,13 +3442,13 @@
-md5 can be set to "off" by --old-root-no-md5 .
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.
+ `xorriso' commands with the same name and hardcoded parameter
+ "on", e.g. -acl "on". Explicit parameters are expected by
+ --stdio_sync and --scdbackup_tag.
The capability to preserve multi-session history on overwriteable
media gets disabled by default. It can be enabled by using
--emul-toc with the first session. See -compliance no_emul_toc.
- --sort-weight gets as arguments a number and an iso_rr_path. The
+ --sort-weight gets as parameters a number and an iso_rr_path. The
number becomes the LBA sorting weight of regular file iso_rr_path
or of all regular files underneath directory iso_rr_path. (See
-find -exec sort_weight).
@@ -3369,22 +3468,22 @@
-mipsel-boot leads to mipsel_path= .
-partition_offset number is -boot_image any
partition_offset=number.
- Option -append_partition is supported.
+ Command -append_partition is supported.
-untranslated_name_len number is -compliance
untranslated_name_len=number.
--old-empty is -compliance old_empty.
The options of genisoimage Jigdo Template Extraction are
- recognized and performed via `xorriso' option -jigdo. See the
+ recognized and performed via `xorriso' command -jigdo. See the
"Alias:" names there for the meaning of the genisoimage options.
Personalities "*xorrisofs*", "*genisoimage*", and "*genisofs*" are
aliases for "mkisofs".
If `xorriso' is started with one of the leafnames "xorrisofs",
"genisofs", "mkisofs", or "genisoimage", then it performs
- -read_mkisofsrc and prepends -as "genisofs" to the command line
+ -read_mkisofsrc and prepends -as "genisofs" to the program
arguments. I.e. all arguments will be interpreted mkisofs style
- until "--" is encountered. From then on, options are interpreted
- as `xorriso' options.
+ until "--" is encountered. From then on, arguments are
+ interpreted as `xorriso' commands.
--no_rc as first argument of such a program start prevents
interpretation of startup files. See section FILES below.
@@ -3399,7 +3498,7 @@
The scope is only a single data track per session to be written to
blank, overwriteable, or appendable media. The medium gets closed
if closing is applicable and not option -multi is present.
- If an input drive was aquired, then it is given up. This is only
+ If an input drive was acquired, then it is given up. This is only
allowed if no image changes are pending.
dev= must be given as `xorriso' device address. Addresses like
0,0,0 or ATA:1,1,0 are not supported.
@@ -3415,9 +3514,9 @@
for "cdrecord".
If `xorriso' is started with one of the leafnames "xorrecord",
"cdrskin", "cdrecord", or "wodim", then it automatically prepends
- -as "cdrskin" to the command line arguments. I.e. all arguments
- will be interpreted cdrecord style until "--" is encountered.
- From then on, options are interpreted as `xorriso' options.
+ -as "cdrskin" to the program arguments. I.e. all arguments will be
+ interpreted cdrecord style until "--" is encountered. From then
+ on, arguments are interpreted as `xorriso' commands.
--no_rc as first argument of such a program start prevents
interpretation of `xorriso' startup files. See section FILES
below.
@@ -3458,11 +3557,11 @@

File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Options
-9.20 Scripting, dialog and program control features
+9.21 Scripting, dialog and program control features
===================================================
-no_rc
- Only if used as first command line argument this option prevents
+ Only if used as first program argument this command prevents
reading and interpretation of startup files. See section FILES
below.
@@ -3470,7 +3569,7 @@
Read quoted input from fileaddress and execute it like dialog
lines. Empty lines and lines which begin by # are ignored.
Normally one line should hold one `xorriso' command and all its
- arguments. Nevertheless lines may be concatenated by a trailing
+ parameters. Nevertheless lines may be concatenated by a trailing
backslash.
See also section "Command processing", paragraph "Quoted input".
@@ -3538,9 +3637,9 @@
"with_program_arguments" translates all program arguments.
Mode "encode_output" encodes output characters. It combines
"encode_results" with "encode_infos". Inside single or double
- quotation marks encoding applies to ASCII characters octal 001 to
+ quotation marks encoding applies to 8-bit characters octal 001 to
037 , 177 to 377 and to backslash(134). Outside quotation marks
- some harmless control characters stay unencoded: bell(007),
+ some harmless ASCII control characters stay unencoded: bell(007),
backspace(010), tab(011), linefeed(012), formfeed(014),
carriage_return(015).
Mode "off" is default and disables any translation. Mode "on" is
@@ -3586,8 +3685,8 @@
append the log lines.
Problematic files can be recorded multiple times during one
program run. If the program run aborts then the list might not be
- complete because some input file arguments might not have been
- processed at all.
+ complete because some input files might not have been processed at
+ all.
The errfile paths are transported as messages of very low severity
"ERRFILE". This transport becomes visible with -report_about
"ALL".
@@ -3605,7 +3704,7 @@
Mode "on" enables very verbous logging of SCSI commands and drive
replies. Logging messages get printed to stderr, not to any of
the `xorriso' output channels.
- A special property of this option is that the first -scsi_log
+ A special property of this command is that the first -scsi_log
setting among the start arguments is in effect already when the
first operations of `xorriso' begin. Only "-scsi_log" with dash
"-" is recognized that way.
@@ -3624,7 +3723,7 @@

File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Options
-9.21 Support for frontend programs via stdin and stdout
+9.22 Support for frontend programs via stdin and stdout
=======================================================
-pkt_output "on"|"off"
@@ -3638,7 +3737,7 @@
character at the end of the output line belongs to the payload.
After another colon and a blank follows the payload text.
Example:
- I:1: enter option and arguments :
+ I:1: enter option and parameters :
-logfile channel fileaddress
Copy output of a channel to the given file. Channel may be one of:
@@ -3703,7 +3802,7 @@
10.2 Blank medium and compose a new ISO image as batch run
==========================================================
-Aquire drive /dev/sr2, make medium ready for writing a new image, fill
+Acquire drive /dev/sr2, make medium ready for writing a new image, fill
the image with the files from hard disk directories /home/me/sounds and
/home/me/pictures.
Because no -dialog "on" is given, the program will then end by writing
@@ -3733,8 +3832,8 @@
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.
+from the hard disk. Commands -add and -map have different parameter
+rules but finally the same effect: they put files into the image.

File: xorriso.info, Node: ExDialog, Next: ExGrowing, Prev: ExCreate, Up: Examples
@@ -3745,9 +3844,10 @@
Some settings are already given as start argument. The other activities
are done as dialog input. The pager gets set to 20 lines of 80
characters.
-The drive is acquired by option -dev rather than -outdev in order to see
-the message about its current content. By option -blank this content is
-made ready for being overwritten and the loaded ISO image is made empty.
+The drive is acquired by command -dev rather than -outdev in order to
+see the message about its current content. By command -blank this
+content is made ready for being overwritten and the loaded ISO image is
+made empty.
In order to be able to eject the medium, the session needs to be
committed explicitly.
@@ -3808,7 +3908,7 @@
=======================================================
Load image from input drive. Do the same manipulations as in the
-previous example. Aquire output drive and blank it. Burn the modified
+previous example. Acquire output drive and blank it. Burn the modified
image as first and only session to the output drive.
$ xorriso -indev /dev/sr2 \
@@ -3843,7 +3943,7 @@
order to avoid any weaknesses of the local character set, this command
pretends that it uses already the final target set UTF-8. Therefore
strange file names may appear in messages, which will be made
-terminal-safe by option -backslash_codes.
+terminal-safe by command -backslash_codes.
$ xorriso -in_charset ISO-8859-1 -local_charset UTF-8 \
-out_charset UTF-8 -backslash_codes on -dev /dev/sr0 \
@@ -4031,29 +4131,29 @@
This makes sense if the full backup leaves substantial remaining
capacity on media and if the expected changes are much smaller than the
full backup. To apply zisofs compression to those data files which get
-newly copied from the local filesystem, insert these options
+newly copied from the local filesystem, insert these commands
immediately before -commit :
-hardlinks perform_update \
-find / -type f -pending_data -exec set_filter --zisofs -- \
-Options -disk_dev_ino and -for_backup depend on stable device and inode
-numbers on disk. Without them, an update run may use -md5 "on" to match
-recorded MD5 sums against the current file content on hard disk. This
-is usually much faster than the default which compares both contents
-directly.
+Commands -disk_dev_ino and -for_backup depend on stable device and
+inode numbers on disk. Without them, an update run may use -md5 "on" to
+match recorded MD5 sums against the current file content on hard disk.
+This is usually much faster than the default which compares both
+contents directly.
With *mount* option *-o "sbsector="* on GNU/Linux resp. *-s* on FreeBSD
it is possible to access the session trees which represent the older
backup versions. With CD media, GNU/Linux mount accepts session numbers
directly by its option "session=".
Multi-session media and most overwriteable media written by `xorriso'
-can tell the sbsectors of their sessions by `xorriso' option -toc.
-Used after -commit the following option prints the matching mount
+can tell the sbsectors of their sessions by `xorriso' command -toc.
+Used after -commit the following command prints the matching mount
command for the newly written session (here for mount point /mnt):
-mount_cmd "indev" "auto" "auto" /mnt
-Options -mount_cmd and -mount are also able to produce the mount
+Commands -mount_cmd and -mount are also able to produce the mount
commands for older sessions in the table-of-content. E.g. as superuser:
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
@@ -4141,7 +4241,7 @@
*xorrisofs* starts `xorriso' with -as mkisofs emulation.
*xorrecord* starts `xorriso' with -as cdrecord emulation.
*osirrox* starts with -osirrox "on:o_excl_off" which allows to copy
-files from ISO image to disk and to apply option -mount to one or more
+files from ISO image to disk and to apply command -mount to one or more
of the existing ISO sessions.
11.2 Startup Files
@@ -4259,31 +4359,32 @@
* # starts a comment line: Scripting. (line 162)
* -abort_on controls abort on error: Exception. (line 27)
-* -abstract_file sets abstract file name: SetWrite. (line 164)
-* -acl controls handling of ACLs: Loading. (line 142)
+* -abstract_file sets abstract file name: SetWrite. (line 187)
+* -acl controls handling of ACLs: Loading. (line 143)
* -add inserts one or more paths: Insert. (line 42)
* -add_plainly inserts one or more paths: Insert. (line 61)
* -alter_date sets timestamps in ISO image: Manip. (line 147)
* -alter_date_r sets timestamps in ISO image: Manip. (line 167)
* -append_partition adds arbitrary file after image end: Bootable.
(line 199)
-* -application_id sets application id: SetWrite. (line 123)
+* -application_id sets application id: SetWrite. (line 146)
* -as emulates mkisofs or cdrecord: Emulation. (line 13)
-* -assert_volid rejects undesired images: Loading. (line 83)
-* -auto_charset learns character set from image: Loading. (line 97)
+* -assert_volid rejects undesired images: Loading. (line 84)
+* -auto_charset learns character set from image: Loading. (line 98)
* -backslash_codes enables backslash conversion: Scripting. (line 67)
-* -ban_stdio_write demands real drive: Loading. (line 246)
-* -biblio_file sets biblio file name: SetWrite. (line 171)
-* -blank erases media: Writing. (line 45)
+* -ban_stdio_write demands real drive: Loading. (line 247)
+* -biblio_file sets biblio file name: SetWrite. (line 194)
+* -blank erases media: Writing. (line 61)
* -boot_image controls bootability: Bootable. (line 26)
-* -calm_drive reduces drive activity: Loading. (line 235)
+* -calm_drive reduces drive activity: Loading. (line 236)
* -cd sets working directory in ISO: Navigate. (line 7)
* -cdx sets working directory on disk: Navigate. (line 16)
+* -changes_pending overrides change status: Writing. (line 13)
* -charset sets input/output character set: Charset. (line 43)
-* -check_md5 verifies file checksum: Verify. (line 147)
-* -check_md5_r verifies file tree checksums: Verify. (line 163)
+* -check_md5 verifies file checksum: Verify. (line 148)
+* -check_md5_r verifies file tree checksums: Verify. (line 164)
* -check_media reads media block by block: Verify. (line 21)
-* -check_media_defaults sets -check_media options: Verify. (line 40)
+* -check_media_defaults sets -check_media options: Verify. (line 41)
* -chgrp sets group in ISO image: Manip. (line 50)
* -chgrp_r sets group in ISO image: Manip. (line 55)
* -chmod sets permissions in ISO image: Manip. (line 58)
@@ -4291,39 +4392,40 @@
* -chown sets ownership in ISO image: Manip. (line 42)
* -chown_r sets ownership in ISO image: Manip. (line 47)
* -clone copies ISO directory tree: Insert. (line 171)
-* -close controls media closing: SetWrite. (line 266)
-* -close_damaged closes damaged track and session: Writing. (line 136)
+* -close controls media closing: SetWrite. (line 289)
+* -close_damaged closes damaged track and session: Writing. (line 152)
* -close_filter_list bans filter registration: Filter. (line 52)
-* -commit writes pending ISO image: Writing. (line 13)
-* -commit_eject writes and ejects: Writing. (line 40)
+* -commit writes pending ISO image: Writing. (line 29)
+* -commit_eject writes and ejects: Writing. (line 56)
* -compare reports ISO/disk differences: Navigate. (line 146)
* -compare_l reports ISO/disk differences: Navigate. (line 164)
* -compare_r reports ISO/disk differences: Navigate. (line 159)
* -compliance controls standard compliance: SetWrite. (line 14)
-* -copyright_file sets copyright file name: SetWrite. (line 158)
+* -copyright_file sets copyright file name: SetWrite. (line 181)
* -cp_clone copies ISO directory tree: Insert. (line 183)
* -cp_rx copies file trees to disk: Restore. (line 108)
* -cpax copies files to disk: Restore. (line 104)
* -cpr inserts like with cp -r: Insert. (line 152)
* -cpx copies files to disk: Restore. (line 92)
* -cut_out inserts piece of data file: Insert. (line 126)
-* -dev aquires one drive for input and output: AqDrive. (line 12)
+* -data_cache_size adjusts read cache size: Loading. (line 265)
+* -dev acquires one drive for input and output: AqDrive. (line 12)
* -device_links gets list of drives: Inquiry. (line 18)
* -devices gets list of drives: Inquiry. (line 7)
* -dialog enables dialog mode: DialogCtl. (line 7)
-* -disk_dev_ino fast incremental backup: Loading. (line 189)
+* -disk_dev_ino fast incremental backup: Loading. (line 190)
* -disk_pattern controls pattern expansion: Insert. (line 31)
* -displacement compensate altered image start address: Loading.
- (line 35)
-* -drive_class controls drive accessability: Loading. (line 53)
+ (line 36)
+* -drive_class controls drive accessability: Loading. (line 54)
* -du show directory size in ISO image: Navigate. (line 89)
-* -dummy controls write simulation: SetWrite. (line 255)
+* -dummy controls write simulation: SetWrite. (line 278)
* -dus show directory size in ISO image: Navigate. (line 93)
* -dusx show directory size on disk: Navigate. (line 102)
* -dux show directory size on disk: Navigate. (line 97)
-* -dvd_obs set write block size: SetWrite. (line 242)
-* -early_stdio_test classifies stdio drives: Loading. (line 251)
-* -eject ejects drive tray: Writing. (line 36)
+* -dvd_obs set write block size: SetWrite. (line 265)
+* -early_stdio_test classifies stdio drives: Loading. (line 252)
+* -eject ejects drive tray: Writing. (line 52)
* -end writes pending session and ends program: Scripting. (line 156)
* -errfile_log logs problematic disk files: Scripting. (line 118)
* -error_behavior controls error workarounds: Exception. (line 96)
@@ -4337,30 +4439,31 @@
* -find traverses and alters ISO tree: CmdFind. (line 7)
* -findx traverses disk tree: Navigate. (line 106)
* -follow softlinks and mount points: SetInsert. (line 76)
-* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 184)
-* -format formats media: Writing. (line 72)
-* -fs sets size of fifo: SetWrite. (line 259)
+* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 185)
+* -format formats media: Writing. (line 88)
+* -fs sets size of fifo: SetWrite. (line 282)
* -getfacl shows ACL in ISO image: Navigate. (line 70)
* -getfacl_r shows ACL in ISO image: Navigate. (line 77)
* -getfattr shows xattr in ISO image: Navigate. (line 81)
* -getfattr_r shows xattr in ISO image: Navigate. (line 85)
-* -gid sets global ownership: SetWrite. (line 199)
+* -gid sets global ownership: SetWrite. (line 222)
* -grow_blindly overides next writeable address: AqDrive. (line 46)
-* -hardlinks controls handling of hard links: Loading. (line 109)
+* -hardlinks controls handling of hard links: Loading. (line 110)
* -help prints help text: Scripting. (line 20)
* -hide excludes file names from directory trees: Manip. (line 171)
* -history brings text into readline history: Scripting. (line 44)
-* -in_charset sets input character set: Loading. (line 91)
-* -indev aquires a drive for input: AqDrive. (line 24)
+* -in_charset sets input character set: Loading. (line 92)
+* -indev acquires a drive for input: AqDrive. (line 24)
* -iso_rr_pattern controls pattern expansion: Manip. (line 10)
* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 33)
* -joliet enables production of Joliet tree: SetWrite. (line 10)
+* -list_arg_sorting prints sorting order of -x: ArgSort. (line 27)
* -list_delimiter replaces '--': Scripting. (line 60)
* -list_extras lists compile time extra features: Scripting.
(line 26)
-* -list_formats lists available formats: Writing. (line 110)
-* -list_profiles lists supported media: Writing. (line 150)
-* -list_speeds lists available write speeds: Writing. (line 122)
+* -list_formats lists available formats: Writing. (line 126)
+* -list_profiles lists supported media: Writing. (line 166)
+* -list_speeds lists available write speeds: Writing. (line 138)
* -load addresses a particular session as input: Loading. (line 11)
* -local_charset sets terminal character set: Charset. (line 47)
* -logfile logs output channels to file: Frontend. (line 20)
@@ -4376,7 +4479,7 @@
* -map_l inserts paths from disk file: Insert. (line 94)
* -map_single inserts path: Insert. (line 90)
* -mark sets synchronizing message: Frontend. (line 25)
-* -md5 controls handling of MD5 sums: Loading. (line 155)
+* -md5 controls handling of MD5 sums: Loading. (line 156)
* -mkdir creates ISO directory: Insert. (line 166)
* -mount issues mount command for ISO session: Restore. (line 126)
* -mount_cmd composes mount command line: Inquiry. (line 41)
@@ -4389,17 +4492,17 @@
* -not_paths sets absolute exclusion paths: SetInsert. (line 55)
* -options_from_file reads commands from file: Scripting. (line 12)
* -osirrox enables ISO-to-disk copying: Restore. (line 18)
-* -out_charset sets output character set: SetWrite. (line 189)
-* -outdev aquires a drive for output: AqDrive. (line 31)
+* -out_charset sets output character set: SetWrite. (line 212)
+* -outdev acquires a drive for output: AqDrive. (line 31)
* -overwrite enables overwriting in ISO: SetInsert. (line 127)
* -pacifier controls pacifier text form: Emulation. (line 158)
-* -padding sets amount or mode of image padding: SetWrite. (line 272)
+* -padding sets amount or mode of image padding: SetWrite. (line 295)
* -page set terminal geometry: DialogCtl. (line 19)
* -paste_in copies file into disk file: Restore. (line 121)
* -path_list inserts paths from disk file: Insert. (line 75)
* -pathspecs sets meaning of = with -add: SetInsert. (line 118)
* -pkt_output consolidates text output: Frontend. (line 7)
-* -preparer_id sets preparer id: SetWrite. (line 177)
+* -preparer_id sets preparer id: SetWrite. (line 200)
* -print prints result text line: Scripting. (line 99)
* -print_info prints message text line: Scripting. (line 102)
* -print_mark prints synchronizing text line: Scripting. (line 105)
@@ -4407,7 +4510,7 @@
* -prog sets program name: Frontend. (line 30)
* -prog_help prints help text: Frontend. (line 33)
* -prompt prompts for enter key: Scripting. (line 110)
-* -publisher sets publisher id: SetWrite. (line 117)
+* -publisher sets publisher id: SetWrite. (line 140)
* -pvd_info shows image id strings: Inquiry. (line 93)
* -pwd tells working directory in ISO: Navigate. (line 20)
* -pwdx tells working directory on disk: Navigate. (line 23)
@@ -4423,13 +4526,15 @@
* -rmdir deletes ISO directory: Manip. (line 32)
* -rollback discards pending changes: Writing. (line 9)
* -rollback_end ends program without writing: Scripting. (line 159)
-* -rom_toc_scan searches for sessions: Loading. (line 210)
+* -rom_toc_scan searches for sessions: Loading. (line 211)
+* -rr_reloc_dir sets name of relocation directory: SetWrite.
+ (line 97)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 168)
* -scsi_log reports SCSI commands: Scripting. (line 147)
* -session_log logs written sessions: Scripting. (line 138)
* -session_string composes session info line: Inquiry. (line 67)
* -set_filter applies filter to file: Filter. (line 60)
-* -set_filter_r applies filter to file tree: Filter. (line 85)
+* -set_filter_r applies filter to file tree: Filter. (line 89)
* -setfacl sets ACL in ISO image: Manip. (line 73)
* -setfacl_list sets ACL in ISO image: Manip. (line 101)
* -setfacl_r sets ACL in ISO image: Manip. (line 98)
@@ -4441,27 +4546,29 @@
* -signal_handling controls handling of system signals: Exception.
(line 69)
* -sleep waits for a given time span: Scripting. (line 114)
-* -speed set write speed: SetWrite. (line 215)
+* -speed set write speed: SetWrite. (line 238)
* -split_size enables large file splitting: SetInsert. (line 140)
* -status shows current settings: Scripting. (line 47)
* -status_history_max curbs -status history: Scripting. (line 56)
-* -stdio_sync controls stdio buffer: SetWrite. (line 249)
-* -stream_recording controls defect management: SetWrite. (line 230)
-* -system_id sets system id: SetWrite. (line 132)
+* -stdio_sync controls stdio buffer: SetWrite. (line 272)
+* -stream_recording controls defect management: SetWrite. (line 253)
+* -system_id sets system id: SetWrite. (line 155)
* -tell_media_space reports free space: Inquiry. (line 89)
* -temp_mem_limit curbs memory consumption: Scripting. (line 92)
* -toc shows list of sessions: Inquiry. (line 28)
-* -uid sets global ownership: SetWrite. (line 195)
+* -uid sets global ownership: SetWrite. (line 218)
* -update inserts path if different: Insert. (line 99)
* -update_l inserts paths if different: Insert. (line 121)
* -update_r inserts paths if different: Insert. (line 110)
* -use_readline enables readline for dialog: DialogCtl. (line 28)
* -version prints help text: Scripting. (line 23)
-* -volid sets volume id: SetWrite. (line 93)
-* -volset_id sets volume set id: SetWrite. (line 112)
-* -volume_date sets volume timestamp: SetWrite. (line 139)
-* -xattr controls handling of xattr (EA): Loading. (line 150)
-* -zisofs controls zisofs production: SetWrite. (line 203)
+* -volid sets volume id: SetWrite. (line 116)
+* -volset_id sets volume set id: SetWrite. (line 135)
+* -volume_date sets volume timestamp: SetWrite. (line 162)
+* -x enables automatic execution order of arguments: ArgSort.
+ (line 16)
+* -xattr controls handling of xattr (EA): Loading. (line 151)
+* -zisofs controls zisofs production: SetWrite. (line 226)

File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@@ -4472,8 +4579,8 @@
�[index�]
* Menu:
-* ACL, _definiton: Extras. (line 38)
-* ACL, control handling, -acl: Loading. (line 142)
+* ACL, _definition: Extras. (line 38)
+* ACL, control handling, -acl: Loading. (line 143)
* ACL, set in ISO image, -setfacl: Manip. (line 73)
* ACL, set in ISO image, -setfacl_list: Manip. (line 101)
* ACL, set in ISO image, -setfacl_r: Manip. (line 98)
@@ -4481,9 +4588,10 @@
* ACL, show in ISO image, -getfacl_r: Navigate. (line 77)
* Appendable media, _definition: Media. (line 38)
* Appended Filesystem Image, -append_partition: Bootable. (line 199)
-* Backslash Interpretation, _definition: Processing. (line 48)
-* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 189)
-* Backup, enable features, -for_backup: Loading. (line 184)
+* Automatic execution order, of arguments, -x: ArgSort. (line 16)
+* Backslash Interpretation, _definition: Processing. (line 52)
+* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 190)
+* Backup, enable features, -for_backup: Loading. (line 185)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 168)
* Blank media, _definition: Media. (line 29)
* Blind growing, _definition: Methods. (line 40)
@@ -4491,18 +4599,18 @@
* Bugs, reporting: Bugreport. (line 6)
* cdrecord, Emulation: Emulation. (line 111)
* Character Set, _definition: Charset. (line 6)
-* Character Set, for input, -in_charset: Loading. (line 91)
+* Character Set, for input, -in_charset: Loading. (line 92)
* Character Set, for input/output, -charset: Charset. (line 43)
-* Character Set, for output, -out_charset: SetWrite. (line 189)
-* Character set, learn from image, -auto_charset: Loading. (line 97)
+* Character Set, for output, -out_charset: SetWrite. (line 212)
+* Character set, learn from image, -auto_charset: Loading. (line 98)
* Character Set, of terminal, -local_charset: Charset. (line 47)
* Closed media, _definition: Media. (line 43)
* Comment, #: Scripting. (line 162)
* Control, signal handling, -signal_handling: Exception. (line 69)
-* Create, new ISO image, _definiton: Methods. (line 6)
-* Cylinder alignment, _definiton: Bootable. (line 167)
-* Cylinder size, _definiton: Bootable. (line 156)
-* Damaged track and session, close, -close_damaged: Writing. (line 136)
+* Create, new ISO image, _definition: Methods. (line 6)
+* Cylinder alignment, _definition: Bootable. (line 167)
+* Cylinder size, _definition: Bootable. (line 156)
+* Damaged track and session, close, -close_damaged: Writing. (line 152)
* Delete, from ISO image, -rm: Manip. (line 21)
* Delete, from ISO image, -rm_r: Manip. (line 28)
* Delete, ISO directory, -rmdir: Manip. (line 32)
@@ -4516,57 +4624,60 @@
* Directory, create, -mkdir: Insert. (line 166)
* Directory, delete, -rmdir: Manip. (line 32)
* disk_path, _definition: Insert. (line 6)
-* Drive, _definiton: Drives. (line 6)
-* Drive, accessability, -drive_class: Loading. (line 53)
-* Drive, classify stdio, -early_stdio_test: Loading. (line 251)
-* Drive, demand real MMC, -ban_stdio_write: Loading. (line 246)
-* Drive, eject tray, -eject: Writing. (line 36)
+* Drive, _definition: Drives. (line 6)
+* Drive, accessability, -drive_class: Loading. (line 54)
+* Drive, classify stdio, -early_stdio_test: Loading. (line 252)
+* Drive, demand real MMC, -ban_stdio_write: Loading. (line 247)
+* Drive, eject tray, -eject: Writing. (line 52)
* Drive, for input and output, -dev: AqDrive. (line 12)
* Drive, for input, -indev: AqDrive. (line 24)
* Drive, for output, -outdev: AqDrive. (line 31)
* Drive, get drive list, -device_links: Inquiry. (line 18)
* Drive, get drive list, -devices: Inquiry. (line 7)
-* Drive, list supported media, -list_profiles: Writing. (line 150)
-* Drive, reduce activity, -calm_drive: Loading. (line 235)
+* Drive, list supported media, -list_profiles: Writing. (line 166)
+* Drive, reduce activity, -calm_drive: Loading. (line 236)
* Drive, report SCSI commands, -scsi_log: Scripting. (line 147)
-* Drive, write and eject, -commit_eject: Writing. (line 40)
-* EA, _definiton: Extras. (line 54)
-* El Torito, _definiton: Extras. (line 19)
+* Drive, write and eject, -commit_eject: Writing. (line 56)
+* EA, _definition: Extras. (line 54)
+* ECMA-119, _definition: Model. (line 6)
+* El Torito, _definition: Extras. (line 19)
* Emulation, -as: Emulation. (line 13)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 146)
* Emulation, cdrecord, -as: Emulation. (line 111)
* Emulation, mkisofs, -as: Emulation. (line 16)
* Emulation, pacifier form, -pacifier: Emulation. (line 158)
* Examples: Examples. (line 6)
-* extattr, _definiton: Extras. (line 54)
+* extattr, _definition: Extras. (line 54)
* Filter, _definition: Filter. (line 6)
-* Filter, apply to file tree, -set_filter_r: Filter. (line 85)
+* Filter, apply to file tree, -set_filter_r: Filter. (line 89)
* Filter, apply to file, -set_filter: Filter. (line 60)
* Filter, ban registration, -close_filter_list: Filter. (line 52)
* Filter, register, -external_filter: Filter. (line 20)
* Filter, show chain, -show_stream: Navigate. (line 169)
* Filter, show chains of tree, -show_stream_r: Navigate. (line 183)
* Filter, unregister, -unregister_filter: Filter. (line 48)
-* Filter, zisofs parameters, -zisofs: SetWrite. (line 203)
-* Group, global in ISO image, -gid: SetWrite. (line 199)
+* Filter, zisofs parameters, -zisofs: SetWrite. (line 226)
+* Group, global in ISO image, -gid: SetWrite. (line 222)
* Group, in ISO image, -chgrp: Manip. (line 50)
* Group, in ISO image, -chgrp_r: Manip. (line 55)
* Growing, _definition: Methods. (line 19)
-* Hard links, control handling, -hardlinks: Loading. (line 109)
+* Hard links, control handling, -hardlinks: Loading. (line 110)
* hidden, set in ISO image, -hide: Manip. (line 171)
+* Image reading, cache size, -data_cache_size: Loading. (line 265)
* Image, _definition: Model. (line 9)
-* Image, demand volume id, -assert_volid: Loading. (line 83)
+* Image, demand volume id, -assert_volid: Loading. (line 84)
* Image, discard pending changes, -rollback: Writing. (line 9)
-* Image, set abstract file name, -abstract_file: SetWrite. (line 164)
-* Image, set application id, -application_id: SetWrite. (line 123)
-* Image, set biblio file name, -biblio_file: SetWrite. (line 171)
-* Image, set copyright file name, -copyright_file: SetWrite. (line 158)
-* Image, set preparer id, -preparer_id: SetWrite. (line 177)
-* Image, set publisher id, -publisher: SetWrite. (line 117)
-* Image, set system id, -system_id: SetWrite. (line 132)
-* Image, set volume id, -volid: SetWrite. (line 93)
-* Image, set volume set id, -volset_id: SetWrite. (line 112)
-* Image, set volume timestamp, -volume_date: SetWrite. (line 139)
+* Image, override change status, -changes_pending: Writing. (line 13)
+* Image, set abstract file name, -abstract_file: SetWrite. (line 187)
+* Image, set application id, -application_id: SetWrite. (line 146)
+* Image, set biblio file name, -biblio_file: SetWrite. (line 194)
+* Image, set copyright file name, -copyright_file: SetWrite. (line 181)
+* Image, set preparer id, -preparer_id: SetWrite. (line 200)
+* Image, set publisher id, -publisher: SetWrite. (line 140)
+* Image, set system id, -system_id: SetWrite. (line 155)
+* Image, set volume id, -volid: SetWrite. (line 116)
+* Image, set volume set id, -volset_id: SetWrite. (line 135)
+* Image, set volume timestamp, -volume_date: SetWrite. (line 162)
* Image, show id strings, -pvd_info: Inquiry. (line 93)
* Insert, enable overwriting, -overwrite: SetInsert. (line 127)
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 55)
@@ -4590,17 +4701,18 @@
* Insert, paths, -cpr: Insert. (line 152)
* Insert, pathspecs, -add: Insert. (line 42)
* Insert, piece of data file, -cut_out: Insert. (line 126)
+* ISO 9660, _definition: Model. (line 6)
* iso_rr_path, _definition: Insert. (line 7)
* Jigdo Template Extraction, -jigdo: Jigdo. (line 33)
* Jigdo Template Extraction, _definition: Jigdo. (line 6)
-* List delimiter, _definiton: Processing. (line 8)
-* MBR, _definiton: Extras. (line 26)
+* List delimiter, _definition: Processing. (line 9)
+* MBR, _definition: Extras. (line 26)
* MBR, set, -boot_image system_area=: Bootable. (line 121)
-* MD5, control handling, -md5: Loading. (line 155)
-* Media, erase, -blank: Writing. (line 45)
-* Media, format, -format: Writing. (line 72)
-* Media, list formats, -list_formats: Writing. (line 110)
-* Media, list write speeds, -list_speeds: Writing. (line 122)
+* MD5, control handling, -md5: Loading. (line 156)
+* Media, erase, -blank: Writing. (line 61)
+* Media, format, -format: Writing. (line 88)
+* Media, list formats, -list_formats: Writing. (line 126)
+* Media, list write speeds, -list_speeds: Writing. (line 138)
* MIPS boot file, activation: Bootable. (line 176)
* mkisofs, Emulation: Emulation. (line 16)
* Modifying, _definition: Methods. (line 27)
@@ -4624,13 +4736,13 @@
* Navigate, tell ISO working directory, -pwd: Navigate. (line 20)
* Next writeable address, -grow_blindly: AqDrive. (line 46)
* Overwriteable media, _definition: Media. (line 14)
-* Ownership, global in ISO image, -uid: SetWrite. (line 195)
+* Ownership, global in ISO image, -uid: SetWrite. (line 218)
* Ownership, in ISO image, -chown: Manip. (line 42)
* Ownership, in ISO image, -chown_r: Manip. (line 47)
-* Partition offset, _definiton: Bootable. (line 146)
-* Partition table, _definiton: Bootable. (line 128)
+* Partition offset, _definition: Bootable. (line 146)
+* Partition table, _definition: Bootable. (line 128)
* Pathspec, _definition: SetInsert. (line 120)
-* Pattern expansion, _definition: Processing. (line 22)
+* Pattern expansion, _definition: Processing. (line 24)
* Pattern expansion, for disk paths, -disk_pattern: Insert. (line 31)
* Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10)
* Permissions, in ISO image, -chmod: Manip. (line 58)
@@ -4665,8 +4777,9 @@
* Program, show current settings, -status: Scripting. (line 47)
* Program, status history, -status_history_max: Scripting. (line 56)
* Program, wait a time span, -sleep: Scripting. (line 114)
-* Quoted input, _definiton: Processing. (line 42)
+* Quoted input, _definition: Processing. (line 46)
* Recovery, retrieve blocks, -check_media: Verify. (line 21)
+* Relocation directory, set name, -rr_reloc_dir: SetWrite. (line 97)
* Rename, in ISO image, -mv: Manip. (line 35)
* Restore, copy file into disk file, -paste_in: Restore. (line 121)
* Restore, copy file piece to disk, -extract_cut: Restore. (line 81)
@@ -4677,19 +4790,20 @@
* Restore, copy files to disk, -cpx: Restore. (line 92)
* Restore, copy files to disk, -extract_l: Restore. (line 76)
* Restore, enable ISO-to-disk, -osirrox: Restore. (line 18)
-* Rock Ridge, _definiton: Extras. (line 6)
+* Rock Ridge, _definition: Extras. (line 6)
* Session, _definition: Model. (line 6)
-* Session, altered start address, -displacement: Loading. (line 35)
+* Session, altered start address, -displacement: Loading. (line 36)
* Session, info string, -session_string: Inquiry. (line 67)
* Session, issue mount command, -mount: Restore. (line 126)
* Session, log when written, -session_log: Scripting. (line 138)
* Session, mount command line, -mount_cmd: Inquiry. (line 41)
* Session, mount parameters, -mount_opts: Inquiry. (line 57)
* Session, select as input, -load: Loading. (line 11)
+* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27)
* SUN Disk Label, production: Bootable. (line 187)
* SUN SPARC boot images, activation: Bootable. (line 220)
-* System area, _definiton: Bootable. (line 121)
-* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 210)
+* System area, _definition: Bootable. (line 121)
+* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 211)
* Table-of-content, show, -toc: Inquiry. (line 28)
* Timestamps, set in ISO image, -alter_date: Manip. (line 147)
* Timestamps, set in ISO image, -alter_date_r: Manip. (line 167)
@@ -4699,27 +4813,27 @@
* Verify, compare ISO and disk file, -compare: Navigate. (line 146)
* Verify, compare ISO and disk tree, -compare_r: Navigate. (line 159)
* Verify, compare ISO and disk, -compare_l: Navigate. (line 164)
-* Verify, file checksum, -check_md5: Verify. (line 147)
-* Verify, file tree checksums, -check_md5_r: Verify. (line 163)
-* Verify, preset -check_media, -check_media_defaults: Verify. (line 40)
-* Write, block size, -dvd_obs: SetWrite. (line 242)
+* Verify, file checksum, -check_md5: Verify. (line 148)
+* Verify, file tree checksums, -check_md5_r: Verify. (line 164)
+* Verify, preset -check_media, -check_media_defaults: Verify. (line 41)
+* Write, block size, -dvd_obs: SetWrite. (line 265)
* Write, bootability, -boot_image: Bootable. (line 26)
-* Write, buffer syncing, -stdio_sync: SetWrite. (line 249)
-* Write, close media, -close: SetWrite. (line 266)
+* Write, buffer syncing, -stdio_sync: SetWrite. (line 272)
+* Write, close media, -close: SetWrite. (line 289)
* Write, compliance to specs, -compliance: SetWrite. (line 14)
-* Write, defect management, -stream_recording: SetWrite. (line 230)
+* Write, defect management, -stream_recording: SetWrite. (line 253)
* Write, enable Joliet, -joliet: SetWrite. (line 10)
-* Write, fifo size, -fs: SetWrite. (line 259)
+* Write, fifo size, -fs: SetWrite. (line 282)
* Write, free space, -tell_media_space: Inquiry. (line 89)
* Write, log problematic disk files, -errfile_log: Scripting. (line 118)
* Write, log written sessions, -session_log: Scripting. (line 138)
-* Write, padding image, -padding: SetWrite. (line 272)
-* Write, pending ISO image, -commit: Writing. (line 13)
+* Write, padding image, -padding: SetWrite. (line 295)
+* Write, pending ISO image, -commit: Writing. (line 29)
* Write, predict image size, -print_size: Inquiry. (line 80)
-* Write, set speed, -speed: SetWrite. (line 215)
-* Write, simulation, -dummy: SetWrite. (line 255)
-* xattr, _definiton: Extras. (line 54)
-* xattr, control handling, -xattr: Loading. (line 150)
+* Write, set speed, -speed: SetWrite. (line 238)
+* Write, simulation, -dummy: SetWrite. (line 278)
+* xattr, _definition: Extras. (line 54)
+* xattr, control handling, -xattr: Loading. (line 151)
* xattr, set in ISO image, -setfattr: Manip. (line 111)
* xattr, set in ISO image, -setfattr_list: Manip. (line 127)
* xattr, set in ISO image, -setfattr_r: Manip. (line 124)
@@ -4732,56 +4846,57 @@
Node: Top420
Node: Overview1375
Node: Model3264
-Node: Media6151
-Node: Methods8817
-Node: Drives11386
-Node: Extras14699
-Node: Processing18416
-Node: Dialog21886
-Node: Options23549
-Node: AqDrive25157
-Node: Loading28194
-Node: Insert42463
-Node: SetInsert52169
-Node: Manip60737
-Node: CmdFind69467
-Node: Filter81572
-Node: Writing85910
-Node: SetWrite93911
-Node: Bootable108214
-Node: Jigdo121434
-Node: Charset125680
-Node: Exception128439
-Node: DialogCtl134552
-Node: Inquiry137139
-Node: Navigate142002
-Node: Verify150260
-Node: Restore158927
-Node: Emulation165832
-Node: Scripting175637
-Node: Frontend182802
-Node: Examples184101
-Node: ExDevices185278
-Node: ExCreate185937
-Node: ExDialog187219
-Node: ExGrowing188482
-Node: ExModifying189287
-Node: ExBootable189790
-Node: ExCharset190342
-Node: ExPseudo191162
-Node: ExCdrecord192060
-Node: ExMkisofs192377
-Node: ExGrowisofs193717
-Node: ExException194852
-Node: ExTime195306
-Node: ExIncBackup195765
-Node: ExRestore199751
-Node: ExRecovery200711
-Node: Files201281
-Node: Seealso202579
-Node: Bugreport203302
-Node: Legal203883
-Node: CommandIdx204813
-Node: ConceptIdx219909
+Node: Media6170
+Node: Methods8841
+Node: Drives11416
+Node: Extras14731
+Node: Processing18452
+Node: Dialog22072
+Node: Options23749
+Node: ArgSort25423
+Node: AqDrive26913
+Node: Loading29957
+Node: Insert45166
+Node: SetInsert54881
+Node: Manip63457
+Node: CmdFind72193
+Node: Filter84302
+Node: Writing88857
+Node: SetWrite97821
+Node: Bootable113484
+Node: Jigdo126706
+Node: Charset130952
+Node: Exception133713
+Node: DialogCtl139832
+Node: Inquiry142429
+Node: Navigate147295
+Node: Verify155556
+Node: Restore164245
+Node: Emulation171154
+Node: Scripting180965
+Node: Frontend188125
+Node: Examples189425
+Node: ExDevices190602
+Node: ExCreate191261
+Node: ExDialog192546
+Node: ExGrowing193811
+Node: ExModifying194616
+Node: ExBootable195120
+Node: ExCharset195672
+Node: ExPseudo196493
+Node: ExCdrecord197391
+Node: ExMkisofs197708
+Node: ExGrowisofs199048
+Node: ExException200183
+Node: ExTime200637
+Node: ExIncBackup201096
+Node: ExRestore205087
+Node: ExRecovery206047
+Node: Files206617
+Node: Seealso207916
+Node: Bugreport208639
+Node: Legal209220
+Node: CommandIdx210150
+Node: ConceptIdx225738

End Tag Table
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorriso.texi
^
|
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename xorriso.info
-@settitle GNU xorriso 1.2.0
+@settitle GNU xorriso 1.2.2
@c %**end of header
@c
@c man-ignore-lines begin
@@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
-@c man .TH XORRISO 1 "Version 1.2.0, Jan 27, 2012"
+@c man .TH XORRISO 1 "Version 1.2.2, Apr 02, 2012"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@@ -77,7 +77,7 @@
@end copying
@c man-ignore-lines end
@titlepage
-@title Manual of GNU xorriso 1.2.0
+@title Manual of GNU xorriso 1.2.2
@author Thomas Schmitt
@page
@vskip 0pt plus 1filll
@@ -86,7 +86,7 @@
@contents
@ifnottex
@node Top
-@top GNU xorriso 1.2.0
+@top GNU xorriso 1.2.2
@c man-ignore-lines 1
@c man .SH NAME
@@ -199,7 +199,10 @@
@c man \fBSession model:\fR
@c man .br
@cindex Session, _definition
-Unlike other filesystems, ISO 9660 is not intended for read-write operation but
+@cindex ISO 9660, _definition
+@cindex ECMA-119, _definition
+Unlike other filesystems, @strong{ISO 9660} (aka @strong{ECMA-119})
+is not intended for read-write operation but
rather for being generated in a single sweep and being written to media as a
@strong{session}.
@*
@@ -272,11 +275,11 @@
@cindex Multi-session media, _definition
@strong{Multi-session media} are CD-R, CD-RW, DVD-R, DVD+R, DVD+R/DL, BD-R, and
unformatted DVD-RW. These media provide a table of content which
-describes their existing sessions. See option @strong{-toc}.
+describes their existing sessions. See command @strong{-toc}.
@*
Similar to multi-session media are DVD-R DL and minimally blanked DVD-RW.
They allow only a single session of which the size must be known in advance.
-@command{xorriso} will write onto them only if option -close is set to "on".
+@command{xorriso} will write onto them only if command -close is set to "on".
@*
@cindex Overwriteable media, _definition
@strong{Overwriteable media} are DVD-RAM, DVD+RW, BD-RE, and formatted DVD-RW.
@@ -313,7 +316,7 @@
multi-session media in appendable state, or they are overwriteable media
which contain an ISO image suitable for @command{xorriso}.
@*
-Appendable is the state after writing a session with option -close off.
+Appendable is the state after writing a session with command -close off.
@*
@sp 1
@cindex Closed media, _definition
@@ -321,7 +324,7 @@
for @command{xorriso}.
@*
Closed is the state of DVD-ROM media and of multi-session media which were
-written with option -close on. If the drive is read-only hardware then it will
+written with command -close on. If the drive is read-only hardware then it will
probably show any media as closed CD-ROM resp. DVD-ROM.
@*
Overwriteable media assume this state in such read-only drives or if they
@@ -329,17 +332,17 @@
@*
Read-only drives may or may not show session histories of multi-session
media. Often only the first and the last session are visible. Sometimes
-not even that. Option -rom_toc_scan might or might not help in such cases.
+not even that. Command -rom_toc_scan might or might not help in such cases.
@c man .SS
@node Methods, Drives, Media, top
@chapter Creating, Growing, Modifying, Blind Growing:
@c man .B Creating, Growing, Modifying, Blind Growing:
@*
-@cindex Create, new ISO image, _definiton
+@cindex Create, new ISO image, _definition
A new empty ISO image gets @strong{created}
if there is no input drive with a valid ISO 9660 image when the first time
-an output drive is defined. This is achieved by option -dev on blank media
-or by option -outdev on media in any state.
+an output drive is defined. This is achieved by command -dev on blank media
+or by command -outdev on media in any state.
@*
The new empty image can be populated with directories and files.
Before it can be written, the medium in the output drive must get into
@@ -359,7 +362,7 @@
previous sessions but they still exist on the medium and with many types of
optical media it is quite easy to recover them by mounting older sessions.
@*
-Growing is achieved by option -dev.
+Growing is achieved by command -dev.
@c man .PP
@sp 1
@cindex Modifying, _definition
@@ -375,12 +378,12 @@
filesystem objects as source and/or target medium.
@*
Modifying takes place if input drive and output drive are not the same and
-if option -grow_blindly is set to its default "off".
-This is achieved by options -indev and -outdev.
+if command -grow_blindly is set to its default "off".
+This is achieved by commands -indev and -outdev.
@c man .PP
@sp 1
@cindex Blind growing, _definition
-If option -grow_blindly is set to a non-negative number and if -indev and
+If command -grow_blindly is set to a non-negative number and if -indev and
-outdev are both set to different drives, then @strong{blind growing} is
performed. It produces an add-on session which is ready for being written
to the given block address. This is the usage model of
@@ -397,7 +400,7 @@
@chapter Libburn drives
@c man .B Libburn drives:
@c man .br
-@cindex Drive, _definiton
+@cindex Drive, _definition
Input drive, i.e. source of an existing or empty ISO image, can be any random
access readable libburn drive: optical media with readable data,
blank optical media, regular files, block devices.
@@ -483,20 +486,20 @@
in the /dev tree without prefix "stdio:" will work only if it leads to a MMC
drive.
@*
-One may use option
+One may use command
@strong{-ban_stdio_write}
to surely prevent this risk and to allow only MMC drives.
@*
One may prepend "mmc:" to a path to surely disallow any automatic "stdio:".
@c man .br
-By option -drive_class one may ban certain paths or allow access without
+By command -drive_class one may ban certain paths or allow access without
prefix "stdio:" to other paths.
@c man .SS
@node Extras, Processing, Drives, top
@chapter Rock Ridge, POSIX, X/Open, El Torito, ACL, xattr
@c man .B Rock Ridge, POSIX, X/Open, El Torito, ACL, xattr:
@c man .br
-@cindex Rock Ridge, _definiton
+@cindex Rock Ridge, _definition
@strong{Rock Ridge}
is the name of a set of additional information which enhance
an ISO 9660 filesystem so that it can represent a POSIX compliant filesystem
@@ -514,7 +517,7 @@
characters. Rock Ridge fulfills this demand.
@c man .PP
@sp 1
-@cindex El Torito, _definiton
+@cindex El Torito, _definition
An @strong{El Torito}
boot record points the BIOS bootstrapping facility to one or more boot
images, which are binary program files stored in the ISO image.
@@ -522,11 +525,11 @@
@*
Most bootable GNU/Linux CDs are equipped with ISOLINUX or GRUB boot images.
@command{xorriso} is able to create or maintain an El Torito object which
-makes such an image bootable. For details see option -boot_image.
+makes such an image bootable. For details see command -boot_image.
@*
-@cindex MBR, _definiton
+@cindex MBR, _definition
It is possible to make ISO images bootable from USB stick or other
-hard-disk-like media by -boot_image argument system_area= . This installs
+hard-disk-like media by -boot_image parameter system_area= . This installs
a Master Boot Record which may get adjusted according to the needs
of GRUB resp. ISOLINUX.
An @strong{MBR} contains boot code and a partition table. It does not hamper
@@ -542,12 +545,12 @@
@*
@c man .PP
@sp 1
-@cindex ACL, _definiton
+@cindex ACL, _definition
@strong{ACL}
are an advanced way of controlling access permissions to file objects. Neither
ISO 9660 nor Rock Ridge specify a way to record ACLs. So libisofs has
introduced a standard conformant extension named AAIP for that purpose.
-It uses this extension if enabled by option
+It uses this extension if enabled by command
@strong{-acl}.
@*
AAIP enhanced images are supposed to be mountable normally, but one cannot
@@ -566,9 +569,9 @@
only on GNU/Linux and FreeBSD.
@c man .PP
@sp 1
-@cindex xattr, _definiton
-@cindex EA, _definiton
-@cindex extattr, _definiton
+@cindex xattr, _definition
+@cindex EA, _definition
+@cindex extattr, _definition
@strong{xattr} (aka EA, or extattr)
are pairs of name and value which can be attached to file objects. AAIP is
able to represent them and @command{xorriso} allows to record and restore
@@ -576,7 +579,7 @@
have names out of the user namespace. I.e. those which begin with "user.",
like "user.x" or "user.whatever". Name has to be a 0 terminated string.
Value may be any array of bytes which does not exceed the size of 4095 bytes.
-xattr processing happens only if it is enabled by option
+xattr processing happens only if it is enabled by command
@strong{-xattr}.
@*
As with ACL, currently only @command{xorriso} is able to retrieve xattr
@@ -591,84 +594,88 @@
@c man .B Command processing:
@c man .br
Commands are either actions which happen immediately or settings which
-influence following actions. So their sequence does matter.
+influence following actions. So their sequence does matter, unless they are
+given as program arguments and command
+@strong{-x}
+is among them.
@*
-@cindex List delimiter, _definiton
+@cindex List delimiter, _definition
Commands consist of a command word,
followed by zero or more parameter words. If the list of parameter words
-is of variable length (indicated by "[...]" or "[***]") then it has to be
-terminated by either the @strong{list delimiter}, or the end of argument list,
-or an end of an input line.
+is of variable length (indicated by "[...]" or "[***]") then it must be
+terminated by either the @strong{list delimiter}, occur at the end of
+the argument list, or occur at the end of an input line.
@c man .PP
@sp 1
-At program start the list delimiter is the word "@minus{}@minus{}".
-This may be changed by option -list_delimiter in order to allow
-"@minus{}@minus{}" as argument in a list of variable length.
-It is advised to reset the delimiter to "@minus{}@minus{}" immediately
-afterwards.
+At program start the list delimiter is the string "@minus{}@minus{}".
+This may be changed with the -list_delimiter command in order to allow
+"@minus{}@minus{}" as parameter in a variable length list.
+However, it is advised to reset the delimiter to "@minus{}@minus{}"
+immediately afterwards.
@*
For brevity the list delimiter is referred as "@minus{}@minus{}"
throughout this text.
@*
-The list delimiter is silently tolerated if it appears after the parameters of
+The list delimiter is silently ignored if it appears after the parameters of
a command with a fixed list length. It is handled as normal text if it
-appears among the arguments of such a command.
+appears among the parameters of such a command.
@c man .PP
@sp 1
@cindex Pattern expansion, _definition
@strong{Pattern expansion}
converts a list of pattern words into a list of existing file addresses.
-Unmatched pattern words appear themselves in that result list, though.
+Unmatched pattern words will appear unaltered in that result list.
@*
Pattern matching supports the usual shell parser wildcards '*' '?' '[xyz]'
-and respects '/' as separator which may only be matched literally.
+and respects '/' as the path separator, which may only be matched literally.
@*
-It is a property of some particular commands and not a general
-feature. It gets controlled by commands -iso_rr_pattern and -disk_pattern.
-Commands which may use pattern expansion all have variable argument
-lists which are marked in this man page by "[***]" rather than "[...]".
+Pattern expansion is a property of some particular commands and not a general
+feature. It is controlled by commands -iso_rr_pattern and -disk_pattern.
+Commands which use pattern expansion all have variable parameter
+lists which are specified in this text by "[***]" rather than "[...]".
@*
Some other commands perform pattern matching unconditionally.
@c man .PP
@sp 1
-Command and parameter words are either read from program arguments, where one
-argument is one word, or from quoted input lines where words are recognized
+Command and parameter words are either read from the program arguments, where
+one argument is one word, or from quoted input lines where words are recognized
similar to the quotation rules of a shell parser.
@*
-@command{xorriso} is not a shell, although it might appear so on first glimpse.
+@command{xorriso} is not a shell, although it might appear so at first glimpse.
Be aware that the interaction of quotation marks and pattern symbols like "*"
differs from the usual shell parsers. In @command{xorriso}, a quotation mark
does not make a pattern symbol literal.
@c man .PP
@sp 1
-@cindex Quoted input, _definiton
+@cindex Quoted input, _definition
@strong{Quoted input}
-converts whitespace separated text pieces into words.
+converts whitespace-separated text into words.
The double quotation mark " and the single quotation mark ' can be used to
enclose whitespace and make it part of words (e.g. of file names). Each mark
type can enclose the marks of the other type. A trailing backslash \ outside
quotations or an open quotation cause the next input line to be appended.
@*
@cindex Backslash Interpretation, _definition
-Quoted input accepts any ASCII character except NUL (0) as content of quotes.
+Quoted input accepts any 8-bit character except NUL (0) as the content of
+the quotes.
Nevertheless it can be cumbersome for the user to produce those characters
-at all. Therefore quoted input and program arguments allow optional
+directly. Therefore quoted input and program arguments allow optional
@strong{Backslash Interpretation}
-which can represent all ASCII characters except NUL (0) by backslash codes
+which can represent all 8-bit characters except NUL (0) via backslash codes
as in $'...' of bash.
@*
-It is not enabled by default. See option -backslash_codes.
+This is not enabled by default. See command -backslash_codes.
@c man .PP
@sp 1
When the program starts then it first looks for argument -no_rc. If this is
not present then it looks for its startup files and
reads their content as command input lines. Then it interprets
the program arguments as commands and parameters. Finally it enters
-dialog mode if command -dialog "on" was executed up to then.
+dialog mode if command -dialog "on" has been executed by this point.
@c man .PP
@sp 1
The program ends either by command -end, or by the end of program arguments
-if not dialog was enabled up to that moment, or by a problem
+if dialog mode has not been enabled at that point, or by a problem
event which triggers the threshold of command -abort_on.
@c man .SS
@node Dialog, Options, Processing, top
@@ -680,16 +687,16 @@
to make dialog more comfortable.
@c man .PP
@sp 1
-Readline is an enhancement for the input line. You may know it already from
+Readline is an enhancement for the input line. You may already know it from
the bash shell. Whether it is available in @command{xorriso} depends on the
availability
of package readline-dev at the time when @command{xorriso} was built from
its sourcecode.
@*
-It allows to move the cursor over the text in the line by help of the
-Leftward and the Rightward arrow key.
+Readline allows to move the cursor over the text in the line by help of the
+Left and the Right arrow keys.
Text may be inserted at the cursor position. The Delete key removes the
-character under the cursor. Upward and Downward arrow keys navigate through
+character under the cursor. Up and Down arrow keys navigate through
the history of previous input lines.
@*
@c man-ignore-lines 1
@@ -698,38 +705,39 @@
for more info about libreadline.
@c man .PP
@sp 1
-Option -page activates a built-in result text pager which may be convenient in
-dialog. After an action has put out the given number of terminal lines,
+Command -page activates a built-in result text pager which may be convenient in
+dialog mode. After an action has output the given number of terminal lines,
the pager prompts the user for a line of input.
@*
-An empty line lets @command{xorriso} resume work until the next page is put out.
+An empty line lets @command{xorriso} resume work until the next page is output.
@*
The single character "@@" disables paging for the current action.
@*
-"@@@@@@", "x", "q", "X", or "Q" urge the current action to abort and suppress
-further result output.
+"@@@@@@", "x", "q", "X", or "Q" request that the current action aborts and
+suppress further result output.
@*
-Any other line will be interpreted as new dialog line. The current action
-is urged to abort. Afterwards, the input line is executed.
+Any other line input will be interpreted as new dialog line. The current action
+is requested to abort. Afterwards, the input line is executed.
@c man .PP
@sp 1
Some actions apply paging to their info output, too.
@*
-The urge to abort may or may not be obeyed by the current action. All actions
-try to abort as soon as possible.
+The request to abort may or may not be obeyed by the current action.
+All actions try to abort as soon as possible.
@node Options, Examples, Dialog, top
@chapter Options
@c man .br
@c man .SH OPTIONS
@c man .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 command to be recognized. Nevertheless within command -as
+the dashes of the emulated commands are mandatory.
@*
Normally any number of leading dashes is ignored with command words and
inner dashes are interpreted as underscores.
@menu
-* AqDrive:: Aquiring source and target drive
+* ArgSort:: Execution order of program arguments
+* AqDrive:: Acquiring source and target drive
* Loading:: Influencing the behavior of image loading
* Insert:: Inserting files into ISO image
* SetInsert:: Settings for file insertion
@@ -746,25 +754,67 @@
* Inquiry:: Drive and media related inquiry actions
* Navigate:: Navigation in ISO image and disk filesystem
* Verify:: Evaluation of readability and recovery
-* Restore:: osirrox ISO-to-disk restore options
+* Restore:: osirrox ISO-to-disk restore commands
* Emulation:: Command compatibility emulations (cdrtools)
* Scripting:: Scripting, dialog and program control features
* Frontend:: Support for frontend programs via stdin and stdout
@end menu
@c man .TP
-@node AqDrive, Loading, Options, Options
-@section Aquiring source and target drive
-@c man .B Aquiring source and target drive:
+@node ArgSort, AqDrive, Options, Options
+@section Execution order of program arguments
+@c man .B Execution order of program arguments:
+@c man .PP
+By default the program arguments of a xorriso run are interpreted as a
+sequence of commands which get performed exactly in the given order.
+This requires the user to write commands for desired settings before the
+commands which shall be influenced by those settings.
+@*
+Many other programs support program arguments in an arbitrary ordering
+and perform settings and actions in a sequence at their own discretion.
+xorriso provides an option to enable such a behavior
+at the cost of loss of expressivity.
+@table @asis
+@sp 1
+@c man .TP
+@item -x
+@kindex -x enables automatic execution order of arguments
+@cindex Automatic execution order, of arguments, -x
+Enable automatic sorting of program arguments into a sequence that
+(most likely) is sensible.
+This command may be given at any position among the commands
+which are handed over as program arguments.
+@*
+Note: It works only if it is given as program argument and
+with a single dash (i.e. "-x"). It will not work in startup files, nor with
+-options_from_file, nor in dialog mode, nor as "x" and finally not as
+"@minus{}@minus{}x".
+It affects only the commands given as program arguments.
+@c man .TP
+@item -list_arg_sorting
+@kindex -list_arg_sorting prints sorting order of -x
+@cindex Sorting order, for -x, -list_arg_sorting
+List all xorriso commands in the order which applies if command -x is in
+effect.
+@*
+This list may also be helpful without -x for a user who ponders over the
+sequence in which to put commands. Deviations from the listed sorting order may
+well make sense, though.
+@end table
@c man .PP
-The effect of aquiring a drive may depend on several options in the
+@c man .TP
+@node AqDrive, Loading, ArgSort, Options
+@section Acquiring source and target drive
+@c man .B Acquiring source and target drive:
+@c man .PP
+The effect of acquiring a drive may depend on several commands in the
next paragraph "Influencing the behavior of image loading".
If desired, their enabling commands have to be performed before the
-commands which aquire the drive.
+commands which acquire the drive.
@table @asis
@sp 1
@c man .TP
@item -dev address
-@kindex -dev aquires one drive for input and output
+@kindex -dev acquires one drive for input and output
@cindex Drive, for input and output, -dev
Set input and output drive to the same address and load an ISO image if it
is present.
@@ -779,10 +829,10 @@
apply. See above paragraph "Libburn drives".
@*
An empty address string "" gives up the current device
-without aquiring a new one.
+without acquiring a new one.
@c man .TP
@item -indev address
-@kindex -indev aquires a drive for input
+@kindex -indev acquires a drive for input
@cindex Drive, for input, -indev
Set input drive and load an ISO image if present.
If the new input drive differs
@@ -791,7 +841,7 @@
The same rules and restrictions apply as with -dev.
@c man .TP
@item -outdev address
-@kindex -outdev aquires a drive for output
+@kindex -outdev acquires a drive for output
@cindex Drive, for output, -outdev
Set output drive and if it differs from the input drive then switch from
growing to modifying or to blind growing. Unlike -dev and -indev this action
@@ -807,7 +857,7 @@
apply. See above paragraph "Libburn drives".
@*
An empty address string "" gives up the current output drive
-without aquiring a new one. No writing is possible without an output drive.
+without acquiring a new one. No writing is possible without an output drive.
@c man .TP
@item -grow_blindly "off"|predicted_nwa
@kindex -grow_blindly overides next writeable address
@@ -831,8 +881,8 @@
@node Loading, Insert, AqDrive, Options
@section Influencing the behavior of image loading
@c man .PP
-The following options should normally be performed before loading an image
-by aquiring an input drive. In rare cases it is desirable to activate
+The following commands should normally be performed before loading an image
+by acquiring an input drive. In rare cases it is desirable to activate
them only after image loading.
@table @asis
@sp 1
@@ -841,7 +891,7 @@
@kindex -load addresses a particular session as input
@cindex Session, select as input, -load
Load a particular (possibly outdated) ISO session from -dev or -indev.
-Usually all available sessions are shown with option -toc.
+Usually all available sessions are shown with command -toc.
@*
entity depicts the kind of addressing. id depicts the particular
address. The following entities are defined:
@@ -874,7 +924,7 @@
and reading of their files. The multi-session method of growing is not allowed
as long as -displacement is non-zero. I.e. -indev and -outdev must be
different. The displacement gets reset to 0 before the drive
-gets re-aquired after writing.
+gets re-acquired after writing.
@*
Examples:
@*
@@ -933,7 +983,7 @@
an event of the given severity (like FAILURE, see -abort_on). An empty search
pattern accepts any image.
@*
-This option does not hamper the creation of an empty image from blank
+This command does not hamper the creation of an empty image from blank
input media and does not discard an already loaded image.
@c man .TP
@item -in_charset character_set_name
@@ -1005,14 +1055,14 @@
store ACLs in the ISO image using the libisofs specific AAIP format,
load AAIP data from ISO images, test ACL during file comparison,
and restore ACLs to disk files when extracting them from ISO images.
-See also options -getfacl, -setfacl.
+See also commands -getfacl, -setfacl.
@c man .TP
@item -xattr "on"|"off"
@kindex -xattr controls handling of xattr (EA)
@cindex xattr, control handling, -xattr
Enable or disable processing of xattr attributes in user namespace.
If enabled, then @command{xorriso} will handle xattr similar to ACL.
-See also options -getfattr, -setfattr and above paragraph about xattr.
+See also commands -getfattr, -setfattr and above paragraph about xattr.
@c man .TP
@item -md5 "on"|"all"|"off"|"load_check_off"
@kindex -md5 controls handling of MD5 sums
@@ -1023,7 +1073,7 @@
checksums of data files and whole session get loaded from the image if there
are any.
@*
-With options -compare and -update the recorded MD5 of a file
+With commands -compare and -update the recorded MD5 of a file
will be used to avoid content reading from the image. Only the disk file
content will be read and compared with that MD5. This can save much time
if -disk_dev_ino "on" is not suitable.
@@ -1046,7 +1096,7 @@
@*
The test can be re-enabled by mode "load_check_on".
@*
-Checksums can be exploited via options -check_md5, -check_md5_r, via find
+Checksums can be exploited via commands -check_md5, -check_md5_r, via find
actions get_md5, check_md5, and via -check_media.
@c man .TP
@item -for_backup
@@ -1106,7 +1156,7 @@
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 medium.
+command which acquires drive and medium.
@c man .TP
@item -calm_drive "in"|"out"|"all"|"revoke"|"on"|"off"
@kindex -calm_drive reduces drive activity
@@ -1142,6 +1192,25 @@
@*
Mode "appendable_wo" is like "on" with the additional property that
non-empty write-only files are regarded as appendable rather than blank.
+@c man .TP
+@item -data_cache_size number_of_tiles blocks_per_tile
+@kindex -data_cache_size adjusts read cache size
+@cindex Image reading, cache size, -data_cache_size
+Set the size and granularity of the data cache which is used when ISO images
+are loaded and when file content is read from ISO images. The cache consists
+of several tiles, which each consists of several blocks. A larger cache
+reduces the need for tiles being read multiple times. Larger tiles might
+additionally improve the data throughput from the drive, but can be
+wasteful if the data are scattered over the medium.
+@*
+Larger cache sizes help best with image loading from MMC drives. They are an
+inferior alternative to -osirrox option "sort_lba_on".
+@*
+blocks_per_tile must be a power of 2. E.g. 16, 32, or 64. The overall cache
+size must not exceed 1 GiB.
+The default values can be restored by parameter "default" instead of one or
+both of the numbers.
+Currently the default is 32 tiles of 32 blocks = 2 MiB.
@end table
@c man .TP
@c man .B Inserting files into ISO image:
@@ -1188,7 +1257,7 @@
@item -disk_pattern "on"|"ls"|"off"
@kindex -disk_pattern controls pattern expansion
@cindex Pattern expansion, for disk paths, -disk_pattern
-Set the pattern expansion mode for the disk_path arguments of several
+Set the pattern expansion mode for the disk_path parameters of several
commands which support this feature.
@*
Setting "off" disables this feature for all commands which are marked in this
@@ -1270,7 +1339,7 @@
@item -map_l disk_prefix iso_rr_prefix disk_path [***]
@kindex -map_l inserts paths from disk file
@cindex Insert, paths from disk file, -map_l
-Perform -map with each of the disk_path arguments. iso_rr_path will be
+Perform -map with each of the disk_path parameters. iso_rr_path will be
composed from disk_path by replacing disk_prefix by iso_rr_prefix.
@c man .TP
@item -update disk_path iso_rr_path
@@ -1279,7 +1348,7 @@
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
+content reading before a decision is made. Commands -disk_dev_ino or -md5 may
accelerate comparison if they were already in effect when the loaded session
was recorded.
@*
@@ -1295,7 +1364,7 @@
and whether both counterparts match. If there is a mismatch then the necessary
update manipulation is done.
@*
-Note that the comparison result may depend on option -follow. Its setting
+Note that the comparison result may depend on command -follow. Its setting
should always be the same as with the first adding of disk_path as iso_rr_path.
@*
If iso_rr_path does not exist yet, then it gets added. If disk_path does not
@@ -1304,7 +1373,7 @@
@item -update_l disk_prefix iso_rr_prefix disk_path [***]
@kindex -update_l inserts paths if different
@cindex Insert, if different, -update_l
-Perform -update_r with each of the disk_path arguments. iso_rr_path will be
+Perform -update_r with each of the disk_path parameters. iso_rr_path will be
composed from disk_path by replacing disk_prefix by iso_rr_prefix.
@c man .TP
@item -cut_out disk_path byte_offset byte_count iso_rr_path
@@ -1337,12 +1406,12 @@
@*
/file/part_3_of_3_at_4094m_with_2047m_of_5753194821
@*
-While option -split_size is set larger than 0, and if all pieces of a file
+While command -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
+regular file. This affects commands -compare*, -update*, and overwrite
situations.
-See option -split_size for details.
+See command -split_size for details.
@c man .TP
@item -cpr disk_path [***] iso_rr_path
@kindex -cpr inserts like with cp -r
@@ -1397,7 +1466,7 @@
relative iso_rr_path_original will get prepended the -cd path and not
the -cdx path. Consider to -mkdir iso_rr_path_dest before -cp_clone
so the copy address does not depend on the number of iso_rr_path_original
-arguments.
+parameters.
@end table
@c man .TP
@c man .B Settings for file insertion:
@@ -1487,14 +1556,14 @@
@item -not_list disk_path
@kindex -not_list sets exclusions from disk file
@cindex Insert, file exclusion from file, -not_list
-Read lines from disk_path and use each of them either as -not_paths argument,
+Read lines from disk_path and use each of them either as -not_paths parameter,
if they contain a / character, or as -not_leaf pattern.
@c man .TP
@item -quoted_not_list disk_path
@kindex -quoted_not_list sets exclusions
@cindex Insert, file exclusion, -quoted_not_list
Like -not_list but with quoted input reading rules. Each word is
-handled as one argument for -not_paths resp. -not_leaf.
+handled as one parameter for -not_paths resp. -not_leaf.
@c man .TP
@item -follow occasion[:occasion[...]]
@kindex -follow softlinks and mount points
@@ -1598,10 +1667,10 @@
A well tested -split_size is 2047m. Sizes above -file_size_limit are not
permissible.
@*
-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
+While command -split_size is set larger than 0 such a directory with split
+file pieces will be recognized and handled like a regular file by commands
-compare* , -update*, and in overwrite situations. There are -ossirox
-options "concat_split_on" and "concat_split_off" which control the handling
+parameters "concat_split_on" and "concat_split_off" which control the handling
when files get restored to disk.
@*
In order to be recognizable, the names of the part files have to
@@ -1620,7 +1689,7 @@
@*
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.
+parameter and their contents may not overlap.
@end table
@c man .TP
@c man .B File manipulations:
@@ -1636,7 +1705,7 @@
@item -iso_rr_pattern "on"|"ls"|"off"
@kindex -iso_rr_pattern controls pattern expansion
@cindex Pattern expansion, for ISO paths, -iso_rr_pattern
-Set the pattern expansion mode for the iso_rr_path arguments of several
+Set the pattern expansion mode for the iso_rr_path parameters of several
commands which support this feature.
@*
Setting "off" disables pattern expansion for all commands which are marked
@@ -1664,7 +1733,7 @@
@kindex -rm_r deletes trees from ISO image
@cindex Delete, from ISO image, -rm_r
Delete the given files or directory trees from the ISO image.
-See also the note with option -rm.
+See also the note with command -rm.
@c man .TP
@item -rmdir iso_rr_path [***]
@kindex -rmdir deletes ISO directory
@@ -1676,9 +1745,9 @@
@kindex -mv renames file in ISO image
@cindex Rename, in ISO image, -mv
Rename the given file objects in the ISO tree to the last
-argument in the list. Use the same rules as with shell command mv.
+parameter in the list. Use the same rules as with shell command mv.
@*
-If pattern expansion is enabled and if the last argument contains wildcard
+If pattern expansion is enabled and if the last parameter contains wildcard
characters then it must match exactly one existing file address, or else the
command fails with a FAILURE event.
@c man .TP
@@ -1792,7 +1861,7 @@
"user.", like "user.x" or "user.whatever".
@*
Values and names undergo the normal input processing of @command{xorriso}.
-See also option -backslash_codes. Other than with option -setfattr_list,
+See also command -backslash_codes. Other than with command -setfattr_list,
the byte value 0 cannot be expressed via -setfattr.
@c man .TP
@item -setfattr_r [-]name value iso_rr_path [***]
@@ -1821,7 +1890,7 @@
printable characters only. The separator "=" is not allowed in names.
Value may contain any kind of bytes. It must be in quotes. Trailing
whitespace after the end quote will be ignored. Non-printables bytes and quotes
-must be represented as \XYZ by their octal ASCII code XYZ.
+must be represented as \XYZ by their octal 8-bit code XYZ.
Use code \000 for 0-bytes.
@c man .TP
@item -alter_date type timestring iso_rr_path [***]
@@ -1899,7 +1968,7 @@
A restricted substitute for shell command find in the ISO image.
It performs an action on matching file objects at or below iso_rr_path.
@*
-If not used as last command in the line then the argument list
+If not used as last command in the line then the parameter list
needs to get terminated by "@minus{}@minus{}".
@*
Tests are optional. If they are omitted then action is applied to all file
@@ -2064,7 +2133,7 @@
@*
@item compare
performs command -compare with the found file address as
-iso_rr_path and the corresponding file address below its argument
+iso_rr_path and the corresponding file address below its parameter
disk_path_start. For this the iso_rr_path of the -find command gets
replaced by the disk_path_start.
@*
@@ -2119,7 +2188,7 @@
@*
@item setfacl
attaches ACLs after removing existing ones. The new
-ACL is given in text form as defined with option -setfacl.
+ACL is given in text form as defined with command -setfacl.
@*
E.g.: -exec setfacl u:lisa:rw,u::rw,g::r,o::@minus{},m::rw @minus{}@minus{}
@*
@@ -2146,7 +2215,7 @@
@*
E.g. -exec list_extattr e --
@*
-Option -backslash_codes does not affect the output.
+Command -backslash_codes does not affect the output.
@*
@item get_md5
prints the MD5 sum, if recorded, together with file path.
@@ -2326,6 +2395,10 @@
filtering. This will revoke suffix renamings as well.
Use "@minus{}@minus{}remove-all-filters+" to
prevent any suffix renaming.
+@*
+Attaching or detaching filters will not alter the state of -changes_pending.
+If the filter manipulations shall be the only changes in a write run, then
+explicitely execute -changes_pending "yes".
@c man .TP
@item -set_filter_r name iso_rr_path [***]
@kindex -set_filter_r applies filter to file tree
@@ -2347,6 +2420,26 @@
Discard the manipulated ISO image and reload it from -indev.
(Use -rollback_end if immediate program end is desired.)
@c man .TP
+@item -changes_pending "no"|"yes"|"mkisofs_printed"|"show_status"
+@kindex -changes_pending overrides change status
+@cindex Image, override change status, -changes_pending
+Write runs are performed only if a change of the image has been made
+since the image was loaded or created blank. Vice versa the program will
+start a write run for pending changes when it ends normally (i.e. not by abort
+and not by command -rollback_end).
+@*
+The command -changes_pending can be used to override the automatically
+determined state. This is mainly useful for setting state "yes" despite
+no real changes were made. The sequence -changes_pending "no" -end
+is equivalent to the command -rollback_end. State "mkisofs_printed"
+is caused by emulation command -as mkisofs if option -print-size is present.
+@*
+The pseudo-state "show_status" can be used to print the current state to result
+channel.
+@*
+Image loading or manipulations which happen after this command will again
+update automatically the change status of the image.
+@c man .TP
@item -commit
@kindex -commit writes pending ISO image
@cindex Write, pending ISO image, -commit
@@ -2358,7 +2451,7 @@
are uncommitted manipulations pending.
@*
So, to perform a final write operation with no new -dev
-and no new loading of image, rather execute option -end.
+and no new loading of image, rather execute command -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".
@*
@@ -2418,7 +2511,7 @@
Some drives announce this state by not offering feature 21h,
but some drives offer it anyway.
If feature 21h is missing, then @command{xorriso}
-will refuse to write on DVD-RW if not option -close is set to "on".
+will refuse to write on DVD-RW if not command -close is set to "on".
@*
The progress reports issued by some drives while blanking are
quite unrealistic. Do not conclude success or failure from the
@@ -2442,7 +2535,7 @@
@*
"fast" does the same as "full" but tries to be quicker.
@*
-"by_index_" selects a format out of the descriptor list issued by option
+"by_index_" selects a format out of the descriptor list issued by command
-list_formats. The index number from that list is to be appended to the
mode word. E.g: "by_index_3".
@*
@@ -2514,10 +2607,10 @@
Try to close the upcomming track and session if the drive reported the medium
as damaged. This may apply to CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R DL,
or BD-R media. It is indicated by warning messages when the drive gets
-aquired, and by a remark "but next track is damaged" with the line
+acquired, and by a remark "but next track is damaged" with the line
"Media status :" of command -toc.
@*
-The setting of option -close determines whether the medium stays appendable.
+The setting of command -close determines whether the medium stays appendable.
@*
Mode "as_needed" gracefully refuses on media which are not reported as
damaged. Mode "force" attempts the close operation even with media which
@@ -2538,7 +2631,7 @@
@section Settings for result writing
@c man .PP
Rock Ridge info will be generated by the program unconditionally.
-ACLs will be written according to the setting of option -acl.
+ACLs will be written according to the setting of command -acl.
@table @asis
@sp 1
@c man .TP
@@ -2551,52 +2644,57 @@
@item -compliance rule[:rule...]
@kindex -compliance controls standard compliance
@cindex Write, compliance to specs, -compliance
-Adjust the compliance to specifications of ISO 9660 and its contemporary
-extensions. In some
+Adjust the compliance to specifications of ISO 9660/ECMA-119 and its
+contemporary extensions. In some
cases it is worth to deviate a bit in order to circumvent bugs of the intended
reader system or to get unofficial extra features.
@*
There are several adjustable rules which have a keyword each. If they
-are mentioned with this option then their rule gets added to the relaxation
+are mentioned with this command then their rule gets added to the relaxation
list. This list can be erased by rules "strict" or "clear". It can be reset
to its start setting by "default". All of the following relaxation rules
can be revoked individually by appending "_off". Like "deep_paths_off".
@*
Rule keywords are:
@*
-"iso_9660_level="number chooses level 1 with ISO names of the form 8.3
-and -file_size_limit <= 4g - 1, or level 2 with ISO names up to
-length 32 and the same -file_size_limit, or level 3 with ISO names up to
+"iso_9660_level="number chooses level 1 with ECMA-119 names of the form 8.3
+and -file_size_limit <= 4g - 1, or level 2 with ECMA-119 names up to
+length 32 and the same -file_size_limit, or level 3 with ECMA-119 names up to
length 32 and -file_size_limit >= 400g -200k. If necessary -file_size_limit
gets adjusted.
@*
-"allow_dir_id_ext" allows ISO names of directories to have a name extension
+"allow_dir_id_ext" allows ECMA-119 names of directories to have a name extension
as with other file types. It does not force dots and it omits the version
number, though. This is a bad tradition of mkisofs which violates ECMA-119.
Especially ISO level 1 only allows 8 characters in a directory name and
not 8.3.
@*
-"omit_version" does not add versions (";1") to ISO and Joliet file names.
+"omit_version" does not add versions (";1") to ECMA-119 and Joliet file names.
@*
"only_iso_version" does not add versions (";1") to Joliet file names.
@*
-"deep_paths" allows ISO file paths deeper than 8 levels.
+"deep_paths" allows ECMA-119 file paths deeper than 8 levels.
@*
-"long_paths" allows ISO file paths longer than 255 characters.
+"long_paths" allows ECMA-119 file paths longer than 255 characters.
@*
-"long_names" allows up to 37 characters with ISO file names.
+"long_names" allows up to 37 characters with ECMA-119 file names.
@*
-"no_force_dots" does not add a dot to ISO file names which have none.
+"no_force_dots" does not add a dot to ECMA-119 file names which have none.
@*
"no_j_force_dots" does not add a dot to Joliet file names which have none.
@*
-"lowercase" allows lowercase characters in ISO file names.
+"lowercase" allows lowercase characters in ECMA-119 file names.
@*
-"full_ascii" allows all ASCII characters in ISO file names.
+"7bit_ascii" allows nearly all 7-bit characters in ECMA-119 file names.
+Not allowed are 0x0 and '/'. If not "lowercase" is enabled, then lowercase
+letters get converted to uppercase.
+@*
+"full_ascii" allows all 8-bit characters except 0x0 and '/'
+in ECMA-119 file names.
@*
"untranslated_names" might be dangerous for inadverted reader programs
-which rely on the restriction to at most 37 characters in ISO file names.
-This option allows ISO file names up to 96 characters with no character
+which rely on the restriction to at most 37 characters in ECMA-119 file names.
+This rule allows ECMA-119 file names up to 96 characters with no character
conversion. If a file name has more characters, then image production will
fail deliberately.
@*
@@ -2644,16 +2742,38 @@
@*
always_gmt:old_rr".
@*
-Note: The term "ISO file" means the plain ISO 9660 names and attributes
+Note: The term "ECMA-119 name" means the plain ISO 9660 names and attributes
which get visible if the reader ignores Rock Ridge.
@c man .TP
+@item -rr_reloc_dir name
+@kindex -rr_reloc_dir sets name of relocation directory
+@cindex Relocation directory, set name, -rr_reloc_dir
+Specify the name of the relocation directory in which deep directory subtrees
+shall be placed if -compliance is set to "deep_paths_off" or "long_paths_off".
+A deep directory is one that has a chain of 8 parent directories (including
+root) above itself, or one that contains a file with an ECMA-119 path of more
+than 255 characters.
+@*
+The overall directory tree will appear originally deep when interpreted
+as Rock Ridge tree. It will appear as re-arranged if only ECMA-119
+information is considered.
+@*
+The default relocation directory is the root directory. By giving a non-empty
+name with -rr_reloc_dir, a directory in the root directory may get this role.
+If that directory does not already exist at -commit time, then it will get
+created and marked for Rock Ridge as relocation artefact. At least on
+GNU/Linux it will not be displayed in mounted Rock Ridge images.
+@*
+The name must not contain a '/' character and must not be longer than
+255 bytes.
+@c man .TP
@item -volid text
@kindex -volid sets volume id
@cindex Image, set volume id, -volid
Specify the volume ID. @command{xorriso} accepts any text up to 32 characters,
but according to rarely obeyed specs stricter rules apply:
@*
-ECMA 119 demands ASCII characters out of [A-Z0-9_]. Like: "IMAGE_23"
+ECMA-119 demands ASCII characters out of [A-Z0-9_]. Like: "IMAGE_23"
@*
Joliet allows 16 UCS-2 characters. Like: "Windows name"
@*
@@ -2729,7 +2849,7 @@
@*
E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
@*
-Timestrings for the other types may be given as with option -alter_date.
+Timestrings for the other types may be given as with command -alter_date.
They are prone to timezone computations. The timestrings "default" or
"overridden" cause default settings: "c" and "m" will show the current time
of image creation. "x" and "f" will be marked as insignificant.
@@ -2799,7 +2919,7 @@
@cindex Filter, zisofs parameters, -zisofs
Set global parameters for zisofs compression. This data format is recognized
and transparently uncompressed by some Linux kernels. It is to be applied
-via option -set_filter with built-in filter "@minus{}@minus{}zisofs".
+via command -set_filter with built-in filter "@minus{}@minus{}zisofs".
Parameters are:
@*
"level="[0-9] zlib compression: 0=none, 1=fast,..., 9=slow
@@ -2856,7 +2976,7 @@
GNU/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
+show latency problems. The default depends on media type, on command
-stream_recording , and on compile time options.
@c man .TP
@item -stdio_sync "on"|"off"|number
@@ -2888,7 +3008,7 @@
If "on" then mark the written medium as not appendable
any more (if possible at all with the given type of target media).
@*
-This is the contrary of cdrecord, wodim, cdrskin option -multi,
+This is the contrary of cdrecord, wodim, cdrskin command -multi,
and is one aspect of growisofs option -dvd-compat.
@c man .TP
@item -padding number["k"|"m"]|"included"|"appended"
@@ -2954,7 +3074,7 @@
has been read from an existing ISO image or define how to make a prepared
boot image file set bootable. Such file sets get produced by ISOLINUX or GRUB.
@*
-Each -boot_image command has two arguments: type and setting. More than one
+Each -boot_image command has two parameters: type and setting. More than one
-boot_image command may be used to define the handling of one or more boot
images. Sequence matters.
@*
@@ -3069,7 +3189,7 @@
@strong{patch} applies patching to existing boot images
if they seem to bear a boot info table.
@*
-@cindex System area, _definiton
+@cindex System area, _definition
@cindex MBR, set, -boot_image system_area=
@strong{system_area=}disk_path copies at most 32768 bytes from the given
disk file to the very start of the ISO image.
@@ -3081,7 +3201,7 @@
@*
-boot_image isolinux system_area= implies "partition_table=on".
@*
-@cindex Partition table, _definiton
+@cindex Partition table, _definition
@strong{partition_table=on} causes a simple partition table to be written
into bytes 446 to 511 of the System Area.
@*
@@ -3104,7 +3224,7 @@
Special "system_area=/dev/zero" causes 32k of NUL-bytes.
Use this to discard an MBR which was loaded with the ISO image.
@*
-@cindex Partition offset, _definiton
+@cindex Partition offset, _definition
@strong{partition_offset=}2kb_block_adr causes a partition table with a single
partition that begins at the given block address. This is counted in 2048 byte
blocks, not in 512 byte blocks. If the block address is non-zero then it must
@@ -3115,7 +3235,7 @@
The offset value of an ISO image gets preserved when a new session is added.
So the value defined here is only in effect if a new ISO image gets written.
@*
-@cindex Cylinder size, _definiton
+@cindex Cylinder size, _definition
@strong{partition_hd_cyl=}number gives the number of heads per cylinder for
the partition table. 0 chooses a default value. Maximum is 255.
@*
@@ -3129,7 +3249,7 @@
partition_sec_hd 32 or 63. If the image is larger than 8,422,686,720 bytes,
then the cylinder size constraints cannot be fulfilled.
@*
-@cindex Cylinder alignment, _definiton
+@cindex Cylinder alignment, _definition
@strong{partition_cyl_align=}mode controls image size alignment to an integer
number of cylinders. It is prescribed by isohybrid specs and it seems to
please program fdisk. Cylinder size must be divisible by 2048.
@@ -3159,7 +3279,7 @@
@strong{sparc_label=}text causes the production of a SUN Disk Label with the
given text as ASCII label. This boot block format allows to append images
for partitions 2 to 8. Partition 1 will always be the ISO image.
-See option -append_partition.
+See command -append_partition.
The first 512 bytes of any data provided by system_area= will be overwritten.
@*
@strong{mips_discard} and @strong{sparc_discard} revoke any boot file
@@ -3338,7 +3458,7 @@
There is an input conversion from input character set to the local character
set which applies when an ISO image gets loaded. A conversion from local
character set to the output character set is performed when an
-image tree gets written. The sets can be defined independently by options
+image tree gets written. The sets can be defined independently by commands
-in_charset and -out_charset. Normally one will have both identical, if ever.
@*
If conversions are desired then @command{xorriso} needs to know the name of the
@@ -3354,7 +3474,7 @@
names and emerging names in the image. The situation stays ambigous and the
reader has to riddle what character set was used.
@*
-By option -auto_charset it is possible to attribute the output charset name
+By command -auto_charset it is possible to attribute the output charset name
to the image. This makes the situation unambigous. But if your terminal
character set does not match the character set of the local file names,
then this attribute can become plainly wrong and cause problems at read time.
@@ -3429,10 +3549,10 @@
Useful: "NEVER", "ABORT", "FATAL", "FAILURE" , "MISHAP", "SORRY"
@*
It may become necessary to abort the program anyway, despite
-the setting by this option. Expect not many "ABORT" events to
+the setting by this command. Expect not many "ABORT" events to
be ignorable.
@*
-A special property of this option is that it works preemptive if given as
+A special property of this command is that it works preemptive if given as
program start argument. I.e. the first -abort_on setting among the
start arguments is in effect already when the first operations of
@command{xorriso} begin. Only "-abort_on" with dash "-" is recognized that way.
@@ -3475,7 +3595,7 @@
but may be influenced by command -pkt_output.
Info messages which belong to no event get attributed severity "NOTE".
@*
-A special property of this option is that the first -report_about setting
+A special property of this command is that the first -report_about setting
among the start arguments is in effect already when the first operations
of @command{xorriso} begin. Only "-report_about" with dash "-" is
recognized that way.
@@ -3509,7 +3629,7 @@
needs poweroff to be reset. So during burning, blanking, and formatting
wait for at least their normal run time before killing externally.
@*
-A special property of this option is that the first -signal_handling setting
+A special property of this command is that the first -signal_handling setting
among the start arguments is in effect already when the first operations
of @command{xorriso} begin. Only "-signal_handling" with dash "-" is
recognized that way.
@@ -3520,12 +3640,12 @@
Control the program behavior at problem event occasions.
For now this applies to occasions "image_loading" which is given while
an image tree is read from the input device, and to "file_extraction" which
-is given with osirrox options like -extract.
+is given with osirrox commands like -extract.
@*
With "image_loading" there are three behaviors available:
@*
"best_effort" goes on with reading after events with severity below FAILURE
-if the threshold of option -abort_on allows this.
+if the threshold of command -abort_on allows this.
@*
"failure" aborts image tree reading on first event of at least SORRY.
It issues an own FAILURE event.
@@ -3551,7 +3671,8 @@
@item -dialog "on"|"off"|"single_line"
@kindex -dialog enables dialog mode
@cindex Dialog, enable dialog mode, -dialog
-Enable or disable to enter dialog mode after all arguments are processed.
+Enable or disable to enter dialog mode after all program arguments are
+processed.
In dialog mode input lines get prompted via readline or from stdin.
@*
If no -abort_on severity was set when dialog starts, then "NEVER" is set
@@ -3606,9 +3727,9 @@
Setting "off" silently kills any kind of image file object resp. performs
above irrevocable actions.
@*
-To really produce user prompts, option -dialog needs to be set to "on".
+To really produce user prompts, command -dialog needs to be set to "on".
Note that the prompt does not appear in situations where file removal
-is forbidden by option -overwrite. -reassure only imposes an additional
+is forbidden by command -overwrite. -reassure only imposes an additional
curb for removing existing file objects.
@*
Be aware that file objects get deleted from the ISO image immediately
@@ -3629,7 +3750,7 @@
their libburn standard device files.
@*
This is only possible when no ISO image changes are pending.
-After this option was executed, there is no drive current
+After this command was executed, there is no drive current
and no image loaded.
@*
In order to be visible, a device has to offer rw-permissions
@@ -3669,7 +3790,7 @@
to be the most recent real session then.
@*
Some read-only drives and media show no usable session history at all.
-Option -rom_toc_scan might help.
+Command -rom_toc_scan might help.
@c man .TP
@item -mount_cmd drive entity id path
@kindex -mount_cmd composes mount command line
@@ -3689,7 +3810,7 @@
@*
path will be used as mount point and must already exist as a directory on disk.
@*
-The command gets printed to the result channel. See option -mount
+The command gets printed to the result channel. See command -mount
for direct execution of this command.
@c man .TP
@item -mount_opts option[:option...]
@@ -3728,9 +3849,9 @@
@cindex Write, predict image size, -print_size
Print the foreseeable consumption of 2048 byte blocks
by next -commit. This can last a while as a -commit gets
-prepared and only in last moment is revoked by this option.
+prepared and only in last moment is revoked by this command.
The result depends on several settings and also on the kind of output device.
-If no -jidgo options are given and not command -as "mkisofs" was used,
+If no -jidgo options are set and not command -as "mkisofs" was used,
then -padding (300 kB by default) is not counted as part of the image size.
@c man .TP
@item -tell_media_space
@@ -3743,7 +3864,7 @@
@kindex -pvd_info shows image id strings
@cindex Image, show id strings, -pvd_info
Print various id strings which can be found in loaded ISO images. Some of
-them may be changed by options like -volid or -publisher. For these
+them may be changed by commands like -volid or -publisher. For these
ids -pvd_info reports what would be written with the next -commit.
@end table
@c man .TP
@@ -3852,7 +3973,7 @@
Print the access permissions of the given files in the ISO image using the
format of shell command getfacl. If a file has no ACL then it gets fabricated
from the -chmod settings. A file may have a real ACL if it was introduced into
-the ISO image while option -acl was set to "on".
+the ISO image while command -acl was set to "on".
@c man .TP
@item -getfacl_r iso_rr_pattern [***]
@kindex -getfacl_r shows ACL in ISO image
@@ -3905,7 +4026,7 @@
Like -find but operating on local filesystem and not on the ISO image.
This is subject to the settings of -follow.
@*
--findx accepts the same -type arguments as -find. Additionally it recognizes
+-findx accepts the same -type parameters as -find. Additionally it recognizes
type "mountpoint" (or "m") which matches subdirectories which reside on a
different device than their parent. It never matches the disk_path
given as start address for -findx.
@@ -3980,7 +4101,7 @@
@item -compare_l disk_prefix iso_rr_prefix disk_path [***]
@kindex -compare_l reports ISO/disk differences
@cindex Verify, compare ISO and disk, -compare_l
-Perform -compare_r with each of the disk_path arguments. iso_rr_path will be
+Perform -compare_r with each of the disk_path parameters. iso_rr_path will be
composed from disk_path by replacing disk_prefix by iso_rr_prefix.
@c man .TP
@item -show_stream iso_rr_path [***]
@@ -4027,7 +4148,7 @@
to their read speed, save them to a file, and keep track of successfuly saved
blocks for further tries on the same medium.
@*
-By option -md5 checksums may get recorded with data files and whole
+By command -md5 checksums may get recorded with data files and whole
sessions. These checksums are reachable only via indev and a loaded image.
They work independently of the media type and can detect transmission errors.
@table @asis
@@ -4041,9 +4162,9 @@
disk file, and finally report about the encountered quality. Several options
may be used to modify the default behavior.
@*
-The options given with this command override the default settings which
-may have been changed by option -check_media_defaults. See there for a
-description of options.
+The parameters given with this command override the default settings which
+may have been changed by command -check_media_defaults. See there for a
+description of available options.
@*
The result list tells intervals of 2 KiB blocks with start address, number
of blocks and quality. Qualities which begin with "+" are
@@ -4196,10 +4317,10 @@
Compare the data content of the given files in the loaded image with their
recorded MD5 checksums, if there are any. In case of any mismatch an event of
the given severity is issued. It may then be handled by appropriate settings of
-options -abort_on or -return_with which both can cause non-zero exit values
+commands -abort_on or -return_with which both can cause non-zero exit values
of the program run. Severity ALL suppresses that event.
@*
-This option reports match and mismatch of data files to the result channel.
+This command reports match and mismatch of data files to the result channel.
Non-data files cause NOTE events. There will also be UPDATE events from
data reading.
@*
@@ -4214,9 +4335,9 @@
Only mismatching data files will be reported.
@end table
@c man .TP
-@c man .B osirrox ISO-to-disk restore options:
+@c man .B osirrox ISO-to-disk restore commands:
@node Restore, Emulation, Verify, Options
-@section osirrox ISO-to-disk restore options
+@section osirrox ISO-to-disk restore commands
@c man .PP
Normally @command{xorriso} only writes to disk files which were given as stdio:
pseudo-drives or as log files.
@@ -4305,7 +4426,7 @@
@item -extract_l iso_rr_prefix disk_prefix iso_rr_path [***]
@kindex -extract_l copies files to disk
@cindex Restore, copy files to disk, -extract_l
-Perform -extract with each of the iso_rr_path arguments. disk_path will be
+Perform -extract with each of the iso_rr_path parameters. disk_path will be
composed from iso_rr_path by replacing iso_rr_prefix by disk_prefix.
@c man .TP
@item -extract_cut iso_rr_path byte_offset byte_count disk_path
@@ -4364,7 +4485,7 @@
@cindex Restore, copy file into disk file, -paste_in
Read the content of a ISO data file and write it into a data file on disk
beginning at the byte_offset. Write at most byte_count bytes.
-This is the inverse of option -cut_out.
+This is the inverse of command -cut_out.
@c man .TP
@item -mount drive entity id path
@kindex -mount issues mount command for ISO session
@@ -4424,7 +4545,7 @@
-pacifier gets set to "mkisofs" if files are added to the image.
@*
-graft-points is equivalent to -pathspecs on. Note that pathspecs without "="
-are interpreted differently than with @command{xorriso} option -add.
+are interpreted differently than with @command{xorriso} command -add.
Directories get
merged with the root directory of the ISO image, other filetypes get mapped
into that root directory.
@@ -4433,7 +4554,7 @@
"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 @command{xorriso} options before -as mkisofs or after its
+is chosen by @command{xorriso} commands before -as mkisofs or after its
list delimiter. Directories and symbolic links are no valid -o targets.
@*
Writing to stdout is possible only if -as "mkisofs" was among the start
@@ -4462,16 +4583,16 @@
Not original mkisofs options are @minus{}@minus{}quoted_path_list ,
@minus{}@minus{}hardlinks , @minus{}@minus{}acl ,
@minus{}@minus{}xattr , @minus{}@minus{}md5 , @minus{}@minus{}stdio_sync .
-They work like the @command{xorriso} options with the
-same name and hardcoded argument "on", e.g. -acl "on".
-Explicit arguments are expected by @minus{}@minus{}stdio_sync
+They work like the @command{xorriso} commands with the
+same name and hardcoded parameter "on", e.g. -acl "on".
+Explicit parameters are expected by @minus{}@minus{}stdio_sync
and @minus{}@minus{}scdbackup_tag.
@*
The capability to preserve multi-session history on overwriteable media
gets disabled by default. It can be enabled by using @minus{}@minus{}emul-toc
with the first session. See -compliance no_emul_toc.
@*
-@minus{}@minus{}sort-weight gets as arguments a number and an iso_rr_path.
+@minus{}@minus{}sort-weight gets as parameters a number and an iso_rr_path.
The number becomes the LBA sorting weight of regular file iso_rr_path or
of all regular files underneath directory iso_rr_path.
(See -find -exec sort_weight).
@@ -4499,7 +4620,7 @@
@minus{}partition_offset number is
@minus{}boot_image any partition_offset=number.
@*
-Option @minus{}append_partition is supported.
+Command @minus{}append_partition is supported.
@*
@minus{}untranslated_name_len number is
@minus{}compliance untranslated_name_len=number.
@@ -4507,7 +4628,7 @@
@minus{}@minus{}old-empty is -compliance old_empty.
@*
The options of genisoimage Jigdo Template Extraction are recognized and
-performed via @command{xorriso} option -jigdo. See the "Alias:" names there
+performed via @command{xorriso} command -jigdo. See the "Alias:" names there
for the meaning of the genisoimage options.
@*
@sp 1
@@ -4518,10 +4639,10 @@
If @command{xorriso} is started with one of the leafnames "xorrisofs",
"genisofs",
"mkisofs", or "genisoimage", then it performs -read_mkisofsrc and prepends
--as "genisofs" to the command line arguments.
+-as "genisofs" to the program arguments.
I.e. all arguments will be interpreted mkisofs style until "@minus{}@minus{}"
is encountered.
-From then on, options are interpreted as @command{xorriso} options.
+From then on, arguments are interpreted as @command{xorriso} commands.
@*
@minus{}@minus{}no_rc as first argument of such a program start
prevents interpretation of startup files. See section FILES below.
@@ -4546,7 +4667,7 @@
to blank, overwriteable, or appendable media. The medium gets closed if
closing is applicable and not option -multi is present.
@*
-If an input drive was aquired, then it is given up.
+If an input drive was acquired, then it is given up.
This is only allowed if no image changes are pending.
@*
dev= must be given as @command{xorriso} device address. Addresses like 0,0,0
@@ -4568,9 +4689,9 @@
@*
If @command{xorriso} is started with one of the leafnames "xorrecord",
"cdrskin", "cdrecord", or "wodim", then it automatically prepends -as "cdrskin"
-to the command line arguments. I.e. all arguments will be interpreted cdrecord
+to the program arguments. I.e. all arguments will be interpreted cdrecord
style until "@minus{}@minus{}" is encountered.
-From then on, options are interpreted as @command{xorriso} options.
+From then on, arguments are interpreted as @command{xorriso} commands.
@*
@minus{}@minus{}no_rc as first argument of such a program start
prevents interpretation of @command{xorriso} startup files.
@@ -4634,7 +4755,7 @@
@kindex -no_rc disables startup files
@cindex Process, disable startup files, -no_rc
@*
-Only if used as first command line argument this option
+Only if used as first program argument this command
prevents reading and interpretation of startup files. See section FILES below.
@c man .TP
@item -options_from_file fileaddress
@@ -4642,7 +4763,7 @@
@cindex Process, read command file, -options_from_file
Read quoted input from fileaddress and execute it like dialog lines.
Empty lines and lines which begin by # are ignored. Normally one line
-should hold one @command{xorriso} command and all its arguments.
+should hold one @command{xorriso} command and all its parameters.
Nevertheless lines may be concatenated by a trailing backslash.
@*
See also section "Command processing", paragraph "Quoted input".
@@ -4750,8 +4871,8 @@
@*
Mode "encode_output" encodes output characters. It combines "encode_results"
with "encode_infos". Inside single or double quotation marks encoding applies
-to ASCII characters octal 001 to 037 , 177 to 377 and to backslash(134).
-Outside quotation marks some harmless control characters stay unencoded:
+to 8-bit characters octal 001 to 037 , 177 to 377 and to backslash(134).
+Outside quotation marks some harmless ASCII control characters stay unencoded:
bell(007), backspace(010), tab(011), linefeed(012), formfeed(014),
carriage_return(015).
@*
@@ -4814,7 +4935,7 @@
@*
Problematic files can be recorded multiple times during one program run.
If the program run aborts then the list might not be complete because
-some input file arguments might not have been processed at all.
+some input files might not have been processed at all.
@*
The errfile paths are transported as messages of very low severity "ERRFILE".
This transport becomes visible with -report_about "ALL".
@@ -4839,7 +4960,7 @@
Logging messages get printed to stderr, not to any of the @command{xorriso}
output channels.
@*
-A special property of this option is that the first -scsi_log setting
+A special property of this command is that the first -scsi_log setting
among the start arguments is in effect already when the first operations
of @command{xorriso} begin.
Only "-scsi_log" with dash "-" is recognized that way.
@@ -4889,7 +5010,7 @@
@*
Example:
@*
- I:1: enter option and arguments :
+ I:1: enter option and parameters :
@c man .TP
@item -logfile channel fileaddress
@kindex -logfile logs output channels to file
@@ -4991,7 +5112,7 @@
@c man .B Blank medium and compose a new ISO image as batch run
@node ExCreate, ExDialog, ExDevices, Examples
@section Blank medium and compose a new ISO image as batch run
-Aquire drive /dev/sr2, make medium ready for writing a new image,
+Acquire drive /dev/sr2, make medium ready for writing a new image,
fill the image with the files from hard disk directories /home/me/sounds
and /home/me/pictures.
@*
@@ -5042,8 +5163,8 @@
@sp 1
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. Commands -add and -map have different
+parameter rules but finally the same effect: they put files into the image.
@c man .SS
@c man .B A dialog session doing about the same
@c man .br
@@ -5052,8 +5173,8 @@
Some settings are already given as start argument. The other activities
are done as dialog input. The pager gets set to 20 lines of 80 characters.
@*
-The drive is acquired by option -dev rather than -outdev in order to see
-the message about its current content. By option -blank this content is
+The drive is acquired by command -dev rather than -outdev in order to see
+the message about its current content. By command -blank this content is
made ready for being overwritten and the loaded ISO image is made empty.
@*
In order to be able to eject the medium, the session needs to be committed
@@ -5165,7 +5286,7 @@
@node ExModifying, ExBootable, ExGrowing, Examples
@section Copy modified ISO image from one medium to another
Load image from input drive. Do the same manipulations as in the previous
-example. Aquire output drive and blank it. Burn the modified image as
+example. Acquire output drive and blank it. Burn the modified image as
first and only session to the output drive.
@*
@sp 1
@@ -5202,7 +5323,7 @@
In order to avoid any weaknesses of the local character set, this command
pretends that it uses already the final target set UTF-8.
Therefore strange file names may appear in messages, which
-will be made terminal-safe by option -backslash_codes.
+will be made terminal-safe by command -backslash_codes.
@*
@sp 1
$ xorriso -in_charset ISO-8859-1 -local_charset UTF-8 \
@@ -5456,7 +5577,7 @@
This makes sense if the full backup leaves substantial remaining capacity
on media and if the expected changes are much smaller than the full backup.
To apply zisofs compression to those data files which get newly copied from
-the local filesystem, insert these options immediately before -commit :
+the local filesystem, insert these commands immediately before -commit :
@*
@sp 1
-hardlinks perform_update \
@@ -5464,7 +5585,7 @@
-find / -type f -pending_data -exec set_filter @minus{}@minus{}zisofs @minus{}@minus{} \
@*
@sp 1
-Options -disk_dev_ino and -for_backup depend on stable device and inode numbers
+Commands -disk_dev_ino and -for_backup depend on stable device and inode numbers
on disk. Without them, an update run may use -md5 "on" to match recorded MD5
sums against the current file content on hard disk. This is usually much faster
than the default which compares both contents directly.
@@ -5476,15 +5597,15 @@
its option "session=".
@*
Multi-session media and most overwriteable media written by @command{xorriso}
-can tell the sbsectors of their sessions by @command{xorriso} option -toc.
-Used after -commit the following option prints the matching mount command for
+can tell the sbsectors of their sessions by @command{xorriso} command -toc.
+Used after -commit the following command prints the matching mount command for
the newly written session (here for mount point /mnt):
@*
@sp 1
-mount_cmd "indev" "auto" "auto" /mnt
@*
@sp 1
-Options -mount_cmd and -mount are also able to produce the mount commands for
+Commands -mount_cmd and -mount are also able to produce the mount commands for
older sessions in the table-of-content. E.g. as superuser:
@*
@sp 1
@@ -5593,7 +5714,7 @@
@strong{xorrecord} starts @command{xorriso} with -as cdrecord emulation.
@*
@strong{osirrox} starts with -osirrox "on:o_excl_off" which allows
-to copy files from ISO image to disk and to apply option -mount to
+to copy files from ISO image to disk and to apply command -mount to
one or more of the existing ISO sessions.
@c man .SS
@c man .B Startup files:
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorriso_eng.html
^
|
@@ -449,21 +449,21 @@
<P>
<DL>
<DT><H3>Download as source code (see README):</H3></DT>
-<DD><A HREF="xorriso-1.2.0.tar.gz">xorriso-1.2.0.tar.gz</A>
-(2050 KB).
+<DD><A HREF="xorriso-1.2.2.tar.gz">xorriso-1.2.2.tar.gz</A>
+(2070 KB).
</DD>
-<DD>(Released 28 Jan 2012)</DD>
-<DD><A HREF="xorriso-1.2.0.tar.gz.sig">xorriso-1.2.0.tar.gz.sig</A></DD>
+<DD>(Released 02 Apr 2012)</DD>
+<DD><A HREF="xorriso-1.2.2.tar.gz.sig">xorriso-1.2.2.tar.gz.sig</A></DD>
<DD>
(detached GPG signature for verification by
-<KBD>gpg --verify xorriso-1.2.0.tar.gz.sig xorriso-1.2.0.tar.gz</KBD>
+<KBD>gpg --verify xorriso-1.2.2.tar.gz.sig xorriso-1.2.2.tar.gz</KBD>
<BR>
after <KBD>gpg --keyserver keys.gnupg.net --recv-keys ABC0A854</KBD>).
</DD>
<DD>
Also on <A HREF="http://www.gnu.org/prep/ftp.html">
mirrors of ftp://ftp.gnu.org/gnu/ </A>
-as xorriso/xorriso-1.2.0.tar.gz
+as xorriso/xorriso-1.2.2.tar.gz
</DD>
</DL>
</DD>
@@ -500,11 +500,10 @@
<HR>
<P>
-Bug fixes towards xorriso-1.1.8:
+Bug fixes towards xorriso-1.2.0:
<UL>
-<LI>mkisofs emulation did not record mtime in ECMA-119 directories</LI>
-<LI>Program abort while drive tray is loading led to endless loop</LI>
-<LI>Solaris adapter mishandled write commands which failed on first try</LI>
+<LI>-osirrox on:sort_lba_on -extract from / restored nearly nothing</LI>
+<LI>-as mkisofs without -graft-points could not handle names with "="</LI>
<!--
<LI>- none -</LI>
-->
@@ -523,9 +522,15 @@
-->
<P>
-Enhancements towards previous stable version xorriso-1.1.8:
+Enhancements towards previous stable version xorriso-1.2.0:
<UL>
-<LI>Made -compliance "rec_mtime" default</LI>
+<LI>New commands -x, -list_arg_sorting</LI>
+<LI>New command -data_cache_size</LI>
+<LI>New command -rr_reloc_dir</LI>
+<LI>New -as mkisofs option -rr_reloc, implemented option -hide-rr-moved</LI>
+<LI>
+Now ignoring -as mkisofs -no-split-symlink-components -no-split-symlink-fields
+</LI>
<!--
<LI>- none -</LI>
-->
@@ -548,16 +553,16 @@
<A HREF="http://www.fsf.org/"> FSF </A> match completely.
</DT>
<DD> </DD>
-<DT>libburn-1.2.0</DT>
+<DT>libburn-1.2.2</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-1.2.0</DT>
+<DT>libisofs-1.2.2</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-1.2.0</DT>
+<DT>libisoburn-1.2.2</DT>
<DD>coordinates libburn and libisofs, emulates multi-session where needed,
and hosts the original source code of program xorriso.</DD>
<DD>It provides the complete functionality of xorriso via
@@ -578,16 +583,15 @@
<P>
<DL>
-<DT><H3>Development snapshot, version 1.2.1 :</H3></DT>
-<DD>Bug fixes towards xorriso-1.2.0:
+<DT><H3>Development snapshot, version 1.2.3 :</H3></DT>
+<DD>Bug fixes towards xorriso-1.2.2:
<UL>
<LI>- none yet -</LI>
<!--
-<LI>- none yet -</LI>
-->
</UL>
</DD>
-<DD>Enhancements towards stable version 1.2.0:
+<DD>Enhancements towards stable version 1.2.2:
<UL>
<LI>- none yet -</LI>
<!--
@@ -599,13 +603,13 @@
<DD> </DD>
-<DD><A HREF="README_xorriso_devel">README 1.2.1</A>
-<DD><A HREF="xorriso_help_devel">xorriso-1.2.1 -help</A></DD>
-<DD><A HREF="xorrisofs_help_devel">xorriso-1.2.1 -as mkisofs -help</A></DD>
-<DD><A HREF="xorrecord_help_devel">xorriso-1.2.1 -as cdrecord -help</A></DD>
-<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 1.2.1)</A></DD>
-<DD><A HREF="man_1_xorrisofs_devel.html">man xorrisofs (as of 1.2.1)</A></DD>
-<DD><A HREF="man_1_xorrecord_devel.html">man xorrecord (as of 1.2.1)</A></DD>
+<DD><A HREF="README_xorriso_devel">README 1.2.3</A>
+<DD><A HREF="xorriso_help_devel">xorriso-1.2.3 -help</A></DD>
+<DD><A HREF="xorrisofs_help_devel">xorriso-1.2.3 -as mkisofs -help</A></DD>
+<DD><A HREF="xorrecord_help_devel">xorriso-1.2.3 -as cdrecord -help</A></DD>
+<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 1.2.3)</A></DD>
+<DD><A HREF="man_1_xorrisofs_devel.html">man xorrisofs (as of 1.2.3)</A></DD>
+<DD><A HREF="man_1_xorrecord_devel.html">man xorrecord (as of 1.2.3)</A></DD>
<DD> </DD>
<DT>If you want to distribute development versions of xorriso, then use
this tarball which produces static linking between xorriso and the
@@ -615,8 +619,8 @@
installation see README)
</DD>
<DD>
-<A HREF="xorriso-1.2.1.tar.gz">xorriso-1.2.1.tar.gz</A>
-(2050 KB).
+<A HREF="xorriso-1.2.3.tar.gz">xorriso-1.2.3.tar.gz</A>
+(2070 KB).
</DD>
<DT>A dynamically linked development version of xorriso can be obtained
from repositories of
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorriso_main.c
^
|
@@ -111,7 +111,7 @@
*/
#define Xorriso_req_majoR 1
#define Xorriso_req_minoR 2
-#define Xorriso_req_micrO 0
+#define Xorriso_req_micrO 2
static void yell_xorriso()
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorriso_private.h
^
|
@@ -2,7 +2,7 @@
/* Command line oriented batch and dialog tool which creates, loads,
manipulates and burns ISO 9660 filesystem images.
- Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
+ Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@@ -102,6 +102,8 @@
char rc_filenames[Xorriso_rc_nuM][SfileadrL];
int rc_filename_count;
+ int arrange_args;
+
/* Whether .mkisofsrc has already been read */
int mkisofsrc_done;
@@ -168,6 +170,8 @@
char scdbackup_tag_listname[SfileadrL];
int relax_compliance; /* opaque bitfield to be set by xorrisoburn */
+ char rr_reloc_dir[256];
+ int rr_reloc_flags;
int untranslated_name_len;
int do_follow_pattern;
int do_follow_param;
@@ -263,6 +267,10 @@
burn_write_opts_set_start_byte().
*/
+ int cache_num_tiles; /* -data_cache_size */
+ int cache_tile_blocks;
+ int cache_default; /* bit0= cache_num_tiles, bit1= cache_tile_blocks */
+
int do_calm_drive; /* bit0= calm down drive after aquiring it */
char indev[SfileadrL];
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorriso_timestamp.h
^
|
@@ -1 +1 @@
-#define Xorriso_timestamP "2012.01.27.120001"
+#define Xorriso_timestamP "2012.04.02.133001"
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorrisoburn.h
^
|
@@ -19,7 +19,7 @@
*/
#define xorriso_libisoburn_req_major 1
#define xorriso_libisoburn_req_minor 2
-#define xorriso_libisoburn_req_micro 0
+#define xorriso_libisoburn_req_micro 2
struct SpotlisT; /* List of intervals with different read qualities */
@@ -595,5 +595,8 @@
int Xorriso_list_extras(struct XorrisO *xorriso, char *mode, int flag);
+int Xorriso_set_data_cache(struct XorrisO *xorriso, void *ropts,
+ int num_tiles, int tile_blocks, int flag);
+
#endif /* Xorrisoburn_includeD */
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorrisofs.1
^
|
@@ -9,7 +9,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 XORRISOFS 1 "Version 1.2.0, Jan 27, 2012"
+.TH XORRISOFS 1 "Version 1.2.2, Apr 02, 2012"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@@ -441,6 +441,13 @@
.br
This violates ISO 9660 specs.
.TP
+\fB\-relaxed-filenames\fR
+Allow nearly all 7\-bit characters in ISO file names.
+Not allowed are 0x0 and '/'. If not option \-allow\-lowercase is given,
+then lowercase letters get converted to uppercase.
+.br
+This violates ISO 9660 specs.
+.TP
\fB\-d\fR
.br
Do not add trailing dot to ISO file names without dot.
@@ -452,15 +459,15 @@
.TP
\fB\-l\fR
.br
-Allow up to 37 characters in ISO file names.
-.br
-This violates ISO 9660 specs.
+Allow up to 31 characters in ISO file names.
.TP
\fB\-full-iso9660-filenames\fR
Alias of \-l.
.TP
\fB\-max-iso9660-filenames\fR
-Alias of \-l.
+Allow up to 37 characters in ISO file names.
+.br
+This violates ISO 9660 specs.
.TP
\fB\-N\fR
.br
@@ -492,6 +499,47 @@
\fB\-rational-rock\fR
Alias of \-r.
.TP
+\fB\-D\fR
+The standard ECMA\-119 demands that no path in the image shall have more
+than 8 name components or 255 characters. Therefore it would be necessary
+to move deeper directory trees to a higher directory. Rock Ridge offers an
+opportunity to let these relocated directories appear at their orginal
+deep position, but this feature might not be implemented properly by
+operating systems which mount the image.
+.br
+Option \-D disables this deep directory relocation, and thus violates
+ISO 9660 specs.
+.br
+xorrisofs has \-D set by default. If given explicitely then it overrides
+the options \-rr_reloc_dir and \-hide\-rr\-moved.
+.TP
+\fB\-disable-deep-relocation\fR
+Alias of \-D.
+.TP
+\fB\-rr_reloc_dir\fR name
+Enable the relocation of deep directories and thus avoid ECMA\-119 file paths
+of more than 8 name components or 255 characters. Directories which lead to
+such file paths will get moved to a directory in the root directory of the
+image. Its name gets set by this option.
+It is permissible to use the root directory itself.
+.br
+The overall directory tree will appear originally deep when interpreted as
+Rock Ridge tree. It will appear as re\-arranged if only ECMA\-119 information
+is considered.
+.br
+If the given relocation target directory does not already exist when image
+production begins, then it will get created and marked for Rock Ridge as
+relocation artefact. At least on GNU/Linux it will not be displayed in
+mounted Rock Ridge images.
+.br
+The name must not contain a '/' character after its first character and it
+must not be longer than 255 bytes.
+.br
+This option has no effect if option \-D is present.
+.TP
+\fB\-hide-rr-moved\fR
+Alias of \-rr_reloc_dir "/.rr_moved"
+.TP
\fB--for_backup\fR
Enable options which improve backup fidelity:
\-\-acl, \-\-xattr, \-\-md5,
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorrisofs.info
^
|
@@ -14,7 +14,7 @@

File: xorrisofs.info, Node: Top, Next: Overview, Up: (dir)
-xorrisofs 1.2.0
+xorrisofs 1.2.2
***************
xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso
@@ -459,6 +459,12 @@
Allow lowercase character in ISO file names.
This violates ISO 9660 specs.
+-relaxed-filenames
+ Allow nearly all 7-bit characters in ISO file names. Not allowed
+ are 0x0 and '/'. If not option -allow-lowercase is given, then
+ lowercase letters get converted to uppercase.
+ This violates ISO 9660 specs.
+
-d
Do not add trailing dot to ISO file names without dot.
This violates ISO 9660 specs.
@@ -467,14 +473,14 @@
Alias of -d.
-l
- Allow up to 37 characters in ISO file names.
- This violates ISO 9660 specs.
+ Allow up to 31 characters in ISO file names.
-full-iso9660-filenames
Alias of -l.
-max-iso9660-filenames
- Alias of -l.
+ Allow up to 37 characters in ISO file names.
+ This violates ISO 9660 specs.
-N
Omit the semicolon and the version numbers at the end of ISO names.
@@ -506,6 +512,42 @@
-rational-rock
Alias of -r.
+-D
+ The standard ECMA-119 demands that no path in the image shall have
+ more than 8 name components or 255 characters. Therefore it would
+ be necessary to move deeper directory trees to a higher directory.
+ Rock Ridge offers an opportunity to let these relocated
+ directories appear at their orginal deep position, but this
+ feature might not be implemented properly by operating systems
+ which mount the image.
+ Option -D disables this deep directory relocation, and thus
+ violates ISO 9660 specs.
+ xorrisofs has -D set by default. If given explicitely then it
+ overrides the options -rr_reloc_dir and -hide-rr-moved.
+
+-disable-deep-relocation
+ Alias of -D.
+
+-rr_reloc_dir name
+ Enable the relocation of deep directories and thus avoid ECMA-119
+ file paths of more than 8 name components or 255 characters.
+ Directories which lead to such file paths will get moved to a
+ directory in the root directory of the image. Its name gets set by
+ this option. It is permissible to use the root directory itself.
+ The overall directory tree will appear originally deep when
+ interpreted as Rock Ridge tree. It will appear as re-arranged if
+ only ECMA-119 information is considered.
+ If the given relocation target directory does not already exist
+ when image production begins, then it will get created and marked
+ for Rock Ridge as relocation artefact. At least on GNU/Linux it
+ will not be displayed in mounted Rock Ridge images.
+ The name must not contain a '/' character after its first
+ character and it must not be longer than 255 bytes.
+ This option has no effect if option -D is present.
+
+-hide-rr-moved
+ Alias of -rr_reloc_dir "/.rr_moved"
+
--for_backup
Enable options which improve backup fidelity: --acl, --xattr,
--md5, --hardlinks.
@@ -1499,15 +1541,15 @@
�[index�]
* Menu:
-* --acl Recording of ACLs: SetExtras. (line 28)
+* --acl Recording of ACLs: SetExtras. (line 64)
* --boot-catalog-hide Hide El Torito boot catalog: Bootable.
(line 95)
* --efi-boot El Torito EFI boot image: Bootable. (line 58)
* --embedded-boot Fill System Area e.g. by MBR: SystemArea. (line 27)
* --emul-toc enable table-of-content emulation: SetProduct. (line 35)
-* --for_backup Enable backup fidelity: SetExtras. (line 24)
-* --hardlinks Recording of hardlink relations: SetExtras. (line 49)
-* --md5 Recording of MD5 checksums: SetExtras. (line 41)
+* --for_backup Enable backup fidelity: SetExtras. (line 60)
+* --hardlinks Recording of hardlink relations: SetExtras. (line 85)
+* --md5 Recording of MD5 checksums: SetExtras. (line 77)
* --modification-date set ISO image timestamps: ImageId. (line 82)
* --no-emul-toc no table-of-content emulation: SetProduct. (line 44)
* --no_rc do not execute startup files: Miscellaneous. (line 16)
@@ -1522,11 +1564,11 @@
(line 41)
* --quoted_path_list read pathspecs from disk file: SetInsert.
(line 13)
-* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 58)
+* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 94)
* --sort-weight set output file address: SetProduct. (line 49)
* --stdio_sync control forced output to disk files: SetProduct.
(line 25)
-* --xattr Recording of xattr: SetExtras. (line 34)
+* --xattr Recording of xattr: SetExtras. (line 70)
* -A set Application Id: ImageId. (line 38)
* -abstract set Abstract File path: ImageId. (line 66)
* -allow-lowercase lowercase in ISO file names: SetCompl. (line 46)
@@ -1546,9 +1588,12 @@
* -checksum_algorithm_template choose .template checksums: Jigdo.
(line 87)
* -copyright set Copyright File path: ImageId. (line 77)
-* -d omit trailing dot in ISO file names: SetCompl. (line 50)
+* -D allow deep directory hierachies: SetExtras. (line 24)
+* -d omit trailing dot in ISO file names: SetCompl. (line 56)
* -dev set path for loading existing ISO image: Loading. (line 25)
* -dir-mode permissions for all directories: SetProduct. (line 60)
+* -disable-deep-relocation allow deep directory hierachies: SetExtras.
+ (line 37)
* -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl.
(line 24)
* -e El Torito EFI boot image: Bootable. (line 50)
@@ -1562,8 +1607,8 @@
* -f follow symbolic links on disk: SetInsert. (line 24)
* -file-mode permissions for all data files: SetProduct. (line 66)
* -follow-links follow symbolic links on disk: SetInsert. (line 28)
-* -full-iso9660-filenames allow 37 characters in ISO file names: SetCompl.
- (line 61)
+* -full-iso9660-filenames allow 31 characters in ISO file names: SetCompl.
+ (line 66)
* -G Fill System Area e.g. by MBR: SystemArea. (line 17)
* -generic-boot Fill System Area e.g. by MBR: SystemArea. (line 24)
* -graft-points enable target=source pathspecs: SetInsert. (line 31)
@@ -1576,12 +1621,14 @@
(line 25)
* -hide-list keep matching files invisible in ISO tree: SetHide.
(line 16)
+* -hide-rr-moved set deep directory relocation target: SetExtras.
+ (line 57)
* -input-charset set character set of disk file names: Charset.
(line 17)
* -iso-level define ISO 9660 limitations: SetCompl. (line 7)
* -isohybrid-mbr Install ISOLINUX isohybrid MBR: SystemArea.
(line 30)
-* -J enable production of Joliet directory tree: SetExtras. (line 67)
+* -J enable production of Joliet directory tree: SetExtras. (line 103)
* -jigdo-exclude add exclusion pattern for .md5: Jigdo. (line 59)
* -jigdo-force-md5 add check pattern for .md5: Jigdo. (line 52)
* -jigdo-jigdo set name of .jigdo file: Jigdo. (line 38)
@@ -1591,17 +1638,17 @@
* -jigdo-template-compress choose compression algorithm: Jigdo.
(line 76)
* -joliet enable production of Joliet directory tree: SetExtras.
- (line 71)
-* -joliet-long allow longer Joliet names: SetExtras. (line 74)
-* -l allow 37 characters in ISO file names: SetCompl. (line 57)
+ (line 107)
+* -joliet-long allow longer Joliet names: SetExtras. (line 110)
+* -l allow 31 characters in ISO file names: SetCompl. (line 63)
* -m exclude disk files from inserting: SetInsert. (line 35)
* -M set path for loading existing ISO image: Loading. (line 11)
* -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl.
- (line 64)
+ (line 69)
* -md5-list set path of readable .md5: Jigdo. (line 73)
* -mips-boot MIPS Big Endian boot image: SystemArea. (line 103)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 110)
-* -N omit version number in ISO file names: SetCompl. (line 67)
+* -N omit version number in ISO file names: SetCompl. (line 73)
* -no-emul-boot El Torito boot image emulation: Bootable. (line 72)
* -no-pad do not add zeros to ISO tree: SetProduct. (line 76)
* -o set output file address: SetProduct. (line 8)
@@ -1609,9 +1656,9 @@
(line 48)
* -old-root enable incremental insertion: SetInsert. (line 70)
* -omit-period omit trailing dot in ISO file names: SetCompl.
- (line 54)
+ (line 60)
* -omit-version-number omit version number in ISO file names: SetCompl.
- (line 71)
+ (line 77)
* -output set output file address: SetProduct. (line 22)
* -output-charset set character set of ISO file names: Charset.
(line 21)
@@ -1635,8 +1682,12 @@
(line 15)
* -rational-rock Rock Ridge with altered owner and permission: SetExtras.
(line 21)
+* -relaxed-filenames 7-bit special characters in ISO file names: SetCompl.
+ (line 50)
* -rock Rock Ridge (is always enabled): SetExtras. (line 12)
* -root redirect ISO root directory: SetInsert. (line 64)
+* -rr_reloc_dir set deep directory relocation target: SetExtras.
+ (line 40)
* -sparc-boot SUN SPARC boot images: SystemArea. (line 128)
* -sparc-label SUN Disk Label text: SystemArea. (line 131)
* -sysid set System Id: ImageId. (line 49)
@@ -1665,9 +1716,9 @@
* Menu:
* Abstract File, set path, -abstract: ImageId. (line 66)
-* ACL, record and load, --acl: SetExtras. (line 28)
+* ACL, record and load, --acl: SetExtras. (line 64)
* Application Id, set, -A, -appid: ImageId. (line 38)
-* Backup, enable fidelity, --for_backup: SetExtras. (line 24)
+* Backup, enable fidelity, --for_backup: SetExtras. (line 60)
* Biblio File, set path, -biblio: ImageId. (line 72)
* Block address, set sort weight, --sort-weight: SetProduct. (line 49)
* Bootability, boot catalog hidden, --boot-catalog-hide: Bootable.
@@ -1703,12 +1754,18 @@
(line 21)
* Character sets, _definition: Charset. (line 6)
* Copyright File, set path, -copyright: ImageId. (line 77)
+* Deep directories, allow, -D, -disable-deep-relocation: SetExtras.
+ (line 24)
+* Deep directories, relocation target, -hide-rr-moved: SetExtras.
+ (line 57)
+* Deep directories, relocation target, -rr_reloc_dir: SetExtras.
+ (line 40)
* Disk files, exclude, -hide-list: SetInsert. (line 51)
* Disk files, exclude, -m, -exclude, -x, -old-exclude: SetInsert.
(line 35)
* disk_path, _definition: Insert. (line 8)
-* ECMA-119, _definiton: Standards. (line 6)
-* El Torito, _definiton: Bootable. (line 13)
+* ECMA-119, _definition: Standards. (line 6)
+* El Torito, _definition: Bootable. (line 13)
* Examples: Examples. (line 6)
* Forced output, control, --stdio_sync: SetProduct. (line 25)
* Hiding, from ISO and Rock Ridge, -hide: SetHide. (line 8)
@@ -1723,16 +1780,20 @@
* Incremental insertion, enable disk devno, --old-root-devno: SetInsert.
(line 97)
* Incremental insertion, enable, -old-root: SetInsert. (line 70)
-* ISO 9660, _definiton: Standards. (line 6)
-* ISO 9660:1999, _definiton: Standards. (line 26)
-* ISO file names, allow 37 characters, -l, -full-iso9660-filenames, -max-iso9660-filenames: SetCompl.
- (line 57)
+* ISO 9660, _definition: Standards. (line 6)
+* ISO 9660:1999, _definition: Standards. (line 26)
+* ISO file names, 7-bit special characters, -relaxed-filenames: SetCompl.
+ (line 50)
+* ISO file names, allow 31 characters, -l, -full-iso9660-filenames: SetCompl.
+ (line 63)
+* ISO file names, allow 37 characters, -max-iso9660-filenames: SetCompl.
+ (line 69)
* ISO file names, allow lowercase, -allow-lowercase: SetCompl.
(line 46)
* ISO file names, omit trailing dot, -d, -omit-period: SetCompl.
- (line 50)
+ (line 56)
* ISO file names, omit version number, -N, -omit-version-number: SetCompl.
- (line 67)
+ (line 73)
* ISO file names, untranslated, -untranslated_name_len: SetCompl.
(line 39)
* ISO file names, very relaxed rules, -U, -untranslated-filenames: SetCompl.
@@ -1756,15 +1817,15 @@
* Jigdo Template Extraction, -jigdo-template-compress: Jigdo. (line 76)
* Jigdo Template Extraction, -md5-list: Jigdo. (line 73)
* Jigdo Template Extraction, _definition: Jigdo. (line 6)
-* Joliet, _definiton: Standards. (line 21)
-* Joliet, allows longer names, -joliet-long: SetExtras. (line 74)
-* Joliet, enable, -J, -joliet: SetExtras. (line 67)
+* Joliet, _definition: Standards. (line 21)
+* Joliet, allows longer names, -joliet-long: SetExtras. (line 110)
+* Joliet, enable, -J, -joliet: SetExtras. (line 103)
* Links, follow on disk, -f, -follow-links: SetInsert. (line 24)
-* Links, record and load hard links, --hardlinks: SetExtras. (line 49)
-* MBR, _definiton: SystemArea. (line 10)
+* Links, record and load hard links, --hardlinks: SetExtras. (line 85)
+* MBR, _definition: SystemArea. (line 10)
* MBR, append partition, -append_partition: SystemArea. (line 86)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 58)
-* MD5, record and load, --md5: SetExtras. (line 41)
+* MD5, record and load, --md5: SetExtras. (line 77)
* Message output, suppress, -quiet: Miscellaneous. (line 24)
* Mountability, by non-trivial partition 1, -partition_offset: SystemArea.
(line 46)
@@ -1784,22 +1845,22 @@
* Program version, report, -version: Miscellaneous. (line 34)
* Publisher Id, set, -p, -publisher: ImageId. (line 30)
* Rock Ridge, (always enabled), -R, -rock: SetExtras. (line 8)
-* Rock Ridge, _definiton: Standards. (line 14)
+* Rock Ridge, _definition: Standards. (line 14)
* Rock Ridge, altered owner and permission, -r, -rational-rock: SetExtras.
(line 15)
-* scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 58)
+* scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 94)
* Session, select path, -M, -prev-session, -dev: Loading. (line 11)
* Session, set load and write address, -C, -cdrecord-params: Loading.
(line 28)
* Startup files, suppress, --no_rc: Miscellaneous. (line 16)
-* System Area, _definiton: SystemArea. (line 6)
+* System Area, _definition: SystemArea. (line 6)
* System Id, set, -sysid: ImageId. (line 49)
* Table-of-content, emulation off, --no-emul-toc: SetProduct. (line 44)
* Table-of-content, emulation, --emul-toc: SetProduct. (line 35)
* Verbosity, high, -v, -verbose: Miscellaneous. (line 28)
* Volume Id, set, -V, -volid: ImageId. (line 13)
* Volume Set Id, set, -volset: ImageId. (line 26)
-* xattr, record and load, --xattr: SetExtras. (line 34)
+* xattr, record and load, --xattr: SetExtras. (line 70)
* xorriso, mkisofs emulation: Xorriso. (line 6)
* xorriso, options: Options. (line 6)
* zisofs file, enable recognition, -z, -transparent-compression: SetInsert.
@@ -1818,27 +1879,27 @@
Node: SetInsert9142
Node: SetProduct13558
Node: SetCompl17265
-Node: SetExtras19584
-Node: SetHide22561
-Node: ImageId23560
-Node: Bootable27065
-Node: SystemArea31130
-Node: Charset37464
-Node: Jigdo38490
-Node: Miscellaneous42757
-Node: Examples43921
-Node: ExSimple44407
-Node: ExGraft44886
-Node: ExMkisofs46133
-Node: ExGrowisofs47386
-Node: ExIncBackup48558
-Node: ExIncBckAcc51666
-Node: ExBootable53342
-Node: Files55434
-Node: Seealso56508
-Node: Bugreport57164
-Node: Legal57745
-Node: CommandIdx58560
-Node: ConceptIdx69893
+Node: SetExtras19861
+Node: SetHide24593
+Node: ImageId25592
+Node: Bootable29097
+Node: SystemArea33162
+Node: Charset39496
+Node: Jigdo40522
+Node: Miscellaneous44789
+Node: Examples45953
+Node: ExSimple46439
+Node: ExGraft46918
+Node: ExMkisofs48165
+Node: ExGrowisofs49418
+Node: ExIncBackup50590
+Node: ExIncBckAcc53698
+Node: ExBootable55374
+Node: Files57466
+Node: Seealso58540
+Node: Bugreport59196
+Node: Legal59777
+Node: CommandIdx60592
+Node: ConceptIdx72575

End Tag Table
|
[-]
[+]
|
Changed |
xorriso-1.2.2.tar.bz2/xorriso/xorrisofs.texi
^
|
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename xorrisofs.info
-@settitle GNU xorrisofs 1.2.0
+@settitle GNU xorrisofs 1.2.2
@c %**end of header
@c
@c man-ignore-lines begin
@@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
-@c man .TH XORRISOFS 1 "Version 1.2.0, Jan 27, 2012"
+@c man .TH XORRISOFS 1 "Version 1.2.2, Apr 02, 2012"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@@ -76,7 +76,7 @@
@end copying
@c man-ignore-lines end
@titlepage
-@title Manual of GNU xorriso personality xorrisofs 1.2.0
+@title Manual of GNU xorriso personality xorrisofs 1.2.2
@author Thomas Schmitt
@page
@vskip 0pt plus 1filll
@@ -85,7 +85,7 @@
@contents
@ifnottex
@node Top
-@top xorrisofs 1.2.0
+@top xorrisofs 1.2.2
@c man-ignore-lines 1
@c man .SH NAME
@@ -128,8 +128,8 @@
@chapter ISO 9660, Rock Ridge, Joliet
@c man \fBISO 9660, Rock Ridge, Joliet:\fR
@c man .br
-@cindex ISO 9660, _definiton
-@cindex ECMA-119, _definiton
+@cindex ISO 9660, _definition
+@cindex ECMA-119, _definition
@strong{ISO 9660}
(aka @strong{ECMA-119}) is a read-only filesystem that is mainly used for
optical media CD, DVD, BD, but may also reside on other storage devices like
@@ -140,7 +140,7 @@
very restricted filenames with no distinction of upper case and lower case.
Its metadata do not comply to fundamental POSIX specifications.
@*
-@cindex Rock Ridge, _definiton
+@cindex Rock Ridge, _definition
@strong{Rock Ridge}
is the name of a set of additional information which enhance
an ISO 9660 filesystem so that it can represent a POSIX compliant filesystem
@@ -151,7 +151,7 @@
Rock Ridge information is produced unconditionally with any @command{xorrisofs}
image.
@*
-@cindex Joliet, _definiton
+@cindex Joliet, _definition
@strong{Joliet}
is the name of an additional directory tree which provides
filenames up to 64 characters encoded as UTF-16.
@@ -159,7 +159,7 @@
operating systems of Microsoft Corporation.
Production of this directory tree may be enabled by option -J.
@*
-@cindex ISO 9660:1999, _definiton
+@cindex ISO 9660:1999, _definition
@strong{ISO 9660:1999}
is the name of an additional directory tree which provides longer
filenames. It allows single file names to have up to 207 characters.
@@ -651,6 +651,15 @@
@*
This violates ISO 9660 specs.
@c man .TP
+@item -relaxed-filenames
+@kindex -relaxed-filenames 7-bit special characters in ISO file names
+@cindex ISO file names, 7-bit special characters, -relaxed-filenames
+Allow nearly all 7-bit characters in ISO file names.
+Not allowed are 0x0 and '/'. If not option -allow-lowercase is given,
+then lowercase letters get converted to uppercase.
+@*
+This violates ISO 9660 specs.
+@c man .TP
@item -d
@kindex -d omit trailing dot in ISO file names
@cindex ISO file names, omit trailing dot, -d, -omit-period
@@ -664,20 +673,21 @@
Alias of -d.
@c man .TP
@item -l
-@kindex -l allow 37 characters in ISO file names
-@cindex ISO file names, allow 37 characters, -l, -full-iso9660-filenames, -max-iso9660-filenames
+@kindex -l allow 31 characters in ISO file names
+@cindex ISO file names, allow 31 characters, -l, -full-iso9660-filenames
@*
-Allow up to 37 characters in ISO file names.
-@*
-This violates ISO 9660 specs.
+Allow up to 31 characters in ISO file names.
@c man .TP
@item -full-iso9660-filenames
-@kindex -full-iso9660-filenames allow 37 characters in ISO file names
+@kindex -full-iso9660-filenames allow 31 characters in ISO file names
Alias of -l.
@c man .TP
@item -max-iso9660-filenames
@kindex -max-iso9660-filenames allow 37 characters in ISO file names
-Alias of -l.
+@cindex ISO file names, allow 37 characters, -max-iso9660-filenames
+Allow up to 37 characters in ISO file names.
+@*
+This violates ISO 9660 specs.
@c man .TP
@item -N
@kindex -N omit version number in ISO file names
@@ -723,6 +733,54 @@
@kindex -rational-rock Rock Ridge with altered owner and permission
Alias of -r.
@c man .TP
+@item -D
+@kindex -D allow deep directory hierachies
+@cindex Deep directories, allow, -D, -disable-deep-relocation
+The standard ECMA-119 demands that no path in the image shall have more
+than 8 name components or 255 characters. Therefore it would be necessary
+to move deeper directory trees to a higher directory. Rock Ridge offers an
+opportunity to let these relocated directories appear at their orginal
+deep position, but this feature might not be implemented properly by
+operating systems which mount the image.
+@*
+Option -D disables this deep directory relocation, and thus violates
+ISO 9660 specs.
+@*
+xorrisofs has -D set by default. If given explicitely then it overrides
+the options -rr_reloc_dir and -hide-rr-moved.
+@c man .TP
+@item -disable-deep-relocation
+@kindex -disable-deep-relocation allow deep directory hierachies
+Alias of -D.
+@c man .TP
+@item -rr_reloc_dir name
+@kindex -rr_reloc_dir set deep directory relocation target
+@cindex Deep directories, relocation target, -rr_reloc_dir
+Enable the relocation of deep directories and thus avoid ECMA-119 file paths
+of more than 8 name components or 255 characters. Directories which lead to
+such file paths will get moved to a directory in the root directory of the
+image. Its name gets set by this option.
+It is permissible to use the root directory itself.
+@*
+The overall directory tree will appear originally deep when interpreted as
+Rock Ridge tree. It will appear as re-arranged if only ECMA-119 information
+is considered.
+@*
+If the given relocation target directory does not already exist when image
+production begins, then it will get created and marked for Rock Ridge as
+relocation artefact. At least on GNU/Linux it will not be displayed in
+mounted Rock Ridge images.
+@*
+The name must not contain a '/' character after its first character and it
+must not be longer than 255 bytes.
+@*
+This option has no effect if option -D is present.
+@c man .TP
+@item -hide-rr-moved
+@kindex -hide-rr-moved set deep directory relocation target
+@cindex Deep directories, relocation target, -hide-rr-moved
+Alias of -rr_reloc_dir "/.rr_moved"
+@c man .TP
@item @minus{}@minus{}for_backup
@kindex @minus{}@minus{}for_backup Enable backup fidelity
@cindex Backup, enable fidelity, @minus{}@minus{}for_backup
@@ -980,7 +1038,7 @@
@*
@c man .PP
@sp 1
-@cindex El Torito, _definiton
+@cindex El Torito, _definition
An @strong{El Torito}
boot record points the bootstrapping facility to a boot catalog
with one or more boot images, which are binary program files stored in
@@ -1101,13 +1159,13 @@
@node SystemArea, Charset, Bootable, Options
@section System Area, MBR, other boot blocks
@c man .PP
-@cindex System Area, _definiton
+@cindex System Area, _definition
The first 16 blocks of an ISO image are the System Area.
It is reserved for system dependent boot software. This may be the
CD boot facilities of exotic hardware architectures or it may be
a MBR for booting via PC-BIOS from USB stick or hard disk.
@*
-@cindex MBR, _definiton
+@cindex MBR, _definition
A @strong{MBR} (Master Boot Record) contains boot code and a partition table.
It does not hamper El Torito booting from CDROM.
@*
|