Compare commits
127 Commits
ZeroTwoFou
...
ZeroThreeZ
Author | SHA1 | Date | |
---|---|---|---|
109bcbf61f | |||
3d3fbff650 | |||
59f6dc3dd6 | |||
3c72406fda | |||
9149ac0362 | |||
f8cd26f337 | |||
f7b46d31a4 | |||
6caa4dc86e | |||
dad02dc7ad | |||
8a5540c974 | |||
55aab79ebc | |||
d78ebcf1a1 | |||
a8e38e8f47 | |||
88dab185c4 | |||
c09fd5b1dd | |||
17a2d74512 | |||
3e25482521 | |||
61add0eb5d | |||
61f6a653ab | |||
6241cd8e48 | |||
2a62564d46 | |||
6351d3e8ee | |||
883fe7ff9f | |||
9c136a59dd | |||
13598dd908 | |||
2787932886 | |||
1bb20c2b5d | |||
91ad5bdb0e | |||
fc84ad7fb0 | |||
d9588c4df8 | |||
b288541937 | |||
417f828cff | |||
fa6bb24f93 | |||
84135f523a | |||
0e3b0c7013 | |||
22dc07ce9a | |||
de05652cf1 | |||
cfdee429d9 | |||
8286998e04 | |||
cf920a350d | |||
c17edd608e | |||
6acda56284 | |||
d2985ef379 | |||
de9636ec47 | |||
2bcf60e422 | |||
3b14ee2117 | |||
e76340d4f3 | |||
6ee18d7f85 | |||
9ae189a5e0 | |||
658e0203c9 | |||
7041a551b1 | |||
d2751a07a3 | |||
3f4c998b88 | |||
2db4dc66c6 | |||
0aa8126876 | |||
1e030bb23d | |||
da054ce8f8 | |||
d7bbca0ad8 | |||
fcd0399831 | |||
18b3aea791 | |||
1f91959d51 | |||
0cf369eb38 | |||
c3ed47237f | |||
71a988fc8e | |||
d4aa47c35c | |||
649c1b23e4 | |||
04efd40a86 | |||
76770e97bf | |||
cb6646d49e | |||
cd92b00f61 | |||
a0972af58f | |||
8945bce9ff | |||
b4b2572286 | |||
e40ddf8834 | |||
afd2f0cd61 | |||
e93ab421c2 | |||
e65346cd1b | |||
7685ca5d64 | |||
5d939f185c | |||
c1c033900e | |||
e1c4ed7d17 | |||
8898c58d3c | |||
18da5ec3f2 | |||
d5ec0342cc | |||
6af8449f5a | |||
69a6b4f4a1 | |||
daadfc113d | |||
1625db8bbd | |||
2026814a80 | |||
722e091460 | |||
2d1d4d4b37 | |||
fdea98935a | |||
7044f2cba1 | |||
f65dc9aa82 | |||
cd999a3661 | |||
07a137d64c | |||
26f00d4e08 | |||
bffde87102 | |||
73a9c16384 | |||
d56541d237 | |||
d7864bd13c | |||
bc002b24de | |||
8274230e14 | |||
a314fb5e91 | |||
f8154d6fde | |||
b79a0a1f04 | |||
16f6de937e | |||
410d972188 | |||
5f3f860800 | |||
7f40fbce00 | |||
c89012cb1f | |||
5fbc089f44 | |||
dde99a34a4 | |||
1967c876a6 | |||
262d987004 | |||
0987770afa | |||
0be7fe3329 | |||
62dbe3cbd0 | |||
1f1439f774 | |||
74aa1ed45e | |||
993ad6b8b4 | |||
6821aa77b8 | |||
63b4b64230 | |||
ba75c58f0e | |||
1a265f7645 | |||
e80a9626ce | |||
98fef56409 |
27
README
27
README
@ -4,13 +4,13 @@
|
||||
libisoburn. By Vreixo Formoso <metalpain2002@yahoo.es>
|
||||
and Thomas Schmitt <scdbackup@gmx.net>
|
||||
Integrated sub project of libburnia-project.org.
|
||||
http://files.libburnia-project.org/releases/libisoburn-0.2.3.tar.gz
|
||||
http://files.libburnia-project.org/releases/libisoburn-0.3.0.pl00.tar.gz
|
||||
Copyright (C) 2006-2008 Vreixo Formoso, Thomas Schmitt.
|
||||
Provided under GPL version 2.
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
libisoburn is a frontend for libraries libburn and libisofs which enables
|
||||
creation and expansion of ISO-9660 filesystems on all CD/DVD media supported
|
||||
creation and expansion of ISO-9660 filesystems on all CD/DVD/BD media supported
|
||||
by libburn. This includes media like DVD+RW, which do not support multi-session
|
||||
management on media level and even plain disk files or block devices.
|
||||
|
||||
@ -18,7 +18,8 @@ The price for that is thorough specialization on data files in ISO-9660
|
||||
filesystem images. So libisoburn is not suitable for audio (CD-DA) or any
|
||||
other CD layout which does not entirely consist of ISO-9660 sessions.
|
||||
|
||||
Currently it is only supported on Linux with kernels >= 2.4.
|
||||
Currently it is supported on Linux with kernels >= 2.4 and on FreeBSD versions
|
||||
with ATAPI/CAM support enabled in the kernel, see atapicam(4).
|
||||
|
||||
By using this software you agree to the disclaimer at the end of this text:
|
||||
"... without even the implied warranty ..."
|
||||
@ -26,18 +27,18 @@ By using this software you agree to the disclaimer at the end of this text:
|
||||
|
||||
Compilation, First Glimpse, Installation
|
||||
|
||||
Dynamic library and compile time header requirements for libisoburn-0.2.3 :
|
||||
- libburn.so.4 , version libburn-0.5.0 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.6 or higher
|
||||
Dynamic library and compile time header requirements for libisoburn-0.3.0 :
|
||||
- libburn.so.4 , version libburn-0.5.6 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.12 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.
|
||||
|
||||
Obtain libisoburn-0.2.3.tar.gz, take it to a directory of your choice
|
||||
Obtain libisoburn-0.3.0.pl00.tar.gz, take it to a directory of your choice
|
||||
and do:
|
||||
|
||||
tar xzf libisoburn-0.2.3.tar.gz
|
||||
cd libisoburn-0.2.3
|
||||
tar xzf libisoburn-0.3.0.pl00.tar.gz
|
||||
cd libisoburn-0.3.0
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
@ -57,7 +58,7 @@ as well as
|
||||
|
||||
xorriso
|
||||
|
||||
libisoburn includes a command line and dialog application named xorriso,
|
||||
libisoburn comes with a command line and dialog application named xorriso,
|
||||
which offers a substantial part of libisoburn features to shell scripts and
|
||||
users. Its file xorriso/README describes a standalone tarball as first
|
||||
preference for statically linked xorriso installation.
|
||||
@ -72,6 +73,12 @@ Several alias links point to the xorriso binary:
|
||||
xorrecord starts xorriso with -as cdrecord emulation already enabled
|
||||
osirrox starts with -osirrox image-to-disk copying already enabled
|
||||
|
||||
By default xorriso will depend on libreadline if the readline-dev headers
|
||||
are present. This dependcy can be avoided by running
|
||||
./configure --prefix=/usr --disable-libreadline
|
||||
make clean ; make
|
||||
Never omit the "make clean" command after switching libreadline enabling.
|
||||
|
||||
|
||||
Drives and Disk File Objects
|
||||
|
||||
|
40
configure.ac
40
configure.ac
@ -1,4 +1,4 @@
|
||||
AC_INIT([libisoburn], [0.2.3], [http://libburnia-project.org])
|
||||
AC_INIT([libisoburn], [0.3.0], [http://libburnia-project.org])
|
||||
AC_PREREQ([2.50])
|
||||
dnl AC_CONFIG_HEADER([config.h])
|
||||
|
||||
@ -20,8 +20,8 @@ dnl LT_CURREN, LT_AGE, LT_REVISION where SONAME becomes LT_CURRENT - LT_AGE
|
||||
dnl
|
||||
dnl These three are only copies to provide libtool with unused LT_RELEASE
|
||||
ISOBURN_MAJOR_VERSION=0
|
||||
ISOBURN_MINOR_VERSION=2
|
||||
ISOBURN_MICRO_VERSION=3
|
||||
ISOBURN_MINOR_VERSION=3
|
||||
ISOBURN_MICRO_VERSION=0
|
||||
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
|
||||
|
||||
AC_SUBST(ISOBURN_MAJOR_VERSION)
|
||||
@ -33,16 +33,16 @@ dnl Libtool versioning
|
||||
dnl Generate libisoburn.so.1.x.y
|
||||
dnl SONAME will become LT_CURRENT - LT_AGE
|
||||
dnl
|
||||
dnl ts A80808
|
||||
dnl ### This is the release version 0.2.2 = libisoburn.so.1.11.0
|
||||
dnl This is the development version after above stable release
|
||||
dnl ### LT_CURRENT++, LT_AGE++ have not happened happened yet.
|
||||
dnl LT_CURRENT++, LT_AGE++ has happened meanwhile.
|
||||
dnl ts A80920
|
||||
dnl This is the release version 0.3.0 = libisoburn.so.1.19.0
|
||||
dnl ### This is the development version after above stable release
|
||||
dnl LT_CURRENT++, LT_AGE++ have not happened happened yet.
|
||||
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
|
||||
dnl
|
||||
dnl SONAME = 13 - 12 = 1 . Library name = libburn.so.1.12.0
|
||||
dnl SONAME = 20 - 19 = 1 . Library name = libisoburn.so.1.19.0
|
||||
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
|
||||
LT_CURRENT=13
|
||||
LT_AGE=12
|
||||
LT_CURRENT=20
|
||||
LT_AGE=19
|
||||
LT_REVISION=0
|
||||
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
||||
|
||||
@ -86,22 +86,28 @@ AC_SUBST(ARCH)
|
||||
AC_SUBST(LIBBURN_ARCH_LIBS)
|
||||
|
||||
|
||||
AC_ARG_ENABLE(libreadline,
|
||||
[ --enable-libreadline Enable use of libreadline by xorriso, default=yes],
|
||||
, enable_libreadline=yes)
|
||||
if test x$enable_libreadline = xyes; then
|
||||
dnl Check whether there is readline-devel and readline-runtime.
|
||||
dnl If not, erase this macro which would enable use of readline(),add_history()
|
||||
READLINE_DEF="-DXorriso_with_readlinE"
|
||||
READLINE_DEF="-DXorriso_with_readlinE"
|
||||
dnl The empty yes case obviously causes -lreadline to be linked
|
||||
AC_CHECK_HEADER(readline/readline.h, AC_CHECK_LIB(readline, readline, , READLINE_DEF= ), READLINE_DEF= )
|
||||
AC_CHECK_HEADER(readline/readline.h, AC_CHECK_LIB(readline, readline, , READLINE_DEF= ), READLINE_DEF= )
|
||||
dnl The X= in the yes case prevents that -lreadline gets linked twice
|
||||
AC_CHECK_HEADER(readline/history.h, AC_CHECK_LIB(readline, add_history, X= , READLINE_DEF= ), READLINE_DEF= )
|
||||
AC_CHECK_HEADER(readline/history.h, AC_CHECK_LIB(readline, add_history, X= , READLINE_DEF= ), READLINE_DEF= )
|
||||
else
|
||||
READLINE_DEF=
|
||||
fi
|
||||
AC_SUBST(READLINE_DEF)
|
||||
|
||||
|
||||
AC_CHECK_HEADER(libburn/libburn.h)
|
||||
AC_CHECK_HEADER(libisofs/libisofs.h)
|
||||
|
||||
dnl Check for proper library versions
|
||||
LIBBURN_REQUIRED=0.5.2
|
||||
LIBISOFS_REQUIRED=0.6.6
|
||||
LIBBURN_REQUIRED=0.5.6
|
||||
LIBISOFS_REQUIRED=0.6.12
|
||||
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
|
||||
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)
|
||||
|
||||
|
@ -477,7 +477,7 @@ WARN_LOGFILE =
|
||||
# directories like "/usr/src/myproject". Separate the files or directories
|
||||
# with spaces.
|
||||
|
||||
INPUT = libburn \
|
||||
INPUT = libisoburn \
|
||||
doc \
|
||||
test
|
||||
|
||||
@ -495,9 +495,7 @@ INPUT_ENCODING = UTF-8
|
||||
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
|
||||
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
|
||||
|
||||
FILE_PATTERNS = libburn.h \
|
||||
comments \
|
||||
libburner.c
|
||||
FILE_PATTERNS =
|
||||
|
||||
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
|
||||
# should be searched for input files as well. Possible values are YES and NO.
|
||||
|
@ -58,7 +58,7 @@ extern void *libisoburn_default_msgs_submit_handle;
|
||||
extern int libisoburn_default_msgs_submit_flag;
|
||||
|
||||
|
||||
int isoburn_emulate_toc(struct burn_drive *d, int flag);
|
||||
static int isoburn_emulate_toc(struct burn_drive *d, int flag);
|
||||
|
||||
|
||||
int isoburn_initialize(char msg[1024], int flag)
|
||||
@ -263,6 +263,7 @@ int isoburn_is_intermediate_dvd_rw(struct burn_drive *d, int flag)
|
||||
@param flag bit0= pretent blank on overwriteable media
|
||||
bit3= if the drive reports a -ROM profile then try to read
|
||||
table of content by scanning for ISO image headers.
|
||||
bit4= do not emulate TOC on overwriteable media
|
||||
*/
|
||||
static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
|
||||
int flag)
|
||||
@ -312,11 +313,13 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
|
||||
(*o)->emulation_mode= -1;
|
||||
goto ex;
|
||||
}
|
||||
/* try to read emulated toc */
|
||||
ret= isoburn_emulate_toc(d, 0);
|
||||
if(ret<0) {
|
||||
(*o)->emulation_mode= -1;
|
||||
goto ex;
|
||||
if(!(flag & 16)) {
|
||||
/* try to read emulated toc */
|
||||
ret= isoburn_emulate_toc(d, 0);
|
||||
if(ret<0) {
|
||||
(*o)->emulation_mode= -1;
|
||||
goto ex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -326,9 +329,13 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
|
||||
|
||||
if(readonly) {
|
||||
/* This might be overwriteable media in a -ROM drive */
|
||||
ret= isoburn_emulate_toc(d, 1);
|
||||
if(ret<0)
|
||||
goto ex;
|
||||
if((flag & 16)) {
|
||||
ret= 0;
|
||||
} else {
|
||||
ret= isoburn_emulate_toc(d, 1);
|
||||
if(ret<0)
|
||||
goto ex;
|
||||
}
|
||||
if(ret==0 && profile !=0x08 && (flag&8)) {
|
||||
/* This might also be multi-session media which do not
|
||||
get shown with a decent TOC.
|
||||
@ -373,24 +380,38 @@ ex:
|
||||
table of content by scanning for ISO image headers.
|
||||
(depending on media type and drive state this might
|
||||
help or it might make the resulting toc even worse)
|
||||
bit4= do not emulate TOC on overwriteable media
|
||||
*/
|
||||
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
|
||||
char *adr, int flag)
|
||||
{
|
||||
int ret, conv_ret, drive_grabbed= 0;
|
||||
char libburn_drive_adr[BURN_DRIVE_ADR_LEN];
|
||||
int ret, drive_grabbed= 0;
|
||||
struct isoburn *o= NULL;
|
||||
|
||||
#ifndef NIX
|
||||
|
||||
/* <<< should be obsolete by new drive addressing of libburn-0.5.2 */
|
||||
/* >>> but helps with kernel 2.4 to use /dev/sr */
|
||||
|
||||
int conv_ret;
|
||||
char libburn_drive_adr[BURN_DRIVE_ADR_LEN];
|
||||
|
||||
conv_ret= burn_drive_convert_fs_adr(adr, libburn_drive_adr);
|
||||
if(conv_ret<=0)
|
||||
strcpy(libburn_drive_adr, adr);
|
||||
|
||||
ret= burn_drive_scan_and_grab(drive_infos, libburn_drive_adr, flag&1);
|
||||
|
||||
#else
|
||||
|
||||
ret= burn_drive_scan_and_grab(drive_infos, adr, flag & 1);
|
||||
|
||||
#endif /* ! NIX */
|
||||
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
drive_grabbed= 1;
|
||||
ret= isoburn_welcome_media(&o, (*drive_infos)[0].drive,
|
||||
(flag&8) | !!(flag&2));
|
||||
(flag & 24) | !!(flag&2));
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
|
||||
|
@ -147,6 +147,10 @@ int ds_read_block(IsoDataSource *src, uint32_t lba, uint8_t *buffer)
|
||||
return 1;
|
||||
tiles[oldest].last_error_lba = lba;
|
||||
|
||||
#ifdef ISO_DATA_SOURCE_MISHAP
|
||||
ret= ISO_DATA_SOURCE_MISHAP;
|
||||
#else
|
||||
/* <<< pre libisofs-0.6.7 */
|
||||
/* It is not required by the specs of libisofs but implicitely assumed
|
||||
...
|
||||
But it is not possible to ignore FAILURE.
|
||||
@ -159,6 +163,8 @@ int ds_read_block(IsoDataSource *src, uint32_t lba, uint8_t *buffer)
|
||||
enough to make it appear plausible.
|
||||
*/
|
||||
ret= ISO_FILE_CANT_WRITE;
|
||||
#endif
|
||||
|
||||
if(ret >= 0)
|
||||
ret = -1;
|
||||
sprintf(msg, "ds_read_block(%lu) returns %d", (unsigned long) lba, ret);
|
||||
|
@ -413,6 +413,9 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
|
||||
iso_write_opts_set_allow_full_ascii(wopts, opts->allow_full_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_always_gmt(wopts, opts->always_gmt);
|
||||
iso_write_opts_set_rrip_version_1_10(wopts, opts->rrip_version_1_10);
|
||||
iso_write_opts_set_dir_rec_mtime(wopts, opts->dir_rec_mtime);
|
||||
iso_write_opts_set_sort_files(wopts, opts->sort_files);
|
||||
iso_write_opts_set_replace_mode(wopts, opts->replace_dir_mode,
|
||||
opts->replace_file_mode, opts->replace_uid, opts->replace_gid);
|
||||
@ -773,6 +776,9 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
|
||||
o->allow_lowercase= 0;
|
||||
o->allow_full_ascii= 0;
|
||||
o->joliet_longer_paths= 0;
|
||||
o->always_gmt= 0;
|
||||
o->rrip_version_1_10= 0;
|
||||
o->dir_rec_mtime= 0;
|
||||
o->sort_files= 0;
|
||||
o->replace_dir_mode= 0;
|
||||
o->replace_file_mode= 0;
|
||||
@ -782,7 +788,7 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
|
||||
o->file_mode= 0444;
|
||||
o->uid= 0;
|
||||
o->gid= 0;
|
||||
o->output_charset= 0;
|
||||
o->output_charset= NULL;
|
||||
o->fifo_size= 4*1024*1024;
|
||||
o->effective_lba= -1;
|
||||
return(1);
|
||||
@ -839,6 +845,9 @@ int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax)
|
||||
o->allow_lowercase= !!(relax&32);
|
||||
o->allow_full_ascii= !!(relax&64);
|
||||
o->joliet_longer_paths= !!(relax&128);
|
||||
o->always_gmt= !!(relax & isoburn_igopt_always_gmt);
|
||||
o->rrip_version_1_10= !!(relax & isoburn_igopt_rrip_version_1_10);
|
||||
o->dir_rec_mtime= !!(relax & isoburn_igopt_dir_rec_mtime);
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
@ -357,6 +357,24 @@ struct isoburn_imgen_opts {
|
||||
*/
|
||||
unsigned int joliet_longer_paths :1;
|
||||
|
||||
/**
|
||||
* Store timestamps as GMT rather than in local time.
|
||||
*/
|
||||
unsigned int always_gmt :1;
|
||||
|
||||
/**
|
||||
* Write Rock Ridge info as of specification RRIP-1.10 rather than
|
||||
* RRIP-1.12: signature "RRIP_1991A" rather than "IEEE_1282",
|
||||
* field PX without file serial number
|
||||
*/
|
||||
unsigned int rrip_version_1_10 :1;
|
||||
|
||||
/**
|
||||
* Store as ECMA-119 Directory Record timestamp the mtime
|
||||
* of the source rather than the image creation time.
|
||||
*/
|
||||
unsigned int dir_rec_mtime :1;
|
||||
|
||||
unsigned int sort_files:1;
|
||||
/**< If files should be sorted based on their weight. */
|
||||
|
||||
|
@ -200,7 +200,7 @@ void isoburn_version(int *major, int *minor, int *micro);
|
||||
*/
|
||||
#define isoburn_libisofs_req_major 0
|
||||
#define isoburn_libisofs_req_minor 6
|
||||
#define isoburn_libisofs_req_micro 6
|
||||
#define isoburn_libisofs_req_micro 12
|
||||
|
||||
/** The minimum version of libburn to be used with this version of libisoburn
|
||||
at compile time.
|
||||
@ -208,7 +208,7 @@ void isoburn_version(int *major, int *minor, int *micro);
|
||||
*/
|
||||
#define isoburn_libburn_req_major 0
|
||||
#define isoburn_libburn_req_minor 5
|
||||
#define isoburn_libburn_req_micro 2
|
||||
#define isoburn_libburn_req_micro 6
|
||||
|
||||
|
||||
/** The minimum version of libisofs to be used with this version of libisoburn
|
||||
@ -243,8 +243,8 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
|
||||
@since 0.1.0
|
||||
*/
|
||||
#define isoburn_header_version_major 0
|
||||
#define isoburn_header_version_minor 2
|
||||
#define isoburn_header_version_micro 3
|
||||
#define isoburn_header_version_minor 3
|
||||
#define isoburn_header_version_micro 0
|
||||
/** Note:
|
||||
Above version numbers are also recorded in configure.ac because libtool
|
||||
wants them as parameters at build time.
|
||||
@ -364,6 +364,7 @@ int isoburn_drive_scan_and_grab(struct burn_drive_info *drive_infos[],
|
||||
table of content by scanning for ISO image headers.
|
||||
(depending on media type and drive this might
|
||||
help or it might make the resulting toc even worse)
|
||||
bit4= do not emulate table of content on overwriteable media
|
||||
@return 1 = success , 0 = drive not found , <0 = other error
|
||||
*/
|
||||
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
|
||||
@ -841,6 +842,21 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
|
||||
bit7= joliet_longer_paths
|
||||
Allow paths in the Joliet tree to have more than
|
||||
240 characters.
|
||||
bit8= always_gmt
|
||||
Write timestamps as GMT although the specs prescribe local
|
||||
time with eventual non-zero timezone offset. Negative
|
||||
timezones (west of GMT) can trigger bugs in some operating
|
||||
systems which typically appear in mounted ISO images as if
|
||||
the timezone shift from GMT was applied twice
|
||||
(e.g. in New York 22:36 becomes 17:36).
|
||||
bit9= rrip_version_1_10
|
||||
Write Rock Ridge info as of specification RRIP-1.10 rather
|
||||
than RRIP-1.12: signature "RRIP_1991A" rather than
|
||||
"IEEE_1282", field PX without file serial number.
|
||||
bit10= dir_rec_mtime
|
||||
Store as ECMA-119 Directory Record timestamp the mtime
|
||||
of the source rather than the image creation time.
|
||||
|
||||
@return 1 success, <=0 failure
|
||||
*/
|
||||
#define isoburn_igopt_omit_version_numbers 1
|
||||
@ -851,6 +867,9 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
|
||||
#define isoburn_igopt_allow_lowercase 32
|
||||
#define isoburn_igopt_allow_full_ascii 64
|
||||
#define isoburn_igopt_joliet_longer_paths 128
|
||||
#define isoburn_igopt_always_gmt 256
|
||||
#define isoburn_igopt_rrip_version_1_10 512
|
||||
#define isoburn_igopt_dir_rec_mtime 1024
|
||||
int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax);
|
||||
int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax);
|
||||
|
||||
@ -1052,7 +1071,7 @@ off_t isoburn_disc_available_space(struct burn_drive *d,
|
||||
|
||||
|
||||
/** Obtain the start block number of the most recent session on media. In
|
||||
case of random access media this will always be 0. Succesfull return is
|
||||
case of random access media this will normally be 0. Successfull return is
|
||||
not a guarantee that there is a ISO-9660 image at all. The call will fail,
|
||||
nevertheless,if isoburn_disc_get_status() returns not BURN_DISC_APPENDABLE
|
||||
or BURN_DISC_FULL.
|
||||
@ -1183,10 +1202,9 @@ int isoburn_prepare_blind_grow(struct burn_drive *d, struct burn_disc **disc,
|
||||
|
||||
|
||||
/**
|
||||
Revoke isoburn_prepare_new_image() or isoburn_prepare_disc() instead of
|
||||
running isoburn_disc_write().
|
||||
Revoke isoburn_prepare_*() instead of running isoburn_disc_write().
|
||||
libisofs reserves resources and maybe already starts generating the
|
||||
image stream when one of above two calls is performed. It is mandatory to
|
||||
image stream when one of above three calls is performed. It is mandatory to
|
||||
either run isoburn_disc_write() or to revoke the preparations by the
|
||||
call described here.
|
||||
@since 0.1.0
|
||||
|
@ -4,7 +4,7 @@
|
||||
xorriso. By Thomas Schmitt <scdbackup@gmx.net>
|
||||
Integrated sub project of libburnia-project.org but also published via:
|
||||
http://scdbackup.sourceforge.net/xorriso_eng.html
|
||||
http://scdbackup.sourceforge.net/xorriso-0.2.3.tar.gz
|
||||
http://scdbackup.sourceforge.net/xorriso-0.3.0.pl00.tar.gz
|
||||
Copyright (C) 2006-2008 Thomas Schmitt, provided under GPL version 2.
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
@ -16,7 +16,8 @@ information of existing ISO images and it writes the session results to
|
||||
optical media or to filesystem objects.
|
||||
Vice versa xorriso is able to restore file objects from ISO 9660 filesystems.
|
||||
|
||||
Currently it is only supported on Linux with kernels >= 2.4.
|
||||
Currently it is supported on Linux with kernels >= 2.4 and on FreeBSD versions
|
||||
with ATAPI/CAM support enabled in the kernel, see atapicam(4).
|
||||
|
||||
A special property of xorriso is that it needs neither an external ISO 9660
|
||||
formatter program nor an external burn program for CD or DVD but rather
|
||||
@ -36,10 +37,10 @@ The tarball contains anything that is needed except libc and libpthread.
|
||||
libreadline and the readline-dev headers will make dialog mode more convenient,
|
||||
but are not mandatory.
|
||||
|
||||
Obtain xorriso-0.2.3.tar.gz, take it to a directory of your choice and do:
|
||||
Obtain xorriso-0.3.0.pl00.tar.gz, take it to a directory of your choice and do:
|
||||
|
||||
tar xzf xorriso-0.2.3.tar.gz
|
||||
cd xorriso-0.2.3
|
||||
tar xzf xorriso-0.3.0.pl00.tar.gz
|
||||
cd xorriso-0.3.0
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
@ -53,8 +54,8 @@ which you may strip to reduce it in size
|
||||
strip ./xorriso/xorriso
|
||||
|
||||
You may copy or move it to a directory where it can be found by the shell,
|
||||
you may execute xorriso at the place where it was built, or you may execute
|
||||
as superuser:
|
||||
or you may execute xorriso at the place where it was built,
|
||||
or you may execute as superuser:
|
||||
make install
|
||||
|
||||
For general concepts, options and usage examples see
|
||||
@ -74,6 +75,15 @@ The installation creates several alias links pointing to the xorriso binary:
|
||||
xorrecord starts xorriso with -as cdrecord emulation already enabled
|
||||
osirrox starts with -osirrox image-to-disk copying already enabled
|
||||
|
||||
If you want to avoid dependecy on libreadline although the libreadline
|
||||
development package is installed, then rather build xorriso by:
|
||||
./configure --prefix=/usr --disable-libreadline
|
||||
make clean ; make
|
||||
Never omit the "make clean" command after switching libreadline enabling.
|
||||
|
||||
If you want xorriso to report a "Build timestamp" with its option -version:
|
||||
make buildstamped
|
||||
|
||||
|
||||
Drives and Disk File Objects
|
||||
|
||||
@ -163,7 +173,7 @@ After the info text there are two 4 byte signed integers, most significant
|
||||
byte first. The first one, N, gives the number of bits in the following bitmap
|
||||
and the second number S gives the number of 2 KiB blocks governed by a single
|
||||
bit in the map. Then come the bits in form of 8-bit bytes.
|
||||
Media block M is covered by bit B=M/S in the map, bit number B is stored in
|
||||
Data block M is covered by bit B=M/S in the map, bit number B is stored in
|
||||
byte B/8 as bit B%8. A valid readable data block has its bit set to 1.
|
||||
|
||||
|
||||
@ -186,9 +196,9 @@ and a matching dynamically linked xorriso binary.
|
||||
This binary is leaner but depends on properly installed libraries of suitable
|
||||
revision.
|
||||
|
||||
Dynamic library and compile time header requirements for libisoburn-0.2.3 :
|
||||
- libburn.so.4 , version libburn-0.5.0 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.6 or higher
|
||||
Dynamic library and compile time header requirements for libisoburn-0.3.0 :
|
||||
- libburn.so.4 , version libburn-0.5.6 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.12 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.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -22,6 +22,8 @@ do_strip=0
|
||||
static_opts=
|
||||
warn_opts="-Wall"
|
||||
nglibisofs=1
|
||||
def_libreadline="-DXorriso_with_readlinE"
|
||||
link_libreadline="-lreadline"
|
||||
|
||||
for i in "$@"
|
||||
do
|
||||
@ -35,11 +37,16 @@ do
|
||||
elif test "$i" = "-g"
|
||||
then
|
||||
debug_opts="-g -O0"
|
||||
elif test "$i" = "-no_libreadline"
|
||||
then
|
||||
def_libreadline=""
|
||||
link_libreadline=""
|
||||
elif test "$i" = "-help" -o "$i" = "--help" -o "$i" = "-h"
|
||||
then
|
||||
echo \
|
||||
"$xorr/compile_xorriso.sh : to be executed above top level directories"
|
||||
echo "Options:"
|
||||
echo " -no_libreadline do not compile for and link with libreadline."
|
||||
echo " -do_diet produce capability reduced lean version."
|
||||
echo " -do_strip apply program strip to compiled programs."
|
||||
echo " -g produce debuggable programm."
|
||||
@ -75,6 +82,8 @@ libisofs="$libisofs $isofs"/tree.o
|
||||
libisofs="$libisofs $isofs"/util.o
|
||||
libisofs="$libisofs $isofs"/util_htable.o
|
||||
libisofs="$libisofs $isofs"/util_rbtree.o
|
||||
libisofs="$libisofs $isofs"/system_area.o
|
||||
libisofs="$libisofs $isofs"/make_isohybrid_mbr.o
|
||||
|
||||
|
||||
echo "Version timestamp : $(sed -e 's/#define Xorriso_timestamP "//' -e 's/"$//' "$xorr"/xorriso_timestamp.h)"
|
||||
@ -83,7 +92,7 @@ date -u '+#define Xorriso_build_timestamP "%Y.%m.%d.%H%M%S"' >"$xorr"/xorriso_bu
|
||||
echo "Build timestamp : $(sed -e 's/#define Xorriso_build_timestamP "//' -e 's/"$//' "$xorr"/xorriso_buildstamp.h)"
|
||||
|
||||
echo "compiling program $xorr/xorriso.c $static_opts $debug_opts $def_opts"
|
||||
cc -I. -DXorriso_with_maiN -DXorriso_with_regeX -DXorriso_with_readlinE \
|
||||
cc -I. -DXorriso_with_maiN -DXorriso_with_regeX $def_libreadline \
|
||||
$warn_opts \
|
||||
$static_opts \
|
||||
$debug_opts \
|
||||
@ -130,7 +139,7 @@ cc -I. -DXorriso_with_maiN -DXorriso_with_regeX -DXorriso_with_readlinE \
|
||||
\
|
||||
$libisofs \
|
||||
\
|
||||
-lreadline \
|
||||
$link_libreadline \
|
||||
\
|
||||
-lpthread
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
AC_INIT([xorriso], [0.2.3], [http://libburnia-project.org])
|
||||
AC_INIT([xorriso], [0.3.0], [http://libburnia-project.org])
|
||||
AC_PREREQ([2.50])
|
||||
dnl AC_CONFIG_HEADER([config.h])
|
||||
|
||||
@ -9,14 +9,14 @@ AM_INIT_AUTOMAKE([subdir-objects])
|
||||
|
||||
BURN_MAJOR_VERSION=0
|
||||
BURN_MINOR_VERSION=5
|
||||
BURN_MICRO_VERSION=3
|
||||
BURN_MICRO_VERSION=7
|
||||
AC_SUBST(BURN_MAJOR_VERSION)
|
||||
AC_SUBST(BURN_MINOR_VERSION)
|
||||
AC_SUBST(BURN_MICRO_VERSION)
|
||||
|
||||
LIBISOFS_MAJOR_VERSION=0
|
||||
LIBISOFS_MINOR_VERSION=6
|
||||
LIBISOFS_MICRO_VERSION=6
|
||||
LIBISOFS_MICRO_VERSION=12
|
||||
AC_SUBST(LIBISOFS_MAJOR_VERSION)
|
||||
AC_SUBST(LIBISOFS_MINOR_VERSION)
|
||||
AC_SUBST(LIBISOFS_MICRO_VERSION)
|
||||
@ -95,14 +95,20 @@ else
|
||||
CFLAGS="$CFLAGS -DDEBUG"
|
||||
fi
|
||||
|
||||
|
||||
AC_ARG_ENABLE(libreadline,
|
||||
[ --enable-libreadline Enable use of libreadline by xorriso, default=yes],
|
||||
, enable_libreadline=yes)
|
||||
if test x$enable_libreadline = xyes; then
|
||||
dnl Check whether there is readline-devel and readline-runtime.
|
||||
dnl If not, erase this macro which would enable use of readline(),add_history()
|
||||
READLINE_DEF="-DXorriso_with_readlinE"
|
||||
READLINE_DEF="-DXorriso_with_readlinE"
|
||||
dnl The empty yes case obviously causes -lreadline to be linked
|
||||
AC_CHECK_HEADER(readline/readline.h, AC_CHECK_LIB(readline, readline, , READLINE_DEF= ), READLINE_DEF= )
|
||||
AC_CHECK_HEADER(readline/readline.h, AC_CHECK_LIB(readline, readline, , READLINE_DEF= ), READLINE_DEF= )
|
||||
dnl The X= in the yes case prevents that -lreadline gets linked twice
|
||||
AC_CHECK_HEADER(readline/history.h, AC_CHECK_LIB(readline, add_history, X= , READLINE_DEF= ), READLINE_DEF= )
|
||||
AC_CHECK_HEADER(readline/history.h, AC_CHECK_LIB(readline, add_history, X= , READLINE_DEF= ), READLINE_DEF= )
|
||||
else
|
||||
READLINE_DEF=
|
||||
fi
|
||||
AC_SUBST(READLINE_DEF)
|
||||
|
||||
|
||||
|
@ -51,7 +51,7 @@ then
|
||||
-e 's/<b>Libburn drives:<\/b>/\ <BR><b>Libburn drives:<\/b>/' \
|
||||
-e 's/^-dev /\ \ -dev /' \
|
||||
-e 's/^-devices /\ \ -devices /' \
|
||||
-e 's/<b>Rock Ridge, POSIX, X\/Open:<\/b>/\ <BR><b>Rock Ridge, POSIX, X\/Open:<\/b>/' \
|
||||
-e 's/<b>Rock Ridge, POSIX, X\/Open, and El Torito:<\/b>/\ <BR><b>Rock Ridge, POSIX, X\/Open, and El Torito:<\/b>/' \
|
||||
-e 's/<b>Command processing:<\/b>/\ <BR><b>Command processing:<\/b>/' \
|
||||
-e 's/<b>Dialog, Readline, Result pager:<\/b>/\ <BR><b>Dialog, Readline, Result pager:<\/b>/' \
|
||||
-e 's/<b>Aquiring source and target drive:<\/b>/\ <BR><b>Aquiring source and target drive:<\/b><BR>\ <BR>/' \
|
||||
@ -65,11 +65,14 @@ then
|
||||
-e 's/<b>Settings for result writing:<\/b>/\ <BR><b>Settings for result writing:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^706k = 706kB/\ \ 706k = 706kB/' \
|
||||
-e 's/^5540k = 5540kB/\ \ 5540k = 5540kB/' \
|
||||
-e 's/<b>Character sets:<\/b>/\ <BR><b>Character sets:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Exception processing:<\/b>/\ <BR><b>Exception processing:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>El Torito bootable ISO images:<\/b>/\ <BR><b>El Torito bootable ISO images:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Dialog mode control:<\/b>/\ <BR><b>Dialog mode control:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Drive and media related inquiry actions:<\/b>/\ <BR><b>Drive and media related inquiry actions:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Navigation in ISO image/\ <BR><b>Navigation in ISO image/' \
|
||||
-e 's/^filesystem:<\/b>/filesystem:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Evaluation of readability and recovery:<\/b>/\ <BR><b>Evaluation of readability and recovery:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>osirrox restore options:<\/b>/\ <BR><b>osirrox restore options:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Command compatibility emulations:<\/b>/\ <BR><b>Command compatibility emulations:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^<p><b>−as</<p>\ <BR><b>\−as</' \
|
||||
|
@ -25,11 +25,11 @@
|
||||
current_dir=$(pwd)
|
||||
lone_dir="$current_dir"/"xorriso-standalone"
|
||||
|
||||
xorriso_rev=0.2.3
|
||||
xorriso_rev=0.3.0
|
||||
# For unstable uploads:
|
||||
xorriso_pl=""
|
||||
# xorriso_pl=""
|
||||
# For stable releases:
|
||||
# xorriso_pl=".pl00"
|
||||
xorriso_pl=".pl00"
|
||||
|
||||
with_bootstrap_tarball=1
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH XORRISO 1 "Aug 24, 2008"
|
||||
.TH XORRISO 1 "Nov 28, 2008"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -53,6 +53,8 @@ Updates ISO subtrees incrementally to match given disk subtrees.
|
||||
Writes result either as completely new image or as add-on session
|
||||
to optical media or filesystem objects.
|
||||
.br
|
||||
Can activate ISOLINUX boot images via El Torito.
|
||||
.br
|
||||
Can perform multi-session tasks as emulation of mkisofs and cdrecord.
|
||||
.br
|
||||
Can restore files from ISO image to disk filesystem (see osirrox).
|
||||
@ -77,7 +79,7 @@ Creating, Growing, Modifying, Blind Growing
|
||||
.br
|
||||
Libburn drives
|
||||
.br
|
||||
Rock Ridge, POSIX, X/Open
|
||||
Rock Ridge, POSIX, X/Open, and El Torito
|
||||
.br
|
||||
Command processing
|
||||
.br
|
||||
@ -98,7 +100,8 @@ The data content of the session is called filesystem
|
||||
The written image in its session can then be mounted by the operating system
|
||||
for being used read-only. Linux is able to mount ISO images from block devices,
|
||||
which may represent optical media, other media or via a loop device even
|
||||
from regular disk files.
|
||||
from regular disk files. FreeBSD mounts ISO images from devices that represent
|
||||
arbitrary media or from regular disk files.
|
||||
.PP
|
||||
This session usage model has been extended on CD media by the concept of
|
||||
.B multi-session ,
|
||||
@ -174,9 +177,10 @@ suitable for xorriso.
|
||||
.br
|
||||
Blank is the state of newly purchased optical media.
|
||||
With used CD-RW and DVD-RW it can be achieved by action -blank "as_needed".
|
||||
Overwriteable media are considered blank unless they contain an ISO image
|
||||
suitable for xorriso. Action -blank "as_needed" can be used to invalidate the
|
||||
image on overwriteable media, or to apply eventual mandatory formatting.
|
||||
Overwriteable media are considered blank if they are new or if they have
|
||||
been marked as blank by xorriso.
|
||||
Action -blank "as_needed" can be used to do this marking on overwriteable
|
||||
media, or to apply eventual mandatory formatting of new media.
|
||||
.br
|
||||
\fBAppendable\fR media accept further sessions. Either they are MMC
|
||||
multi-session media in appendable state, or they are overwriteable media
|
||||
@ -194,17 +198,16 @@ 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.
|
||||
.br
|
||||
\fBRead-only\fR drives may or may not show session histories of multi-session
|
||||
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.
|
||||
.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 plus Rock Ridge extensions 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.
|
||||
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.
|
||||
.br
|
||||
The new empty image can be populated with directories and files.
|
||||
Before it can be written, the media in the output drive must get into
|
||||
@ -256,9 +259,6 @@ program is desired. -C $msc1,$msc2 is equivalent to:
|
||||
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.
|
||||
.br
|
||||
Rock Ridge info must be present in existing ISO images and it will be generated
|
||||
by the program unconditionally.
|
||||
.PP
|
||||
Output drive, i.e. target for writing, can be any libburn drive.
|
||||
Some drive types do not support the method of growing but only the methods
|
||||
@ -276,6 +276,12 @@ the path of their block device or of their generic character device. E.g.
|
||||
.br
|
||||
-dev /dev/sg2
|
||||
.br
|
||||
On FreeBSD the device files have names like
|
||||
.br
|
||||
-dev /dev/cd0
|
||||
.br
|
||||
-dev /dev/acd0
|
||||
.br
|
||||
Get a list of accessible drives by command
|
||||
.br
|
||||
-devices
|
||||
@ -325,7 +331,7 @@ One may use option
|
||||
.B -ban_stdio_write
|
||||
to surely prevent this risk and to allow only MMC drives.
|
||||
.SS
|
||||
.B Rock Ridge, POSIX, X/Open:
|
||||
.B Rock Ridge, POSIX, X/Open, and El Torito:
|
||||
.br
|
||||
.B Rock Ridge
|
||||
is the name of a set of additional informations which enhance
|
||||
@ -334,22 +340,51 @@ with ownership, access permissions, symbolic links, and other attributes.
|
||||
.PP
|
||||
This is what xorriso uses for a decent representation of the disk files
|
||||
within the ISO image. Rock Ridge information is produced with any xorriso
|
||||
image and xorriso will load for manipulation only Rock Ridge enhanced images.
|
||||
image.
|
||||
.PP
|
||||
xorriso is not named "porriso" because POSIX only guarantees 14 characters
|
||||
of filename length. It is the X/Open System Interface standard XSI which
|
||||
demands a file name length of up to 255 characters and paths of up to 1024
|
||||
characters. Rock Ridge fulfills this demand.
|
||||
.PP
|
||||
An
|
||||
.B El Torito
|
||||
boot record connects a boot image, which is a binary program plus some
|
||||
other files stored in the ISO image, with the bootstrapping facility of
|
||||
contemporary computers.
|
||||
The content of the boot image files is not in the scope of El Torito.
|
||||
.br
|
||||
Most bootable Linux CDs are equipped with ISOLINUX 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.
|
||||
Emulation -as mkisofs supports the example options out of the ISOLINUX wiki.
|
||||
.br
|
||||
The support for other boot image types is sparse.
|
||||
.br
|
||||
An MBR is generated together with the El Torito boot record if the boot image
|
||||
bears the isohybrid signature of ISOLINUX 3.72 or later. It will occupy the
|
||||
first 512 bytes of the emerging ISO image and enable booting from media which
|
||||
appear as hard disk rather than as CDROM. An MBR does not hamper CDROM booting.
|
||||
The MBR of a follow-up session can get in effect only on overwriteable media.
|
||||
.SS
|
||||
.B Command processing:
|
||||
.br
|
||||
Commands are either actions or settings. They 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 word "--" or the end of argument list or an end of
|
||||
an input line.
|
||||
It is not an error if "--" appears after the parameters of a command
|
||||
with a fixed list length.
|
||||
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.
|
||||
.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
|
||||
a command with a fixed list length. It is handled as normal text if it
|
||||
appears among the arguments of such a command.
|
||||
.PP
|
||||
.B Pattern expansion
|
||||
is a property of some particular commands and not a general
|
||||
@ -360,14 +395,30 @@ lists which are marked in this man page by "[***]" rather than "[...]".
|
||||
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 input lines where words are recognized similar
|
||||
to the quotation rules of a shell parser.
|
||||
argument is one word, or from quoted input lines where words are recognized
|
||||
similar to the quotation rules of a shell parser.
|
||||
.br
|
||||
xorriso is not a shell, although it might appear so on 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.
|
||||
.PP
|
||||
.B 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.
|
||||
.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
|
||||
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 -backslash_codes.
|
||||
.PP
|
||||
When the program begins then it first looks for argument -no_rc. If this is
|
||||
not present then it looks for its startup files and
|
||||
eventually reads their content as command input lines. Then it interprets
|
||||
@ -380,13 +431,13 @@ event which triggers the threshold of command -abort_on.
|
||||
.SS
|
||||
.B Dialog, Readline, Result pager:
|
||||
.br
|
||||
Dialog mode prompts for an input line, parses it into words, and performs
|
||||
Dialog mode prompts for a quoted input line, parses it into words, and performs
|
||||
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
|
||||
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.
|
||||
package readline-dev at the time when xorriso 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.
|
||||
@ -456,8 +507,8 @@ changes.
|
||||
.br
|
||||
-outdev can be performed without previous -dev or -indev. In that case an
|
||||
empty ISO image with no changes pending is created. It can either be populated
|
||||
by help of -add or it can be discarded silently if -dev or -indev are
|
||||
performed afterwards.
|
||||
by help of -map, -add et.al. or it can be discarded silently if -dev or -indev
|
||||
are performed afterwards.
|
||||
.br
|
||||
Special address string "-" means standard output, to which several restrictions
|
||||
apply. See above paragraph "Libburn drives".
|
||||
@ -507,7 +558,14 @@ until the next -dev or -indev. After the image has been loaded once, the
|
||||
setting is valid for -rollback until next -dev or -indev, where it
|
||||
will be reset to "auto".
|
||||
.TP
|
||||
\fB\-rom_toc_scan\fR "on"|"off"
|
||||
\fB\-in_charset\fR character_set_name
|
||||
Set the character set from which to convert file names when loading an
|
||||
image. This has eventually to be done before specifying -dev , -indev or
|
||||
-rollback. See paragraph "Character sets" for more explanations.
|
||||
When loading the written image after -commit the setting of -out_charset
|
||||
will be copied to -in_charset.
|
||||
.TP
|
||||
\fB\-rom_toc_scan\fR "on"|"off"[:"emul_on"|"emul_off"]
|
||||
Read-only drives do not tell the actual media type but show any media as
|
||||
ROM (e.g. as DVD-ROM). The session history of MMC multi-session media might
|
||||
be truncated to first and last session or even be completely false.
|
||||
@ -518,8 +576,13 @@ especially the address of the last session, there is a scan for ISO 9660
|
||||
filesystem headers which might help but also might yield worse results
|
||||
than the drive's table of content. At its end it can cause read attempts
|
||||
to invalid addresses and thus ugly drive behavior.
|
||||
Setting "on" enables that scan for alleged read-only media.
|
||||
.br
|
||||
To be in effect, -rom_toc_scan has to be enabled by "on" before the -*dev
|
||||
On the other hand the emulation of session history on overwriteable media
|
||||
can hamper reading of partly damaged media. Setting "off:emul_off" disables
|
||||
the elsewise trustworthy table-of-content scan for those media.
|
||||
.br
|
||||
To be in effect, the -rom_toc_scan setting has to be made before the -*dev
|
||||
command which aquires drive and media.
|
||||
.TP
|
||||
\fB\-ban_stdio_write\fR
|
||||
@ -635,6 +698,10 @@ Like -add but read the parameter words from file disk_path
|
||||
or standard input if disk_path is "-".
|
||||
The list must contain exactly one pathspec resp. disk_path pattern per line.
|
||||
.TP
|
||||
\fB\-quoted_path_list\fR disk_path
|
||||
Like -path_list but with quoted input reading rules. Lines get split into
|
||||
parameter words for -add. Whitespace outside quotes is discarded.
|
||||
.TP
|
||||
\fB\-map\fR disk_path iso_rr_path
|
||||
Insert file object disk_path into the ISO image as iso_rr_path. If disk_path
|
||||
is a directory then its whole sub tree is inserted into the ISO image.
|
||||
@ -643,7 +710,7 @@ is a directory then its whole sub tree is inserted into the ISO image.
|
||||
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 [***]
|
||||
Performs -map with each of the disk_path arguments. iso_rr_path will be
|
||||
Perform -map with each of the disk_path arguments. 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
|
||||
@ -671,7 +738,7 @@ 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 [***]
|
||||
Performs -update_r with each of the disk_path arguments. iso_rr_path will be
|
||||
Perform -update_r with each of the disk_path arguments. 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
|
||||
@ -679,7 +746,8 @@ Map a byte interval of a regular disk file into a regular file in the ISO
|
||||
image.
|
||||
This may be necessary if the disk file is larger than a single media, or if
|
||||
it exceeds the traditional limit of 2 GiB - 1 for old operating systems,
|
||||
or the limit of 4 GiB - 1 for newer ones.
|
||||
or the limit of 4 GiB - 1 for newer ones. Only the newest Linux kernels
|
||||
seem to read properly files >= 4 GiB - 1.
|
||||
.br
|
||||
A clumsy remedy for this limit is to backup file pieces and to concatenate
|
||||
them at restore time. A well tested chopping size is 2047m.
|
||||
@ -851,7 +919,7 @@ iso_rr_path.
|
||||
-type type_letter
|
||||
.br
|
||||
matches only files files of the given type:
|
||||
"block", "char", "dir", "pipe", "file", "link", "socket",
|
||||
"block", "char", "dir", "pipe", "file", "link", "socket", "eltorito",
|
||||
"Xotic" which eventually matches what is not matched by the other types.
|
||||
.br
|
||||
Only the first letter is interpreted. E.g.: -find / -type d
|
||||
@ -940,8 +1008,9 @@ E.g.:
|
||||
.br
|
||||
"report_lba" prints files which are associated to image data blocks.
|
||||
It tells the logical block address, the block number, the byte size,
|
||||
and the path of each file. In future there may be reported more than one
|
||||
line per file if the file is very large.
|
||||
and the path of each file. There may be reported more than one
|
||||
line per file if the file is very large. In this case each line has a
|
||||
different extent number in column "xt".
|
||||
.br
|
||||
E.g.:
|
||||
.br
|
||||
@ -964,10 +1033,6 @@ other file causes a FAILURE event.
|
||||
\fB\-rmdir\fR iso_rr_path [***]
|
||||
Delete empty directories.
|
||||
.TP
|
||||
\fB\-\-\fR
|
||||
.br
|
||||
Mark end of particular action argument list.
|
||||
.TP
|
||||
\fB\-rollback\fR
|
||||
Discard the manipulated ISO image and reload it from -indev.
|
||||
.TP
|
||||
@ -1092,6 +1157,22 @@ Smaller format size with DVD-RAM or BD-RE means more reserve space.
|
||||
.TP
|
||||
.B Settings for data insertion:
|
||||
.TP
|
||||
\fB\-file_size_limit\fR value [value [...]] --
|
||||
Set the maximum permissible size for a single data file. The values get
|
||||
summed up for the actual limit. If the only value is "off" then the file
|
||||
size is not limited by xorriso. Default is a limit of 100 extents, 4g -2k each:
|
||||
.br
|
||||
-file_size_limit 400g -200k --
|
||||
.br
|
||||
When mounting ISO 9660 filesystems, old operating systems can handle only files
|
||||
up to 2g -1 --. Newer ones are good up to 4g -1 --.
|
||||
You need quite a new Linux kernel to read correctly the final bytes
|
||||
of a file >= 4g if its size is not aligned to 2048 byte blocks.
|
||||
.br
|
||||
xorriso's own data read capabilities are not affected by eventual
|
||||
operating system size limits. They apply to mounting only. Nevertheless,
|
||||
the target filesystem of an -extract must be able to take the file size.
|
||||
.TP
|
||||
\fB\-not_mgt\fR code[:code[...]]
|
||||
Control the behavior of the exclusion lists.
|
||||
.br
|
||||
@ -1146,6 +1227,14 @@ Add a single shell parser style pattern to the list of exclusions for
|
||||
disk leafnames. These patterns are evaluated when the exclusion checks are
|
||||
made.
|
||||
.TP
|
||||
\fB\-not_list\fR 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_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.
|
||||
.TP
|
||||
\fB\-follow\fR occasion[:occasion[...]]
|
||||
Enable or disable resolution of symbolic links and mountpoints under
|
||||
disk_paths. This applies to actions -add, -du*x, -ls*x, -findx,
|
||||
@ -1228,12 +1317,15 @@ target file objects on disk as well, but "on" is downgraded to "nondir".
|
||||
\fB\-split_size\fR number["k"|"m"]
|
||||
Set the threshold for automatic splitting of regular files. Such splitting
|
||||
maps a large disk file onto a ISO directory with several part files in it.
|
||||
This is necessary if the size of the disk file exceeds 4 GiB - 1.
|
||||
Older operating systems can handle files only if they are smaller than 2 GiB.
|
||||
This is necessary if the size of the disk file exceeds -file_size_limit.
|
||||
Older operating systems can handle files in mounted ISO 9660 filesystems
|
||||
only if they are smaller than 2 GiB resp. 4 GiB.
|
||||
See also option -cut_out for more information about file parts.
|
||||
.br
|
||||
Default is 0 which will exclude files >= 4 GiB by a FAILURE event.
|
||||
A well tested -split_size is 2047m. Sizes of 4 GiB or more are not permissible.
|
||||
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.
|
||||
.TP
|
||||
.B Settings for result writing:
|
||||
.TP
|
||||
@ -1242,11 +1334,53 @@ Rock Ridge info will be generated by the program unconditionally.
|
||||
\fB\-joliet\fR "on"|"off"
|
||||
If enabled by "on", generate Joliet info additional to Rock Ridge info.
|
||||
.TP
|
||||
\fB\-compliance\fR rule[:rule...]
|
||||
Adjust the compliance to specifications of ISO 9660 and its extensions. In some
|
||||
cases it is worth to deviate a bit in order to circumvent bugs of the intended
|
||||
reader system or to get inofficial 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 "deep_paths_off".
|
||||
.br
|
||||
Rule keywords are:
|
||||
.br
|
||||
"omit_version" do not add versions (";1") to the file names.
|
||||
.br
|
||||
"deep_paths" allow ISO file paths deeper than 8 levels.
|
||||
.br
|
||||
"long_paths" allow ISO file paths longer than 255 characters.
|
||||
.br
|
||||
"long_names" allow up to 37 characters with ISO file names.
|
||||
.br
|
||||
"no_force_dots" do not add a dot to filenames which have none.
|
||||
.br
|
||||
"lowercase" allow lowercase characters in ISO file names.
|
||||
.br
|
||||
"full_ascii" allow all ASCII characters in ISO file names.
|
||||
.br
|
||||
"joliet_long_paths" allow Joliet paths longer than 240 characters.
|
||||
.br
|
||||
"always_gmt" store timestamps in GMT representation with timezone 0.
|
||||
.br
|
||||
"old_rr" use Rock Ridge version 1.10 (needed if the intended reader
|
||||
system does not recognize Rock Ridge 1.12 signature).
|
||||
.br
|
||||
"rec_mtime" record with ISO files the disk file's mtime and not the
|
||||
creation time of the image.
|
||||
.br
|
||||
Default setting is "clear:deep_paths:long_paths:always_gmt".
|
||||
.br
|
||||
Note: The term "ISO file" means the plain ISO 9660 names wnd attributes
|
||||
which get visible if the reader ignores Rock Ridge.
|
||||
.TP
|
||||
\fB\-volid\fR text
|
||||
Specifies the volume ID. xorriso accepts any text up to 32 characters,
|
||||
Specify the volume ID. xorriso accepts any text up to 32 characters,
|
||||
but according to rarely obeyed specs stricter rules apply:
|
||||
.br
|
||||
ECMA 119 demands character set [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
|
||||
@ -1262,6 +1396,20 @@ Consider this when setting -volid "ISOIMAGE" before executing -dev, -indev,
|
||||
or -rollback.
|
||||
If you insist in -volid "ISOIMAGE", set it again after those commands.
|
||||
.TP
|
||||
\fB\-publisher\fR text
|
||||
Set the publisher string to be written with the next -commit. Permissible
|
||||
are up to 128 characters.
|
||||
.TP
|
||||
\fB\-application_id\fR text
|
||||
Set the application id string to be written with the next -commit. Permissible
|
||||
are up to 128 characters.
|
||||
.TP
|
||||
\fB\-out_charset\fR character_set_name
|
||||
Set the character set to which file names get converted when writing an
|
||||
image. See paragraph "Character sets" for more explanations.
|
||||
When loading the written image after -commit the setting of -out_charset
|
||||
will be copied to -in_charset.
|
||||
.TP
|
||||
\fB\-uid\fR uid
|
||||
User id to be used for all files when the new ISO tree gets written to media.
|
||||
.TP
|
||||
@ -1290,7 +1438,7 @@ for their own decision.
|
||||
.TP
|
||||
\fB\-stream_recording\fR "on"|"off"
|
||||
Setting "on" tries to circumvent the management of defects on DVD-RAM and
|
||||
DVD+RW. Defect management keeps partly damaged media usable. But it reduces
|
||||
BD-RE. Defect management keeps partly damaged media usable. But it reduces
|
||||
write speed to half nominal speed even if the media is in perfect shape.
|
||||
For the case of flawless media, one may use -stream_recording "on" to get
|
||||
full speed.
|
||||
@ -1322,25 +1470,123 @@ xorriso adds the traditional 300k of padding by default to all images.
|
||||
.br
|
||||
For images which will never get to a CD it is safe to use -padding 0 .
|
||||
.TP
|
||||
\fB\-boot_image\fR "any"|"isolinux" "discard"|"keep"|"patch"
|
||||
Defines the handling of an eventual boot image (El-Torito) which has been read
|
||||
from an existing ISO image. All types ("any") can be discarded or kept
|
||||
unaltered. The latter makes only sense if the format of the boot image is
|
||||
.B El Torito bootable ISO images:
|
||||
.PP
|
||||
Contrary to published specifications many BIOSes will load an El Torito
|
||||
object from the first session on media and not from the last one, which
|
||||
gets mounted by default. This makes no problems with overwriteable media,
|
||||
because they appear to inadverted readers as one single session.
|
||||
.br
|
||||
But with multi-session media CD-R[W], DVD-R[W], DVD+R, it implies that the
|
||||
whole bootable system has to reside already in the first session and that
|
||||
the last session still has to bear all files which the booted system expects
|
||||
after eventually mounting the ISO image.
|
||||
.br
|
||||
If ISOLINUX is known to be present on media then it is advised to patch it
|
||||
when a follow-up session gets written. But one should not rely on the
|
||||
capability to influence the bootability of the existing sessions, unless one
|
||||
can assume overwriteable media.
|
||||
.TP
|
||||
\fB\-boot_image\fR "any"|"isolinux"
|
||||
.br
|
||||
"discard"|"keep"|"patch"|"show_status"|bootspec
|
||||
.br
|
||||
Define the handling of an eventual El Torito object which has
|
||||
been read from an existing ISO image or defines how to make a prepared
|
||||
ISOLINUX file set bootable.
|
||||
.br
|
||||
|
||||
All types ("any") of El Torito boot images can be discarded or kept unaltered.
|
||||
The latter makes only sense if the format of the boot image is
|
||||
relocatable without content changes.
|
||||
.br
|
||||
The boot image type "isolinux" can be kept unaltered (not advisable), or
|
||||
discarded, or it can be patched to match its relocation. In the latter case
|
||||
the resulting ISO image is bootable if the boot image was really complying
|
||||
to the isolinux standard.
|
||||
With any type, "show_status" will print what is known about the loaded image
|
||||
and its designated fate.
|
||||
.br
|
||||
Creation of new boot images is not yet possible.
|
||||
An existing boot image of type "isolinux" can be discarded or it can be
|
||||
patched to match its relocation. In the latter case the resulting ISO image
|
||||
stays bootable if the boot image was really produced by ISOLINUX.
|
||||
.br
|
||||
CAUTION:
|
||||
This is an expert option. xorriso is not an expert yet.
|
||||
It cannot recognize the inner form of boot images.
|
||||
This is an expert option.
|
||||
xorriso cannot recognize the inner form of boot images.
|
||||
So the user has already to know about the particular needs of the
|
||||
bootimage which is present on the input media.
|
||||
Most safe is the default: "any" "discard".
|
||||
boot image which is present on the input media.
|
||||
.br
|
||||
Most safe is the default: -boot_image "any" "discard".
|
||||
.br
|
||||
|
||||
A bootspec is a word of the form name=value and is used to describe the
|
||||
activation of a ISOLINUX boot image by an El Torito record and eventually
|
||||
a MBR. The names "dir" and "bin_path" lead to boot image activation.
|
||||
.br
|
||||
On all media types this is possible within the first session. In further
|
||||
sessions an existing boot image can get replaced by a new one, but depending
|
||||
on the media type this may have few effect at boot time. See above.
|
||||
.br
|
||||
The ISOLINUX files have to be added to the ISO image by normal means
|
||||
(image loading, -map, -add, ...) and should reside either in ISO image
|
||||
directory /isolinux or in /boot/isolinux .
|
||||
In that case it suffices to use as bootspec the text "dir=/isolinux" or
|
||||
"dir=/boot/isolinux". E.g.:
|
||||
.br
|
||||
-boot_image isolinux dir=/boot/isolinux
|
||||
.br
|
||||
which bundles these individual settings:
|
||||
.br
|
||||
-boot_image isolinux bin_path=/boot/isolinux/isolinux.bin
|
||||
.br
|
||||
-boot_image isolinux cat_path=/boot/isolinux/boot.cat
|
||||
.br
|
||||
-boot_image isolinux load_size=2048
|
||||
.br
|
||||
bin_path depicts the binary program which is to be started by the BIOS at
|
||||
boot time. It is among the files produced by ISOLINUX.
|
||||
.br
|
||||
An El Torito boot catalog file gets inserted into the ISO image with address
|
||||
cat_path at -commit time.
|
||||
It is subject to normal -overwrite and -reassure processing if there is already
|
||||
a file with the same name.
|
||||
.br
|
||||
Bootspec "isohybrid=off" disables MBR generation, "isohybrid=on" prevents the
|
||||
write session if not the isohybrid signature is found in the bin_path file.
|
||||
Default is "isohybrid=auto" which silently omits the MBR if the signature is
|
||||
missing.
|
||||
.TP
|
||||
.B Character sets:
|
||||
.PP
|
||||
File names are strings of non-zero bytes with 8 bit each. Unfortunately
|
||||
the same byte string may appear as different peculiar national characters
|
||||
on differently nationalized computers.
|
||||
The meanings of byte codes are defined in \fBcharacter sets\fR which have
|
||||
names. Shell command iconv -l lists them.
|
||||
.br
|
||||
Character sets should not matter as long as only english alphanumeric
|
||||
characters are used for file names or as long as all writers and readers
|
||||
of the media use the same character set.
|
||||
Outside these constraints it may be necessary to let xorriso convert byte
|
||||
codes.
|
||||
.br
|
||||
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
|
||||
-in_charset and -out_charset. Normally one will have both identical, if ever.
|
||||
.br
|
||||
If conversions are desired then xorriso needs to know the name of the
|
||||
local character set. xorriso can inquire the same info as shell command
|
||||
"locale" with argument "charmap". This may be influenced by environment
|
||||
variables LC_ALL, LC_CTYPE, or LANG and should match the expectations of
|
||||
the terminal.
|
||||
.TP
|
||||
\fB\-charset\fR character_set_name
|
||||
Set the character set from which to convert file names when loading an
|
||||
image and to which to convert when writing an image.
|
||||
.TP
|
||||
\fB\-local_charset\fR character_set_name
|
||||
Override the system assumption of the local character set name.
|
||||
If this appears necessary, one should consider to set -backslash_codes to
|
||||
"on" in order to avoid dangerous binary codes being sent to the terminal.
|
||||
.TP
|
||||
.B Exception processing:
|
||||
.PP
|
||||
@ -1445,17 +1691,23 @@ It issues an own FAILURE event.
|
||||
"fatal" acts like "failure" but issues the own event as FATAL.
|
||||
This is the default.
|
||||
.br
|
||||
With occasion "file_extraction" there are two behaviors:
|
||||
With occasion "file_extraction" there are three behaviors:
|
||||
.br
|
||||
"keep" maintains incompletely extracted files on disk. "delete" removes
|
||||
files which encountered errors during content extraction.
|
||||
"keep" maintains incompletely extracted files on disk. This is the default.
|
||||
.br
|
||||
"delete" removes files which encountered errors during content extraction.
|
||||
.br
|
||||
"best_effort" starts a revovery attempt by means of -extract_cut.
|
||||
.TP
|
||||
.B Dialog mode control:
|
||||
.TP
|
||||
\fB\-dialog\fR "on"|"off"
|
||||
Enable or disable to enter dialog mode after all arguments
|
||||
are processed. In dialog mode input lines get prompted via
|
||||
readline or from stdin.
|
||||
\fB\-dialog\fR "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.
|
||||
.br
|
||||
Mode "on" supports input of newline characters within quotation marks and
|
||||
line continuation by trailing backslash outside quotation marks.
|
||||
Mode "single_line" does not.
|
||||
.TP
|
||||
\fB\-page\fR length width
|
||||
Describe terminal to the text pager. See also above, paragraph Result pager.
|
||||
@ -1711,9 +1963,25 @@ Try to read data blocks from the indev drive, eventually copy them to a
|
||||
disk file, and finally report about the encountered quality. Several options
|
||||
may be used to modify the default behavior.
|
||||
.br
|
||||
An option consists of a keyword, a "=" character, and a value.
|
||||
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.
|
||||
.br
|
||||
Default is:
|
||||
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 no valid data.
|
||||
.br
|
||||
Alternatively it is possible to report damaged files rather than blocks.
|
||||
.TP
|
||||
\fB\-check_media_defaults\fR [option [option ...]] --
|
||||
Preset options for runs of -check_media, -extract_cut and best_effort
|
||||
file extraction. Eventual options given with -check_media will override the
|
||||
preset options. -extract_cut will override some options automatically.
|
||||
.br
|
||||
An option consists of a keyword, a "=" character, and a value. Options
|
||||
may override each other. So their sequence matters.
|
||||
.br
|
||||
The default setting at program start is:
|
||||
.br
|
||||
use=indev what=tracks min_lba=-1 max_lba=-1 retry=default
|
||||
time_limit=28800 item_limit=100000
|
||||
@ -1722,7 +1990,14 @@ abort_file=/var/opt/xorriso/do_abort_check_media
|
||||
.br
|
||||
data_to='' sector_map='' map_with_volid=off patch_lba0=off report=blocks
|
||||
.br
|
||||
Non-default settings:
|
||||
Option "reset=now" restores these startup defaults.
|
||||
.br
|
||||
Non-default options are:
|
||||
.br
|
||||
"report=files" lists the files which use damaged blocks (not with use=outdev).
|
||||
The format is like with find -exec report_damage.
|
||||
.br
|
||||
"report=blocks_files" first lists damaged blocks and then affected files.
|
||||
.br
|
||||
"use=outdev" reads from the output drive instead of the input drive. This
|
||||
avoids loading the ISO image tree from media.
|
||||
@ -1781,15 +2056,6 @@ have an -indev and a loaded image. ":force" may be appended after the number.
|
||||
.br
|
||||
"use=sector_map" does not read any media but loads the file given by option
|
||||
sector_map= and processes this virtual outcome.
|
||||
.br
|
||||
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 no valid data.
|
||||
.br
|
||||
"report=files" lists the files which use damaged blocks (not with use=outdev).
|
||||
The format is like with find -exec report_damage.
|
||||
.br
|
||||
"report=blocks_files" first lists damaged blocks and then affected files.
|
||||
.TP
|
||||
.B osirrox restore options:
|
||||
.PP
|
||||
@ -1851,9 +2117,24 @@ Like -extract, but if iso_rr_path is a directory then its sub tree gets not
|
||||
restored.
|
||||
.TP
|
||||
\fB\-extract_l\fR iso_rr_prefix disk_prefix iso_rr_path [***]
|
||||
Performs -extract with each of the iso_rr_path arguments. disk_path will be
|
||||
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.
|
||||
.TP
|
||||
\fB\-extract_cut\fR iso_rr_path byte_offset byte_count disk_path
|
||||
Copy a byte interval from a data file out of an ISO image into a newly created
|
||||
disk file.
|
||||
Two restrictions apply:
|
||||
.br
|
||||
The data bytes of iso_rr_path need to be already stored in the loaded ISO image
|
||||
and byte_offset must be a multiple of 2048, e.g. an integer with suffix
|
||||
s, m, or g.
|
||||
.br
|
||||
This option is implemented by a special run of -check_media and governed by
|
||||
most of the options which can be set by -check_media_defaults.
|
||||
Its main purpose is to allow handling of large files if they are not supported
|
||||
by mount -t iso9660 and if the reading system is unable to buffer them as
|
||||
a whole.
|
||||
.TP
|
||||
\fB\-cpx\fR iso_rr_path [***] disk_path
|
||||
Extract single leaf file objects from the ISO image and store them under
|
||||
the address given by disk_path. If more then one iso_rr_path is given then
|
||||
@ -1897,7 +2178,7 @@ of commands which in said programs trigger comparable actions.
|
||||
.TP
|
||||
\fB\-as\fR personality option [options] --
|
||||
.br
|
||||
Performs its variable length option list as sparse emulation of the program
|
||||
Perform its variable length option list as sparse emulation of the program
|
||||
depicted by the personality word.
|
||||
.br
|
||||
|
||||
@ -1907,6 +2188,7 @@ Personality "\fBmkisofs\fR" accepts the options listed with:
|
||||
.br
|
||||
Among them: -R (always on), -J, -o, -M, -C, -path-list, -m, -exclude-list,
|
||||
-f, -print-size, -pad, -no-pad, -V, -v, -version, -graft-points,
|
||||
-no-emul-boot, -b, -c, -boot-info-table, -boot-load-size,
|
||||
pathspecs as with xorriso -add.
|
||||
A lot of options are not supported and lead to failure of the mkisofs
|
||||
emulation. Some are ignored, but better do not rely on this tolerance.
|
||||
@ -1933,6 +2215,9 @@ Writing to stdout is possible only if -as "mkisofs" was among the start
|
||||
arguments or if other start arguments pointed the output drive to
|
||||
standard output.
|
||||
.br
|
||||
Not original mkisofs options are --quoted_path_list (see -quoted_path_list)
|
||||
and isolinux_mbr= (see -boot_image isolinux isohybrid=).
|
||||
.br
|
||||
Personalites "\fBxorrisofs\fR", "\fBgenisoimage\fR", and "\fBgenisofs\fR"
|
||||
are aliases for "mkisofs".
|
||||
.br
|
||||
@ -2008,7 +2293,7 @@ prevents reading and interpretation of eventual startup
|
||||
files. See section FILES below.
|
||||
.TP
|
||||
\fB\-options_from_file\fR fileaddress
|
||||
Reads lines from fileaddress and executes them as dialog lines.
|
||||
Read quoted input from fileaddress and executes it like dialog lines.
|
||||
.TP
|
||||
\fB\-help\fR
|
||||
.br
|
||||
@ -2037,6 +2322,50 @@ if its start matches the filter text. No wildcards.
|
||||
\fB\-status_history_max\fR number
|
||||
Set maximum number of history lines to be reported with -status "long_history".
|
||||
.TP
|
||||
\fB\-list_delimiter\fR word
|
||||
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, and must not contain
|
||||
quotation marks.
|
||||
.br
|
||||
For brevity the list delimiter is referred as "--" throughout this text.
|
||||
.TP
|
||||
\fB\-backslash_codes\fR "on"|"off"|mode[:mode]
|
||||
Enable or disable the interpretation of symbolic representations of special
|
||||
characters with quoted input, or with program arguments, or with program
|
||||
text output. If enabled the following translations apply:
|
||||
.br
|
||||
\\a=bell(007) \\b=backspace(010) \\e=Escape(033) \\f=formfeed(014)
|
||||
.br
|
||||
\\n=linefeed(012) \\r=carriage_return(015) \\t=tab(011)
|
||||
.br
|
||||
\\v=vtab(013) \\\\=backslash(134) \\[0-7][0-7][0-7]=octal_code
|
||||
.br
|
||||
\\\\x[0-9a-f][0-9a-f]=hex_code \\cC=control-C
|
||||
.br
|
||||
Translations can occur with quoted input in 3 modes:
|
||||
.br
|
||||
"in_double_quotes" translates only inside " quotation.
|
||||
.br
|
||||
"in_quotes" translates inside " and ' quotation.
|
||||
.br
|
||||
"with_quoted_input" translates inside and outside quotes.
|
||||
.br
|
||||
With the start program arguments there is mode:
|
||||
.br
|
||||
"with_program_arguments" translates all program arguments.
|
||||
.br
|
||||
.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:
|
||||
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".
|
||||
.TP
|
||||
\fB\-temp_mem_limit\fR number["k"|"m"]
|
||||
Set the maximum size of temporary memory to be used for image dependent
|
||||
buffering. Currently this applies to pattern expansion only.
|
||||
@ -2074,8 +2403,8 @@ This transport becomes visible with -report_about "ALL".
|
||||
\fB\-session_log\fR path
|
||||
If path is not empty it gives the address of a plain text file where
|
||||
a log record gets appended after each session. This log can be used to
|
||||
determine the start_lba of a session for mount option sbsector= from
|
||||
date or volume id.
|
||||
determine the start_lba of a session for mount options -o sbsector=
|
||||
resp. -s from date or volume id.
|
||||
.br
|
||||
Record format is: timestamp start_lba size volume-id
|
||||
.br
|
||||
@ -2137,7 +2466,11 @@ Manipulating an existing ISO image on the same media
|
||||
.br
|
||||
Copy modified ISO image from one media to another
|
||||
.br
|
||||
Write a ISO image into a pipe
|
||||
Bring a prepared ISOLINUX tree onto media and make it bootable
|
||||
.br
|
||||
Change existing file name tree from ISO-8859-1 to UTF-8
|
||||
.br
|
||||
Operate on storage facilities other than optical drives
|
||||
.br
|
||||
Perform multi-session runs as of cdrtools traditions
|
||||
.br
|
||||
@ -2150,6 +2483,8 @@ Examples of input timestrings
|
||||
Incremental backup of a few directory trees
|
||||
.br
|
||||
Restore directory trees from a particular ISO session to disk
|
||||
.br
|
||||
Try to retrieve as many blocks as possible from a damaged media
|
||||
.SS
|
||||
.B As superuser learn about available drives
|
||||
Consider to give rw permissions to those users or groups
|
||||
@ -2289,7 +2624,43 @@ first and only session to the output drive.
|
||||
.br
|
||||
-commit -eject all
|
||||
.SS
|
||||
.B Write a ISO image into a pipe
|
||||
.B Bring a prepared ISOLINUX tree onto media and make it bootable
|
||||
The user has already created a suitable file tree on disk and copied the
|
||||
ISOLINUX files into subdirectory ./boot/isolinux of that tree.
|
||||
Now xorriso can burn an El Torito bootable media:
|
||||
.br
|
||||
\fB$\fR xorriso -outdev /dev/sr0 -blank as_needed \\
|
||||
.br
|
||||
-map /home/me/ISOLINUX_prepared_tree / \\
|
||||
.br
|
||||
-boot_image isolinux dir=/boot/isolinux
|
||||
.SS
|
||||
.B Change existing file name tree from ISO-8859-1 to UTF-8
|
||||
This example assumes that the existing ISO image was written with character
|
||||
set ISO-8859-1 but that the readers expected UTF-8. Now a new session with
|
||||
the same files gets added with converted file names.
|
||||
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 eventual messages which
|
||||
will be made terminal-safe by option -backslash_codes.
|
||||
.br
|
||||
\fB$\fR xorriso -in_charset ISO-8859-1 -local_charset UTF-8 \\
|
||||
.br
|
||||
-out_charset UTF-8 -backslash_codes on -dev /dev/sr0 \\
|
||||
.br
|
||||
-alter_date m +0 / -- -commit -eject all
|
||||
.SS
|
||||
.B Operate on storage facilities other than optical drives
|
||||
Full read-write operation is possible with regular files and block devices:
|
||||
.br
|
||||
\fB$\fR xorriso -dev stdio:/tmp/regular_file ...
|
||||
.br
|
||||
Other writeable file types are supported write-only:
|
||||
.br
|
||||
\fB$\fR xorriso -outdev stdio:/tmp/named_pipe ...
|
||||
.br
|
||||
Among the write-only drives is standard output:
|
||||
.br
|
||||
\fB$\fR xorriso -outdev - \\
|
||||
.br
|
||||
...
|
||||
@ -2415,18 +2786,17 @@ the two disk trees to the media is desired. Begin with blank media and start
|
||||
a new blank media when the run fails due to lack of remaining space on
|
||||
the old one.
|
||||
.br
|
||||
This makes most sense with backups on non-erasable media like CD-R,
|
||||
DVD-R, DVD+R if the full backup leaves substantial remaining capacity
|
||||
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.
|
||||
An update run will probably save no time but last longer than a full backup.
|
||||
Another good reason may be given if read speed is much higher than write speed.
|
||||
.br
|
||||
With \fBmount\fR option \fB"sbsector="\fR it is possible to access the session
|
||||
trees which represent the older backup versions. With CD media, Linux mount
|
||||
accepts session numbers directly by its option "session=".
|
||||
With \fBmount\fR option -o \fB"sbsector="\fR on Linux resp. \fB-s\fR on FreeBSD
|
||||
it is possible to access the session trees which represent the older backup
|
||||
versions. With CD media, Linux mount accepts session numbers directly by
|
||||
its option "session=".
|
||||
.br
|
||||
Multi-session media and most overwriteable media written by xorriso can tell
|
||||
the sbsector of a session by xorriso option -toc.
|
||||
the sbsectors of their sessions by xorriso option -toc.
|
||||
.br
|
||||
Sessions on multi-session media are separated by several MB of unused blocks.
|
||||
So with small sessions the payload capacity can become substantially lower
|
||||
@ -2477,7 +2847,8 @@ Avoid to eventually create /home/thomas/restored without rwx-permission.
|
||||
.br
|
||||
This can be repeated several times, eventually with -eject or with other
|
||||
-indev drives. See the human readable part of "$HOME"/dvd_copy.map for
|
||||
addresses which can be used on "$HOME"/dvd_copy with mount option sbsector=.
|
||||
addresses which can be used on "$HOME"/dvd_copy with mount option -o sbsector=
|
||||
resp. -s.
|
||||
.br
|
||||
If you want to make the newest session the default mount session, you
|
||||
may add option "patch_lba0=on" to the final -check_media run.
|
||||
@ -2498,7 +2869,7 @@ to read and execute lines from the following files:
|
||||
.br
|
||||
The files are read in the sequence given above, but none of them is required
|
||||
for xorriso to function properly.
|
||||
.TP
|
||||
.SS
|
||||
.B Runtime control files:
|
||||
.br
|
||||
The default setting of -check_media abort_file= is:
|
||||
|
2483
xorriso/xorriso.c
2483
xorriso/xorriso.c
File diff suppressed because it is too large
Load Diff
@ -282,6 +282,21 @@ int Xorriso_option_alter_date(struct XorrisO *xorriso,
|
||||
char *time_type, char *timestring,
|
||||
int argc, char **argv, int *idx, int flag);
|
||||
|
||||
/* Option -application_id */
|
||||
int Xorriso_option_application_id(struct XorrisO *xorriso, char *name,
|
||||
int flag);
|
||||
|
||||
/* Option -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 -backslash_codes */
|
||||
int Xorriso_option_backslash_codes(struct XorrisO *xorriso, char *mode,
|
||||
int flag);
|
||||
|
||||
/* Option -ban_stdio_write */
|
||||
int Xorriso_option_ban_stdio_write(struct XorrisO *xorriso, int flag);
|
||||
|
||||
@ -301,10 +316,20 @@ int Xorriso_option_cdi(struct XorrisO *xorriso, char *iso_rr_path, int flag);
|
||||
/* Option -cdx */
|
||||
int Xorriso_option_cdx(struct XorrisO *xorriso, char *disk_path, int flag);
|
||||
|
||||
/* Option -charset */
|
||||
/* @param flag bit0= set in_charset
|
||||
bit1= set out_charset
|
||||
*/
|
||||
int Xorriso_option_charset(struct XorrisO *xorriso, char *name, int flag);
|
||||
|
||||
/* Option -check_media */
|
||||
int Xorriso_option_check_media(struct XorrisO *xorriso,
|
||||
int argc, char **argv, int *idx, int flag);
|
||||
|
||||
/* Option -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 */
|
||||
/* @param flag bit0=recursive (-chgrp_r)
|
||||
*/
|
||||
@ -410,6 +435,10 @@ int Xorriso_option_error_behavior(struct XorrisO *xorriso,
|
||||
int Xorriso_option_extract(struct XorrisO *xorriso, char *disk_path,
|
||||
char *iso_path, int flag);
|
||||
|
||||
/* Option -extract_cut */
|
||||
int Xorriso_option_extract_cut(struct XorrisO *xorriso, char *iso_rr_path,
|
||||
char *start, char *count, char *disk_path, int flag);
|
||||
|
||||
/* Option -follow */
|
||||
int Xorriso_option_follow(struct XorrisO *xorriso, char *mode, int flag);
|
||||
|
||||
@ -443,6 +472,10 @@ int Xorriso_option_iso_rr_pattern(struct XorrisO *xorriso, char *mode,
|
||||
/* Option -joliet "on"|"off" */
|
||||
int Xorriso_option_joliet(struct XorrisO *xorriso, char *mode, int flag);
|
||||
|
||||
/* Option -list_delimiter */
|
||||
int Xorriso_option_list_delimiter(struct XorrisO *xorriso, char *text,
|
||||
int flag);
|
||||
|
||||
/* Option -list_formats */
|
||||
int Xorriso_option_list_formats(struct XorrisO *xorriso, int flag);
|
||||
|
||||
@ -510,14 +543,15 @@ int Xorriso_option_no_rc(struct XorrisO *xorriso, int flag);
|
||||
/* Option -not_leaf */
|
||||
int Xorriso_option_not_leaf(struct XorrisO *xorriso, char *pattern, int flag);
|
||||
|
||||
/* Option -not_list */
|
||||
/* Option -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_paths */
|
||||
int Xorriso_option_not_paths(struct XorrisO *xorriso, int argc, char **argv,
|
||||
int *idx, int flag);
|
||||
|
||||
/* Option -options_from_file*/
|
||||
/* Option -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);
|
||||
@ -541,7 +575,8 @@ int Xorriso_option_page(struct XorrisO *xorriso, int len, int width, int flag);
|
||||
int Xorriso_option_paste_in(struct XorrisO *xorriso, char *iso_rr_path,
|
||||
char *disk_path, char *start, char *count, int flag);
|
||||
|
||||
/* Option -path-list */
|
||||
/* Option -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 */
|
||||
@ -576,6 +611,10 @@ int Xorriso_option_pwdx(struct XorrisO *xorriso, int flag);
|
||||
/* Option -reassure "on"|"tree"|"off" */
|
||||
int Xorriso_option_reassure(struct XorrisO *xorriso, char *mode, int flag);
|
||||
|
||||
/* Option -relax_compliance */
|
||||
int Xorriso_option_relax_compliance(struct XorrisO *xorriso, char *mode,
|
||||
int flag);
|
||||
|
||||
/* Option -report_about */
|
||||
int Xorriso_option_report_about(struct XorrisO *xorriso, char *severity,
|
||||
int flag);
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
<HEAD>
|
||||
<META NAME="description" CONTENT="xorriso, creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions">
|
||||
<META NAME="keywords" CONTENT="xorriso, libburn, libburnia, burn, CD, DVD, ISO, ISO 9660, RockRidge, Rock Ridge, linux, recording, burning, CD-R, CD-RW, DVD-R, DVD-RW, DVD+RW, DVD+R, DVD+R DL, BD-RE, scdbackup">
|
||||
<META NAME="keywords" CONTENT="xorriso, libburn, libburnia, burn, CD, DVD, ISO, ISO 9660, RockRidge, Rock Ridge, Linux, FreeBSD, recording, burning, CD-R, CD-RW, DVD-R, DVD-RW, DVD+RW, DVD+R, DVD+R DL, BD-RE, scdbackup">
|
||||
<META NAME="robots" CONTENT="follow">
|
||||
<TITLE>xorriso homepage english</TITLE>
|
||||
</HEAD>
|
||||
@ -14,12 +14,12 @@
|
||||
<P><H2> Homepage of </H2>
|
||||
<H1> xorriso </H1>
|
||||
|
||||
<H2>ISO 9660 Rock Ridge Filesystem Manipulator for Linux</H2>
|
||||
<H2>ISO 9660 Rock Ridge Filesystem Manipulator for Linux and FreeBSD</H2>
|
||||
</CENTER>
|
||||
|
||||
<P>
|
||||
<H2>Purpose:</H2>
|
||||
xorriso maps file objects from POSIX compliant filesystems
|
||||
xorriso copies file objects from POSIX compliant filesystems
|
||||
into Rock Ridge enhanced ISO 9660 filesystems and allows
|
||||
session-wise manipulation of such filesystems. It can load the management
|
||||
information of existing ISO images and it writes the session results to
|
||||
@ -48,6 +48,8 @@ and to MMC-5 for DVD or BD).
|
||||
<DT>Linux with kernel 2.4 or higher (and libc, of course) :</DT>
|
||||
<DD>With kernel 2.4 an ATA drive has to be under ide-scsi emulation.</DD>
|
||||
<DD>With kernel 2.6 the drive should not be under ide-scsi.</DD>
|
||||
<DT>or FreeBSD (with libc, of course) :</DT>
|
||||
<DD>ATAPI/CAM support has to be enabled in the kernel, see atapicam(4).</DD>
|
||||
<DT>libpthread</DT>
|
||||
<DD>is supposed to be a standard system component.</DD>
|
||||
<DT>libreadline and libreadline-dev</DT>
|
||||
@ -60,15 +62,15 @@ and to MMC-5 for DVD or BD).
|
||||
GPL software included:<BR>
|
||||
</H2>
|
||||
<DL>
|
||||
<DT>libburn-0.5.1</DT>
|
||||
<DT>libburn-0.5.7</DT>
|
||||
<DD>reads and writes data from and to CD, DVD, BD-RE.</DD>
|
||||
<DD>(founded by Derek Foreman and Ben Jansens,
|
||||
furthered since August 2006 by
|
||||
developed and maintained since August 2006 by
|
||||
Thomas Schmitt from team of libburnia-project.org)</DD>
|
||||
<DT>libisofs-0.6.6</DT>
|
||||
<DT>libisofs-0.6.12</DT>
|
||||
<DD>operates on ISO 9660 filesystem images.</DD>
|
||||
<DD>(By Vreixo Formoso and Mario Danic from team of libburnia-project.org)</DD>
|
||||
<DT>libisoburn-0.2.2</DT>
|
||||
<DT>libisoburn-0.3.0</DT>
|
||||
<DD>coordinates libburn and libisofs, emulates multi-session where needed.</DD>
|
||||
<DD>(By Vreixo Formoso and Thomas Schmitt
|
||||
from team of libburnia-project.org)</DD>
|
||||
@ -79,7 +81,8 @@ cdrecord and mkisofs.</A>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
This program system has been tested on Intel/AMD Linux systems only.<BR>
|
||||
This program has been tested on Intel/AMD Linux
|
||||
and on FreeBSD systems.<BR>
|
||||
For ports to other usable systems <A HREF="#contact">contact us</A>.
|
||||
</P>
|
||||
|
||||
@ -108,16 +111,17 @@ Writes result as completely new image or as add-on session
|
||||
to optical media or filesystem objects.
|
||||
</LI>
|
||||
<LI>
|
||||
Can activate ISOLINUX boot images by El Torito boot record and by MBR.
|
||||
</LI>
|
||||
<LI>
|
||||
Can perform multi-session tasks as emulation of mkisofs and cdrecord.
|
||||
</LI>
|
||||
<LI>
|
||||
Can restore single files and whole trees from ISO image to disk filesystem.
|
||||
</LI>
|
||||
<!--
|
||||
<LI>
|
||||
Can check media for damages and copy readable blocks to disk.
|
||||
</LI>
|
||||
-->
|
||||
<LI>
|
||||
Scans for optical drives, blanks re-useable optical media, formats media.
|
||||
</LI>
|
||||
@ -131,9 +135,6 @@ Reads its instructions from command line arguments, dialog, and batch files.
|
||||
<LI>
|
||||
Provides navigation commands for interactive ISO image manipulation.
|
||||
</LI>
|
||||
<LI>
|
||||
Adjustable thresholds for abort, exit value, and problem reporting.
|
||||
</LI>
|
||||
|
||||
</UL>
|
||||
</P>
|
||||
@ -143,6 +144,11 @@ Adjustable thresholds for abort, exit value, and problem reporting.
|
||||
<DL>
|
||||
<DT>Get an overview of drives and their addresses</DT>
|
||||
<DD>#<KBD> xorriso -devices</KBD></DD>
|
||||
<DD><KBD>...</KBD></DD>
|
||||
<DD><KBD>0 -dev '/dev/sr0' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S203B'</KBD></DD>
|
||||
<DD><KBD>1 -dev '/dev/scd1' rwrw-- : 'PHILIPS ' 'SPD3300L'</KBD></DD>
|
||||
<DD><KBD>2 -dev '/dev/hda' rwrw-- : 'HL-DT-ST' 'DVD-ROM GDR8162B'</KBD></DD>
|
||||
<DD><KBD>...</KBD></DD>
|
||||
<DT>Being superuser avoids permission problems with /dev/srN resp. /dev/hdX .
|
||||
</DT>
|
||||
<DT>Ordinary users should then get granted rw access to the /dev files
|
||||
@ -171,7 +177,7 @@ eventually prepare yet unused BD-RE:</DT>
|
||||
<DD>$<KBD> xorriso -dev /dev/sr0 -add /home/me/sounds /home/me/pictures
|
||||
</KBD></DD>
|
||||
|
||||
<DT>Check the result:</DT>
|
||||
<DT>Have a look at the result:</DT>
|
||||
<DD>$<KBD> xorriso -indev /dev/sr0 -du / -- -toc 2>&1 | less</KBD></DD>
|
||||
|
||||
<DT>
|
||||
@ -276,6 +282,31 @@ with ".o" or ".swp" which are excluded by options -not_leaf.
|
||||
<HR>
|
||||
</DT>
|
||||
|
||||
<DT>
|
||||
After the user has already created a suitable file tree on disk
|
||||
and copied the ISOLINUX files into subdirectory ./boot/isolinux of
|
||||
that tree, xorriso can burn an El Torito bootable media:
|
||||
</DT>
|
||||
<DD>$<KBD> xorriso -outdev /dev/sr0 -blank as_needed \</KBD></DD>
|
||||
<DD><KBD> -map /home/me/ISOLINUX_prepared_tree / \</KBD></DD>
|
||||
<DD><KBD> -boot_image isolinux dir=/boot/isolinux</KBD></DD>
|
||||
<DT>
|
||||
An additional MBR is generated if the file isolinux.bin is modern enough
|
||||
(syslinux version 3.72) and ready for "isohybrid". An MBR enables booting
|
||||
from hard disk or USB stick.
|
||||
<HR>
|
||||
</DT>
|
||||
|
||||
<DT>ISO images may not only be stored on optical media but also in
|
||||
regular disk files or block devices for full multi-session operation.
|
||||
The prefix "stdio:" indicates that normal file operations are
|
||||
desired rather than MMC drive commands:
|
||||
</DT>
|
||||
<DD>$<KBD> xorriso -dev stdio:/tmp/regular_file ...other.options...</DD>
|
||||
|
||||
<DT>Other file types are suitable only for writing but not for reading:</DT>
|
||||
<DD>$<KBD> xorriso -outdev stdio:/tmp/named_pipe ...other.options...</DD>
|
||||
|
||||
<DT>In batch mode it is possible to operate xorriso in a pipeline
|
||||
with an external consumer of the generated ISO image. Any message
|
||||
output will be redirected to stderr in this case.</DT>
|
||||
@ -303,14 +334,17 @@ One may switch from mkisofs emulation to xorriso's own command mode:
|
||||
<HR>
|
||||
</DT>
|
||||
|
||||
<DT>Enable reverse operation of xorriso and copy some files and a tree to disk:
|
||||
<DT>If for any reason the reading operating system mishandles the ISO image
|
||||
or some files in it, one may enable reverse operation of xorriso and copy
|
||||
files or trees to disk:
|
||||
<DD>$<KBD> xorriso -indev /dev/sr0 \</KBD></DD>
|
||||
<DD><KBD> -osirrox on \</KBD></DD>
|
||||
<DD><KBD> -cpx /pictures/private/horses*/*buttercup* \</KBD></DD>
|
||||
<DD><KBD> -cpx '/pictures/private/horses*/*buttercup*' \</KBD></DD>
|
||||
<DD><KBD> /home/her/buttercup_dir -- \</KBD>
|
||||
<DD><KBD> -extract /sounds /home/her/sounds_from_me</KBD></DD>
|
||||
</DD>
|
||||
|
||||
<DT>Consider to enter dialog mode and use commands like
|
||||
<KBD>-cd , -du , -lsl , -find<KBD>.
|
||||
<DT>
|
||||
<HR>
|
||||
</DT>
|
||||
@ -334,8 +368,8 @@ are interested in using BD-R media.
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Download as source code (see README):</H3></DT>
|
||||
<DD><A HREF="xorriso-0.2.2.pl01.tar.gz">xorriso-0.2.2.pl01.tar.gz</A>
|
||||
(1020 KB).
|
||||
<DD><A HREF="xorriso-0.3.0.pl00.tar.gz">xorriso-0.3.0.pl00.tar.gz</A>
|
||||
(1080 KB).
|
||||
</DD>
|
||||
</DL>
|
||||
</DD>
|
||||
@ -359,37 +393,31 @@ an <A HREF="http://www.opensource.org/">Open Source</A> approved license</DD>
|
||||
</P>
|
||||
|
||||
<HR>
|
||||
|
||||
<P>
|
||||
Bug fixes towards xorriso-0.2.0.pl00:
|
||||
Bug fixes towards xorriso-0.2.8.pl01:
|
||||
<UL>
|
||||
|
||||
<LI>libburn could not access drives /dev/scdN without existing /dev/srN</LI>
|
||||
<LI>Forgot exit value registration to -return_with. Thanks to Steve Dodd.</LI>
|
||||
<LI>-format "as_needed" did not recognize unformatted BD-RE</LI>
|
||||
<LI>disk patterns with relative addresses were not properly resolved</LI>
|
||||
<!--
|
||||
<LI>- none -</LI>
|
||||
-->
|
||||
|
||||
</UL>
|
||||
|
||||
Bug fixes towards xorriso-0.2.2.pl00:
|
||||
<UL>
|
||||
|
||||
<LI> Variable DESTDIR was not properly respected during make install </LI>
|
||||
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Enhancements towards previous stable version xorriso-0.2.0.pl00:
|
||||
Enhancements towards previous stable version xorriso-0.2.8.pl01:
|
||||
<UL>
|
||||
|
||||
<LI>New option -grow_blindly</LI>
|
||||
<LI>Options -C and -M with -as mkisofs emulation</LI>
|
||||
<LI>Options with -as cdrecord emulation:<BR>
|
||||
-multi , -msinfo , --grow_overwriteable_iso , write_start_address= ,
|
||||
-isosize , tsize=
|
||||
</LI>
|
||||
<LI>make install creates xorriso aliases as symbolic links:
|
||||
osirrox, xorrisofs, xorrecord
|
||||
</LI>
|
||||
<LI>
|
||||
Can serve growisofs if started as xorrisofs, genisofs, mkisofs, genisoimage
|
||||
</LI>
|
||||
<LI>Suitable ISOLINUX boot images are made alternatively bootable via MBR</LI>
|
||||
<LI>New options -quoted_path_list, -quoted_not_list</LI>
|
||||
<LI>New option -backslash_codes for terminal safety with weird file names</LI>
|
||||
<LI>New options -charset, -in_charset, -out_charset </LI>
|
||||
<LI>New option -application_id</LI>
|
||||
<LI>New option -compliance</LI>
|
||||
|
||||
</UL>
|
||||
</P>
|
||||
@ -398,28 +426,26 @@ Can serve growisofs if started as xorrisofs, genisofs, mkisofs, genisoimage
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Development snapshot, version 0.2.3 :</H3></DT>
|
||||
<DD>Bug fixes towards xorriso-0.2.2.pl01:
|
||||
<DT><H3>Development snapshot, version 0.3.1 :</H3></DT>
|
||||
<DD>Bug fixes towards xorriso-0.3.0.pl00:
|
||||
<UL>
|
||||
|
||||
<LI>- none yet -</LI>
|
||||
<!--
|
||||
-->
|
||||
</UL>
|
||||
</DD>
|
||||
<DD>Enhancements towards stable version 0.2.2.pl01:
|
||||
<DD>Enhancements towards stable version 0.3.0.pl00:
|
||||
<UL>
|
||||
<LI>Included libburn has enhanced Linux drive access and listing code</LI>
|
||||
<LI>New option -check_media</LI>
|
||||
<LI>New -find test -damaged, new -find action "report_damage"</LI>
|
||||
<!--
|
||||
<LI>- none yet -</LI>
|
||||
<!--
|
||||
-->
|
||||
</UL>
|
||||
</DD>
|
||||
<DD> </DD>
|
||||
<DD><A HREF="README_xorriso_devel">README 0.2.3</A>
|
||||
<DD><A HREF="xorriso_help_devel">xorriso_0.2.3 -help</A></DD>
|
||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.2.3)</A></DD>
|
||||
<DD><A HREF="README_xorriso_devel">README 0.3.1</A>
|
||||
<DD><A HREF="xorriso_help_devel">xorriso_0.3.1 -help</A></DD>
|
||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.3.1)</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
|
||||
@ -429,8 +455,8 @@ libburnia libraries.
|
||||
installation see README)
|
||||
</DD>
|
||||
<DD>
|
||||
<A HREF="xorriso-0.2.3.tar.gz">xorriso-0.2.3.tar.gz</A>
|
||||
(1030 KB).
|
||||
<A HREF="xorriso-0.3.1.tar.gz">xorriso-0.3.1.tar.gz</A>
|
||||
(1080 KB).
|
||||
</DD>
|
||||
<DT>A dynamically linked development version of xorriso can be obtained
|
||||
from repositories of
|
||||
|
@ -96,6 +96,9 @@ xorriso_xorriso_SOURCES = \
|
||||
libisofs/filter.h \
|
||||
libisofs/filter.c \
|
||||
libisofs/filters/xor_encrypt.c \
|
||||
libisofs/system_area.h \
|
||||
libisofs/system_area.c \
|
||||
libisofs/make_isohybrid_mbr.c \
|
||||
\
|
||||
libburn/async.c \
|
||||
libburn/async.h \
|
||||
|
@ -18,7 +18,7 @@
|
||||
#ifndef Xorriso_private_includeD
|
||||
#define Xorriso_private_includeD yes
|
||||
|
||||
#define Xorriso_program_versioN "0.2.3"
|
||||
#define Xorriso_program_versioN "0.3.0"
|
||||
|
||||
/** The source code release timestamp */
|
||||
#include "xorriso_timestamp.h"
|
||||
@ -65,6 +65,13 @@ struct SectorbitmaP; /* Distiniction between valid and invalid sectors */
|
||||
#define Xorriso_rc_nuM 4
|
||||
|
||||
|
||||
/* Default setting for the size limit of single data files:
|
||||
100 extents with 4 GB - 2 kB each = 400 GB - 200 kB
|
||||
*/
|
||||
#define Xorriso_default_file_size_limiT \
|
||||
(((off_t) 400) * ((off_t) 1024*1024*1024) - (off_t) 204800)
|
||||
|
||||
|
||||
struct XorrisO { /* the global context of xorriso */
|
||||
|
||||
int libs_are_started;
|
||||
@ -92,9 +99,12 @@ struct XorrisO { /* the global context of xorriso */
|
||||
int add_plainly;
|
||||
off_t split_size;
|
||||
|
||||
char list_delimiter[81];
|
||||
|
||||
/* >>> put libisofs aspects here <<< */
|
||||
|
||||
int do_joliet;
|
||||
int relax_compliance; /* opaque bitfield to be set by xorrisoburn */
|
||||
int do_follow_pattern;
|
||||
int do_follow_param;
|
||||
int do_follow_links;
|
||||
@ -116,6 +126,7 @@ struct XorrisO { /* the global context of xorriso */
|
||||
char loaded_volid[33];
|
||||
|
||||
char publisher[129];
|
||||
char application_id[129];
|
||||
|
||||
char session_logfile[SfileadrL];
|
||||
int session_lba;
|
||||
@ -125,6 +136,8 @@ struct XorrisO { /* the global context of xorriso */
|
||||
|
||||
int toc_emulation_flag; /* bit0= bit3 for isoburn_drive_aquire()
|
||||
scan -ROM profiles for ISO sessions
|
||||
bit1= bit4 for isoburn_drive_aquire()
|
||||
do not emulate TOC on overwriteable media
|
||||
*/
|
||||
|
||||
int image_start_mode; /* From what address to load the ISO image
|
||||
@ -147,15 +160,18 @@ struct XorrisO { /* the global context of xorriso */
|
||||
char indev[SfileadrL];
|
||||
void *in_drive_handle; /* interpreted only by xorrisoburn.c */
|
||||
void *in_volset_handle; /* interpreted only by xorrisoburn.c */
|
||||
char *in_charset; /* The charset to interpret the filename bytes */
|
||||
|
||||
int volset_change_pending; /* whether -commit would make sense */
|
||||
int no_volset_present; /* set to 1 on first failure */
|
||||
|
||||
struct CheckmediajoB *check_media_default;
|
||||
struct SectorbitmaP *in_sector_map; /* eventual sector validity bitmap */
|
||||
|
||||
|
||||
char outdev[SfileadrL];
|
||||
void *out_drive_handle; /* interpreted only by xorrisoburn.c */
|
||||
char *out_charset; /* The charset to produce the filename bytes for */
|
||||
int dev_fd_1; /* The fd which substitutes for /dev/fd/1 and is
|
||||
connected to externaly perveived stdout.
|
||||
*/
|
||||
@ -171,11 +187,28 @@ struct XorrisO { /* the global context of xorriso */
|
||||
int speed; /* in libburn units : 1000 bytes/second , 0 = Max, -1 = Min */
|
||||
int fs; /* fifo size in 2048 byte chunks : at most 1 GB */
|
||||
int padding; /* number of bytes to add after ISO 9660 image */
|
||||
|
||||
int alignment; /* if > 0 : image size alignment in 2048 byt blocks */
|
||||
/* <<< not sure whether to keep this after libisofs will have
|
||||
learned to pad up MBR images to full MB */
|
||||
|
||||
int do_stream_recording;
|
||||
|
||||
int keep_boot_image;
|
||||
int patch_isolinux_image;
|
||||
char boot_image_bin_path[SfileadrL];
|
||||
int boot_image_emul; /* 0=no emulation
|
||||
(1=emulation as hard disk)
|
||||
(2=emulation as floppy)
|
||||
*/
|
||||
char boot_image_cat_path[SfileadrL];
|
||||
off_t boot_image_load_size;
|
||||
int boot_image_isohybrid; /* 0=off , 1=auto , 2=on , 3=force */
|
||||
|
||||
/* LBA of boot image after image loading */
|
||||
int loaded_boot_bin_lba;
|
||||
/* Path of the catalog node after image loading */
|
||||
char loaded_boot_cat_path[SfileadrL];
|
||||
|
||||
/* XORRISO options */
|
||||
int allow_graft_points;
|
||||
@ -188,8 +221,20 @@ struct XorrisO { /* the global context of xorriso */
|
||||
of self-owned directories during restore
|
||||
*/
|
||||
|
||||
int dialog;
|
||||
int dialog; /* 0=off , 1=single-line , 2=multi-line */
|
||||
|
||||
int bsl_interpretation;
|
||||
/* whether to run input through Sfile_bsl_interpreter():
|
||||
bit0-1= dialog and quoted file reading
|
||||
0= no interpretation, leave unchanged
|
||||
1= only inside double quotes
|
||||
2= outside single quotes
|
||||
3= everywhere
|
||||
bit2-3= reserved as future expansion of bit0-1
|
||||
bit4= interpretation within program start arguments
|
||||
bit5= perform backslash encoding with results
|
||||
bit6= perform backslash encoding with info texts
|
||||
*/
|
||||
|
||||
/* Pattern matching facility. It still carries legacy from scdbackup/askme.c
|
||||
but is fully functional for xorriso.
|
||||
@ -215,6 +260,8 @@ struct XorrisO { /* the global context of xorriso */
|
||||
|
||||
int temp_mem_limit;
|
||||
|
||||
off_t file_size_limit;
|
||||
|
||||
struct ExclusionS *disk_exclusions;
|
||||
int disk_excl_mode; /* bit0= on (else off)
|
||||
bit1= parameter too (else rekursion only)
|
||||
@ -254,7 +301,7 @@ struct XorrisO { /* the global context of xorriso */
|
||||
FILE *errfile_fp;
|
||||
|
||||
int img_read_error_mode; /* 0=best_effort , 1=failure , 2=fatal */
|
||||
int extract_error_mode; /* 0=(not yet: best_effort) , 1=keep , 2=delete */
|
||||
int extract_error_mode; /* 0=best_effort , 1=keep , 2=delete */
|
||||
|
||||
char return_with_text[20];
|
||||
int return_with_severity;
|
||||
@ -303,7 +350,7 @@ struct XorrisO { /* the global context of xorriso */
|
||||
struct PermiteM *perm_stack; /* Temporarily altered dir access permissions */
|
||||
|
||||
/* result (stdout, R: ) */
|
||||
char result_line[5*SfileadrL];
|
||||
char result_line[10*SfileadrL];
|
||||
int result_line_counter;
|
||||
int result_page_counter;
|
||||
int result_open_line_len;
|
||||
@ -480,6 +527,12 @@ int Xorriso_spotlist_to_sectormap(struct XorrisO *xorriso,
|
||||
int Xorriso_toc_to_string(struct XorrisO *xorriso, char **toc_text, int flag);
|
||||
|
||||
|
||||
/* @param flag bit0+1= what to aquire after giving up outdev
|
||||
0=none, 1=indev, 2=outdev, 3=both
|
||||
*/
|
||||
int Xorriso_reaquire_outdev(struct XorrisO *xorriso, int flag);
|
||||
|
||||
|
||||
struct Xorriso_lsT {
|
||||
char *text;
|
||||
struct Xorriso_lsT *prev,*next;
|
||||
@ -537,6 +590,7 @@ int Xorriso_lst_destroy(struct Xorriso_lsT **lstring, int flag);
|
||||
int Xorriso_open_job_data_to(struct XorrisO *xorriso,
|
||||
struct CheckmediajoB *job, int flag);
|
||||
|
||||
int Xorriso_no_findjob(struct XorrisO *xorriso, char *cmd, int flag);
|
||||
|
||||
|
||||
int Sfile_str(char target[SfileadrL], char *source, int flag);
|
||||
@ -603,6 +657,12 @@ int Linkitem_reset_stack(struct LinkiteM **o, struct LinkiteM *to, int flag);
|
||||
|
||||
struct FindjoB;
|
||||
|
||||
|
||||
int Findjob_new(struct FindjoB **o, char *start_path, int flag);
|
||||
|
||||
int Findjob_destroy(struct FindjoB **job, int flag);
|
||||
|
||||
|
||||
/* @return 0=no match , 1=match , <0 = error
|
||||
*/
|
||||
int Findjob_test(struct FindjoB *job, char *name,
|
||||
@ -641,11 +701,26 @@ int Findjob_set_action_ad(struct FindjoB *o, int type, time_t date, int flag);
|
||||
|
||||
int Findjob_set_start_path(struct FindjoB *o, char *start_path, int flag);
|
||||
|
||||
int Findjob_set_action_found_path(struct FindjoB *o, int flag);
|
||||
|
||||
int Findjob_get_start_path(struct FindjoB *o, char **start_path, int flag);
|
||||
|
||||
int Findjob_set_lba_range(struct FindjoB *o, int start_lba, int count,
|
||||
int flag);
|
||||
|
||||
int Findjob_get_lba_damage_filter(struct FindjoB *o, int *start_lba,
|
||||
int *end_lba, int *damage_filter, int flag);
|
||||
|
||||
int Findjob_get_commit_filter(struct FindjoB *o, int *commit_filter, int flag);
|
||||
|
||||
int Findjob_set_wanted_node(struct FindjoB *o, void *wanted_node, int flag);
|
||||
|
||||
int Findjob_get_wanted_node(struct FindjoB *o, void **wanted_node, int flag);
|
||||
|
||||
int Findjob_set_found_path(struct FindjoB *o, char *path, int flag);
|
||||
|
||||
int Findjob_get_found_path(struct FindjoB *o, char **path, int flag);
|
||||
|
||||
|
||||
struct SplitparT;
|
||||
|
||||
@ -711,6 +786,8 @@ int Checkmediajob_new(struct CheckmediajoB **o, int flag);
|
||||
|
||||
int Checkmediajob_destroy(struct CheckmediajoB **o, int flag);
|
||||
|
||||
int Checkmediajob_copy(struct CheckmediajoB *from, struct CheckmediajoB *to,
|
||||
int flag);
|
||||
|
||||
int Sectorbitmap_new(struct SectorbitmaP **o, int sectors, int sector_size,
|
||||
int flag);
|
||||
@ -732,5 +809,8 @@ int Sectorbitmap_get_layout(struct SectorbitmaP *o,
|
||||
int Sectorbitmap_copy(struct SectorbitmaP *from, struct SectorbitmaP *to,
|
||||
int flag);
|
||||
|
||||
/* bit0= append (text!=NULL) */
|
||||
int Sregex_string(char **handle, char *text, int flag);
|
||||
|
||||
#endif /* Xorriso_private_includeD */
|
||||
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2008.08.24.125257"
|
||||
#define Xorriso_timestamP "2008.12.01.200001"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -18,8 +18,8 @@
|
||||
/* The minimum version of libisoburn to be used with this version of xorriso
|
||||
*/
|
||||
#define xorriso_libisoburn_req_major 0
|
||||
#define xorriso_libisoburn_req_minor 2
|
||||
#define xorriso_libisoburn_req_micro 3
|
||||
#define xorriso_libisoburn_req_minor 3
|
||||
#define xorriso_libisoburn_req_micro 0
|
||||
|
||||
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
|
||||
|
||||
@ -52,9 +52,16 @@ int Xorriso__text_to_sev(char *severity_name, int *severity_number,int flag);
|
||||
|
||||
/* @param flag bit0=report about output drive
|
||||
bit1=short report form
|
||||
bit2=do not try to read ISO heads
|
||||
bit3=report to info channel (else to result channel)
|
||||
*/
|
||||
int Xorriso_toc(struct XorrisO *xorriso, int flag);
|
||||
|
||||
/* @param flag bit0= no output if no boot record was found
|
||||
bit3= report to info channel (else to result channel)
|
||||
*/
|
||||
int Xorriso_show_boot_info(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_show_devices(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_tell_media_space(struct XorrisO *xorriso,
|
||||
@ -200,9 +207,15 @@ int Xorriso_burn_track(struct XorrisO *xorriso, off_t write_start_address,
|
||||
int Xorriso_get_profile(struct XorrisO *xorriso, int *profile_number,
|
||||
char profile_name[80], int flag);
|
||||
|
||||
#ifdef NIX
|
||||
|
||||
/* @param flag bit0= do not mark image as changed */
|
||||
int Xorriso_set_publisher(struct XorrisO *xorriso, char *name, int flag);
|
||||
|
||||
/* @param flag bit0= do not mark image as changed */
|
||||
int Xorriso_set_application_id(struct XorrisO *xorriso, char *name, int flag);
|
||||
|
||||
#endif /* NIX */
|
||||
|
||||
/* @param flag bit0= node_pt is a valid ISO object handle, ignore pathname
|
||||
*/
|
||||
@ -287,6 +300,11 @@ int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize,
|
||||
char *head_buffer, struct CheckmediajoB *job,
|
||||
int flag);
|
||||
|
||||
int Xorriso_get_local_charset(struct XorrisO *xorriso, char **name, int flag);
|
||||
|
||||
int Xorriso_set_local_charset(struct XorrisO *xorriso, char *name, int flag);
|
||||
|
||||
|
||||
|
||||
struct CheckmediajoB {
|
||||
int use_dev; /* 0= use indev , 1= use outdev , 2= use sector map*/
|
||||
@ -310,6 +328,8 @@ struct CheckmediajoB {
|
||||
|
||||
char data_to_path[SfileadrL];
|
||||
int data_to_fd;
|
||||
off_t data_to_offset; /* usually 0 with image copy, negative with file copy */
|
||||
off_t data_to_limit; /* used with file copy */
|
||||
int patch_lba0;
|
||||
int patch_lba0_msc1;
|
||||
|
||||
@ -332,6 +352,24 @@ struct CheckmediajoB {
|
||||
int Xorriso_check_media(struct XorrisO *xorriso, struct SpotlisT **spotlist,
|
||||
struct CheckmediajoB *job, int flag);
|
||||
|
||||
int Xorriso_extract_cut(struct XorrisO *xorriso,
|
||||
char *img_path, char *disk_path,
|
||||
off_t img_offset, off_t bytes, int flag);
|
||||
|
||||
|
||||
int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
|
||||
int flag);
|
||||
|
||||
/* @return 1=ok 2=ok, is default setting */
|
||||
int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024],
|
||||
int flag);
|
||||
|
||||
|
||||
/* A pseudo file type for El-Torito bootsectors as in man 2 stat :
|
||||
For now take the highest possible value.
|
||||
*/
|
||||
#define Xorriso_IFBOOT S_IFMT
|
||||
|
||||
|
||||
#endif /* Xorrisoburn_includeD */
|
||||
|
||||
|
Reference in New Issue
Block a user