Compare commits
4 Commits
ZeroFourTw
...
ZeroFourZe
Author | SHA1 | Date | |
---|---|---|---|
a1c218edb0 | |||
83f9a405c1 | |||
6abf78c900 | |||
ba742249e4 |
18
README
18
README
@ -4,7 +4,7 @@
|
||||
libisoburn. By Vreixo Formoso <metalpain2002@yahoo.es>
|
||||
and Thomas Schmitt <scdbackup@gmx.net>
|
||||
Integrated sub project of libburnia-project.org.
|
||||
http://files.libburnia-project.org/releases/libisoburn-0.4.2.pl02.tar.gz
|
||||
http://files.libburnia-project.org/releases/libisoburn-0.4.0.pl00.tar.gz
|
||||
Copyright (C) 2006-2009 Vreixo Formoso, Thomas Schmitt.
|
||||
Provided under GPL version 2.
|
||||
------------------------------------------------------------------------------
|
||||
@ -29,17 +29,17 @@ By using this software you agree to the disclaimer at the end of this text:
|
||||
|
||||
Compilation, First Glimpse, Installation
|
||||
|
||||
Dynamic library and compile time header requirements for libisoburn-0.4.2 :
|
||||
- libburn.so.4 , version libburn-0.7.0 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.22 or higher
|
||||
Dynamic library and compile time header requirements for libisoburn-0.4.0 :
|
||||
- libburn.so.4 , version libburn-0.6.4 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.20 or higher
|
||||
libisoburn and xorriso will not start with libraries which are older than their
|
||||
headers seen at compile time.
|
||||
|
||||
Obtain libisoburn-0.4.2.pl02.tar.gz, take it to a directory of your choice
|
||||
Obtain libisoburn-0.4.0.pl00.tar.gz, take it to a directory of your choice
|
||||
and do:
|
||||
|
||||
tar xzf libisoburn-0.4.2.pl02.tar.gz
|
||||
cd libisoburn-0.4.2
|
||||
tar xzf libisoburn-0.4.0.pl00.tar.gz
|
||||
cd libisoburn-0.4.0
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
@ -94,8 +94,8 @@ user id differ. This ban can be lifted by
|
||||
|
||||
Drives and Disk File Objects
|
||||
|
||||
The user of libisoburn applications needs rw-permission for the CD/DVD/BD
|
||||
drives which shall be used, even if only reading is intended.
|
||||
The user of libisoburn applications needs rw-permission for the CD/DVD burner
|
||||
devices which shall be used.
|
||||
A list of rw-accessible drives can be obtained by
|
||||
xorriso -devices
|
||||
resp. by libburn API call
|
||||
|
94
acinclude.m4
94
acinclude.m4
@ -13,8 +13,6 @@ AC_DEFUN([TARGET_SHIZZLE],
|
||||
*-*-freebsd*)
|
||||
ARCH=freebsd
|
||||
LIBBURN_ARCH_LIBS=-lcam
|
||||
|
||||
# This may later be overridden by configure --enable-libdir-pkgconfig
|
||||
LIBBURNIA_PKGCONFDIR=$(echo "$libdir" | sed 's/\/lib$/\/libdata/')/pkgconfig
|
||||
;;
|
||||
*)
|
||||
@ -26,95 +24,3 @@ AC_DEFUN([TARGET_SHIZZLE],
|
||||
|
||||
AC_MSG_RESULT([$ARCH])
|
||||
])
|
||||
|
||||
|
||||
dnl LIBBURNIA_CHECK_ICONV is by Thomas Schmitt, libburnia project
|
||||
dnl It is based on gestures from:
|
||||
dnl iconv.m4 serial AM7 (gettext-0.18)
|
||||
dnl Copyright (C) 2000-2002, 2007-2009 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl From Bruno Haible.
|
||||
dnl
|
||||
AC_DEFUN([LIBBURNIA_CHECK_ICONV],
|
||||
[
|
||||
dnl Check whether it is allowed to link with -liconv
|
||||
AC_MSG_CHECKING([for separate -liconv ])
|
||||
libburnia_liconv="no"
|
||||
libburnia_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -liconv"
|
||||
AC_TRY_LINK([#include <stdlib.h>
|
||||
#include <iconv.h>],
|
||||
[iconv_t cd = iconv_open("","");
|
||||
iconv(cd,NULL,NULL,NULL,NULL);
|
||||
iconv_close(cd);],
|
||||
[libburnia_liconv="yes"],
|
||||
[LIBS="$libburnia_save_LIBS"]
|
||||
)
|
||||
AC_MSG_RESULT([$libburnia_liconv])
|
||||
|
||||
dnl Check for iconv(..., const char **inbuf, ...)
|
||||
AC_MSG_CHECKING([for const qualifier with iconv() ])
|
||||
AC_TRY_COMPILE([
|
||||
#include <stdlib.h>
|
||||
#include <iconv.h>
|
||||
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
|
||||
], [], [libburnia_iconv_const=""], [libburnia_iconv_const="const"]
|
||||
)
|
||||
AC_DEFINE_UNQUOTED([ICONV_CONST], [$libburnia_iconv_const])
|
||||
test -z "$libburnia_iconv_const" && libburnia_iconv_const="no"
|
||||
AC_MSG_RESULT([$libburnia_iconv_const])
|
||||
])
|
||||
|
||||
|
||||
dnl LIBBURNIA_SET_PKGCONFIG determines the install directory for the *.pc file.
|
||||
dnl Important: Must be performed _after_ TARGET_SHIZZLE
|
||||
dnl
|
||||
AC_DEFUN([LIBBURNIA_SET_PKGCONFIG],
|
||||
[
|
||||
### for testing --enable-libdir-pkgconfig on Linux
|
||||
### LIBBURNIA_PKGCONFDIR="$libdir"data/pkgconfig
|
||||
|
||||
if test "x$LIBBURNIA_PKGCONFDIR" = "x$libdir"/pkgconfig
|
||||
then
|
||||
dummy=dummy
|
||||
else
|
||||
AC_ARG_ENABLE(libdir-pkgconfig,
|
||||
[ --enable-libdir-pkgconfig Install to $libdir/pkgconfig on any OS, default=no],
|
||||
, enable_libdir_pkgconfig="no")
|
||||
AC_MSG_CHECKING([for --enable-libdir-pkgconfig])
|
||||
if test "x$enable_libdir_pkgconfig" = xyes
|
||||
then
|
||||
LIBBURNIA_PKGCONFDIR="$libdir"/pkgconfig
|
||||
fi
|
||||
AC_MSG_RESULT([$enable_libdir_pkgconfig])
|
||||
fi
|
||||
|
||||
libburnia_pkgconfig_override="no"
|
||||
AC_ARG_ENABLE(pkgconfig-path,
|
||||
[ --enable-pkgconfig-path=DIR Absolute path of directory for libisofs-*.pc],
|
||||
libburnia_pkgconfig_override="yes" , enable_pkgconfig_path="none")
|
||||
AC_MSG_CHECKING([for overridden pkgconfig directory path])
|
||||
if test "x$enable_pkgconfig_path" = xno
|
||||
then
|
||||
libburnia_pkgconfig_override="no"
|
||||
fi
|
||||
if test "x$enable_pkgconfig_path" = x -o "x$enable_pkgconfig_path" = xyes
|
||||
then
|
||||
libburnia_pkgconfig_override="invalid argument"
|
||||
fi
|
||||
if test "x$libburnia_pkgconfig_override" = xyes
|
||||
then
|
||||
LIBBURNIA_PKGCONFDIR="$enable_pkgconfig_path"
|
||||
AC_MSG_RESULT([$LIBBURNIA_PKGCONFDIR])
|
||||
else
|
||||
AC_MSG_RESULT([$libburnia_pkgconfig_override])
|
||||
fi
|
||||
AC_SUBST(LIBBURNIA_PKGCONFDIR)
|
||||
|
||||
dnl For debugging only
|
||||
### AC_MSG_RESULT([LIBBURNIA_PKGCONFDIR = $LIBBURNIA_PKGCONFDIR])
|
||||
|
||||
])
|
||||
|
||||
|
36
configure.ac
36
configure.ac
@ -1,4 +1,4 @@
|
||||
AC_INIT([libisoburn], [0.4.2], [http://libburnia-project.org])
|
||||
AC_INIT([libisoburn], [0.4.0], [http://libburnia-project.org])
|
||||
AC_PREREQ([2.50])
|
||||
dnl AC_CONFIG_HEADER([config.h])
|
||||
|
||||
@ -21,7 +21,7 @@ dnl
|
||||
dnl These three are only copies to provide libtool with unused LT_RELEASE
|
||||
ISOBURN_MAJOR_VERSION=0
|
||||
ISOBURN_MINOR_VERSION=4
|
||||
ISOBURN_MICRO_VERSION=2
|
||||
ISOBURN_MICRO_VERSION=0
|
||||
|
||||
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
|
||||
|
||||
@ -34,16 +34,16 @@ dnl Libtool versioning
|
||||
dnl Generate libisoburn.so.1.x.y
|
||||
dnl SONAME will become LT_CURRENT - LT_AGE
|
||||
dnl
|
||||
dnl ts A90829
|
||||
dnl This is the release version 0.4.2 = libisoburn.so.1.31.0
|
||||
dnl ts A90628
|
||||
dnl This is the release version 0.4.0 = libisoburn.so.1.29.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 = 32 - 31 = 1 . Library name = libisoburn.so.1.31.0
|
||||
dnl SONAME = 30 - 29 = 1 . Library name = libisoburn.so.1.29.0
|
||||
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
|
||||
LT_CURRENT=32
|
||||
LT_AGE=31
|
||||
LT_CURRENT=30
|
||||
LT_AGE=29
|
||||
LT_REVISION=0
|
||||
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
||||
|
||||
@ -74,8 +74,6 @@ fi
|
||||
dnl If iconv(3) is in an extra lib, then it gets added to variable LIBS.
|
||||
dnl If not, then no -liconv will be added.
|
||||
AC_CHECK_LIB(iconv, iconv, , )
|
||||
dnl GNU iconv has no function iconv() but libiconv() and a macro iconv()
|
||||
AC_CHECK_LIB(iconv, libiconv, , )
|
||||
|
||||
AC_PROG_LIBTOOL
|
||||
AC_SUBST(LIBTOOL_DEPS)
|
||||
@ -94,12 +92,6 @@ AC_SUBST(LIBBURNIA_PKGCONFDIR)
|
||||
AC_SUBST(LIBBURN_ARCH_LIBS)
|
||||
|
||||
|
||||
dnl Determine target directory for libisoburn-*.pc
|
||||
dnl Important: Must be performed _after_ TARGET_SHIZZLE
|
||||
dnl
|
||||
LIBBURNIA_SET_PKGCONFIG
|
||||
|
||||
|
||||
AC_ARG_ENABLE(libreadline,
|
||||
[ --enable-libreadline Enable use of libreadline by xorriso, default=yes],
|
||||
, enable_libreadline=yes)
|
||||
@ -125,7 +117,7 @@ dnl So for now it seems to be best to do the same configuration for libisoburn
|
||||
dnl and xorriso as for libisofs.
|
||||
|
||||
AC_ARG_ENABLE(libacl,
|
||||
[ --enable-libacl Enable use of libacl by libisofs, default=yes],
|
||||
[ --enable-libacl Enable use of libacl by libisofs, default=yes],
|
||||
, enable_libacl=yes)
|
||||
if test x$enable_libacl = xyes; then
|
||||
dnl Check whether there is libacl-devel and libacl-runtime.
|
||||
@ -140,7 +132,7 @@ AC_SUBST(LIBACL_DEF)
|
||||
|
||||
|
||||
AC_ARG_ENABLE(xattr,
|
||||
[ --enable-xattr Enable use of xattr by libisofs, default=yes],
|
||||
[ --enable-xattr Enable use of xattr by libisofs, default=yes],
|
||||
, enable_xattr=yes)
|
||||
if test x$enable_xattr = xyes; then
|
||||
dnl Check whether there is the header for Linux xattr.
|
||||
@ -158,7 +150,7 @@ dnl Same situation as with xattr and ACL: libisoburn does not depend directly
|
||||
dnl on zlib. But if it is enabled in libisofs then it seems wise to link it
|
||||
dnl with libisoburn apps.
|
||||
AC_ARG_ENABLE(zlib,
|
||||
[ --enable-zlib Enable use of zlib by libisofs, default=yes],
|
||||
[ --enable-zlib Enable use of zlib by libisofs, default=yes],
|
||||
, enable_zlib=yes)
|
||||
if test x$enable_zlib = xyes; then
|
||||
dnl Check whether there is the header for zlib.
|
||||
@ -173,7 +165,7 @@ AC_SUBST(ZLIB_DEF)
|
||||
|
||||
|
||||
AC_ARG_ENABLE(external-filters,
|
||||
[ --enable-external-filters Enable use of external filter programs by xorriso, default=yes],
|
||||
[ --enable-external-filters Enable use of external filter programs by xorriso, default=yes],
|
||||
, enable_external_filters=yes)
|
||||
if test x"$enable_external_filters" = xyes; then
|
||||
EXTF_DEF="-DXorriso_allow_external_filterS"
|
||||
@ -185,7 +177,7 @@ fi
|
||||
AC_SUBST(EXTF_DEF)
|
||||
|
||||
AC_ARG_ENABLE(external-filters-setuid,
|
||||
[ --enable-external-filters-setuid Enable xorriso external filter programs under setuid, default=no],
|
||||
[ --enable-external-filters-setuid Enable xorriso external filter programs under setuid, default=no],
|
||||
, enable_external_filters_setuid=no)
|
||||
if test x$enable_external_filters_setuid = xyes; then
|
||||
EXTF_SUID_DEF="-DXorriso_allow_extf_suiD"
|
||||
@ -201,8 +193,8 @@ AC_CHECK_HEADER(libburn/libburn.h)
|
||||
AC_CHECK_HEADER(libisofs/libisofs.h)
|
||||
|
||||
dnl Check for proper library versions
|
||||
LIBBURN_REQUIRED=0.7.0
|
||||
LIBISOFS_REQUIRED=0.6.22
|
||||
LIBBURN_REQUIRED=0.6.4
|
||||
LIBISOFS_REQUIRED=0.6.20
|
||||
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
|
||||
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)
|
||||
|
||||
|
@ -322,13 +322,16 @@ 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, flag & 16);
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
/* >>> recognize unsuitable media (but allow read-only media) */;
|
||||
@ -1110,8 +1113,6 @@ no_memory:;
|
||||
|
||||
/* @param flag bit0= allow unemulated media
|
||||
bit1= free scanning without enclosing LBA-0-header
|
||||
bit4= represent emulated media as one single session
|
||||
(not with bit1)
|
||||
@return -1 severe error, 0= no neat header chain, 1= credible chain read
|
||||
*/
|
||||
int isoburn_emulate_toc(struct burn_drive *d, int flag)
|
||||
@ -1140,10 +1141,6 @@ int isoburn_emulate_toc(struct burn_drive *d, int flag)
|
||||
{ret= 0; goto failure;}
|
||||
lba= Libisoburn_overwriteable_starT;
|
||||
with_enclosure= 1;
|
||||
if((flag & 16) && o->emulation_mode == 1) {
|
||||
ret= 1;
|
||||
goto failure; /* This will represent the media as single session */
|
||||
}
|
||||
}
|
||||
while(lba<image_size || (flag&2)) {
|
||||
now= time(NULL);
|
||||
|
@ -433,7 +433,6 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
|
||||
iso_write_opts_set_dir_rec_mtime(wopts, opts->dir_rec_mtime);
|
||||
iso_write_opts_set_aaip_susp_1_10(wopts, opts->aaip_susp_1_10);
|
||||
iso_write_opts_set_sort_files(wopts, opts->sort_files);
|
||||
iso_write_opts_set_record_md5(wopts, opts->session_md5, opts->file_md5 & 3);
|
||||
iso_write_opts_set_replace_mode(wopts, opts->replace_dir_mode,
|
||||
opts->replace_file_mode, opts->replace_uid, opts->replace_gid);
|
||||
iso_write_opts_set_default_dir_mode(wopts, opts->dir_mode);
|
||||
@ -655,7 +654,6 @@ int isoburn_ropt_new(struct isoburn_read_opts **new_o, int flag)
|
||||
o->noacl= 1;
|
||||
o->noea= 1;
|
||||
o->noino= 1;
|
||||
o->nomd5= 1;
|
||||
o->preferjoliet= 0;
|
||||
o->uid= geteuid();
|
||||
o->gid= getegid();
|
||||
@ -693,7 +691,6 @@ int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
|
||||
o->noacl= !!(ext & 64);
|
||||
o->noea= !!(ext & 128);
|
||||
o->noino= !!(ext & 256);
|
||||
o->nomd5= !!(ext & 512);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@ -703,7 +700,7 @@ int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext)
|
||||
*ext= (!!o->norock) | ((!!o->nojoliet)<<1) | ((!!o->noiso1999)<<2) |
|
||||
((!!o->preferjoliet)<<3) | ((!!o->pretend_blank)<<4) |
|
||||
((!!o->noaaip) << 5) | ((!!o->noacl) << 6) | ((!!o->noea) << 7) |
|
||||
((!!o->noino) << 8) | ((!!o->nomd5) << 9);
|
||||
((!!o->noino) << 8);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@ -878,8 +875,6 @@ int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext)
|
||||
o->iso1999= !!(ext&4);
|
||||
o->hardlinks= !!(ext & 8);
|
||||
o->aaip= !!(ext & 32);
|
||||
o->session_md5= !!(ext & 64);
|
||||
o->file_md5= (ext & (128 | 256)) >> 7;
|
||||
return(1);
|
||||
}
|
||||
|
||||
@ -887,8 +882,7 @@ int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext)
|
||||
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext)
|
||||
{
|
||||
*ext= (!!o->rockridge) | ((!!o->joliet)<<1) | ((!!o->iso1999)<<2) |
|
||||
((!!o->hardlinks) << 3) | ((!!o->aaip) << 5) |
|
||||
((!!o->session_md5) << 6) | ((o->file_md5 & 3) << 7);
|
||||
((!!o->hardlinks) << 3) | ((!!o->aaip) << 5);
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
@ -261,9 +261,6 @@ struct isoburn_read_opts {
|
||||
/* ts A90508 */
|
||||
unsigned int noino:1; /* Discard eventual PX inode numbers */
|
||||
|
||||
/* ts A90810 */
|
||||
unsigned int nomd5:1; /* Do not read eventual MD5 array */
|
||||
|
||||
unsigned int preferjoliet:1;
|
||||
/*< When both Joliet and RR extensions are present, the RR
|
||||
* tree is used. If you prefer using Joliet, set this to 1. */
|
||||
@ -331,14 +328,6 @@ struct isoburn_imgen_opts {
|
||||
/* Write eventual AAIP info containing ACL and EA */
|
||||
unsigned int aaip :1;
|
||||
|
||||
/* Produce and write a MD5 checksum of the whole session stream. */
|
||||
unsigned int session_md5 :1;
|
||||
|
||||
/* Produce and write MD5 checksums for each single IsoFile.
|
||||
See parameter files of iso_write_opts_set_record_md5().
|
||||
*/
|
||||
unsigned int file_md5 :2;
|
||||
|
||||
/* relaxed constraints */
|
||||
|
||||
/*
|
||||
|
@ -201,10 +201,14 @@ create_blank_image:;
|
||||
iso_read_opts_set_start_block(ropts, ms_block);
|
||||
iso_read_opts_set_no_rockridge(ropts, read_opts->norock);
|
||||
iso_read_opts_set_no_aaip(ropts, read_opts->noaaip);
|
||||
iso_read_opts_set_no_md5(ropts, read_opts->nomd5);
|
||||
|
||||
/* <<< #ifdef shall be removed when libisofs-0.6.20 is released */
|
||||
#ifdef Libisofs_hardlink_prooF
|
||||
|
||||
iso_read_opts_set_new_inos(ropts, read_opts->noino);
|
||||
|
||||
#endif /* Libisofs_hardlink_prooF */
|
||||
|
||||
iso_read_opts_set_no_joliet(ropts, read_opts->nojoliet);
|
||||
iso_read_opts_set_no_iso1999(ropts, read_opts->noiso1999);
|
||||
iso_read_opts_set_preferjoliet(ropts, read_opts->preferjoliet);
|
||||
|
@ -216,15 +216,15 @@ 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 22
|
||||
#define isoburn_libisofs_req_micro 20
|
||||
|
||||
/** The minimum version of libburn to be used with this version of libisoburn
|
||||
at compile time.
|
||||
@since 0.1.0
|
||||
*/
|
||||
#define isoburn_libburn_req_major 0
|
||||
#define isoburn_libburn_req_minor 7
|
||||
#define isoburn_libburn_req_micro 0
|
||||
#define isoburn_libburn_req_minor 6
|
||||
#define isoburn_libburn_req_micro 4
|
||||
|
||||
|
||||
/** The minimum version of libisofs to be used with this version of libisoburn
|
||||
@ -260,7 +260,7 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
|
||||
*/
|
||||
#define isoburn_header_version_major 0
|
||||
#define isoburn_header_version_minor 4
|
||||
#define isoburn_header_version_micro 2
|
||||
#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.
|
||||
@ -739,9 +739,6 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
|
||||
giving all family members the same inode number. libisofs
|
||||
keeps the PX inode numbers unaltered when IsoNode objects
|
||||
get written into an ISO image.
|
||||
bit9= nomd5
|
||||
@since 0.4.2
|
||||
Do not load the eventual MD5 checksum array.
|
||||
@return 1 success, <=0 failure
|
||||
*/
|
||||
#define isoburn_ropt_norock 1
|
||||
@ -753,7 +750,6 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
|
||||
#define isoburn_ropt_noacl 64
|
||||
#define isoburn_ropt_noea 128
|
||||
#define isoburn_ropt_noino 256
|
||||
#define isoburn_ropt_nomd5 512
|
||||
|
||||
int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext);
|
||||
int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext);
|
||||
@ -928,28 +924,13 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level);
|
||||
bit5= aaip
|
||||
The libisofs specific SUSP based extension of ECMA-119 which
|
||||
can encode ACL and XFS-style Extended Attributes.
|
||||
bit6= session_md5
|
||||
@since 0.4.2
|
||||
Produce and write a MD5 checksum of the whole session stream.
|
||||
bit7= file_md5
|
||||
@since 0.4.2
|
||||
Produce and write MD5 checksums for each single IsoFile.
|
||||
bit8= file_stability (only together with file_md5)
|
||||
@since 0.4.2
|
||||
Compute MD5 of each file before copying it into the image and
|
||||
compare this with the MD5 of the actual copying. If they do
|
||||
not match then issue MISHAP event.
|
||||
See also libisofs.h iso_write_opts_set_record_md5()
|
||||
@return 1 success, <=0 failure
|
||||
*/
|
||||
#define isoburn_igopt_rockridge 1
|
||||
#define isoburn_igopt_joliet 2
|
||||
#define isoburn_igopt_iso1999 4
|
||||
#define isoburn_igopt_hardlinks 8
|
||||
#define isoburn_igopt_aaip 32
|
||||
#define isoburn_igopt_session_md5 64
|
||||
#define isoburn_igopt_file_md5 128
|
||||
#define isoburn_igopt_file_stability 256
|
||||
#define isoburn_igopt_rockridge 1
|
||||
#define isoburn_igopt_joliet 2
|
||||
#define isoburn_igopt_iso1999 4
|
||||
#define isoburn_igopt_hardlinks 8
|
||||
#define isoburn_igopt_aaip 32
|
||||
int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext);
|
||||
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
|
||||
|
||||
|
@ -4,12 +4,12 @@
|
||||
xorriso. By Thomas Schmitt <scdbackup@gmx.net>
|
||||
Integrated sub project of libburnia-project.org but also published via:
|
||||
http://scdbackup.sourceforge.net/xorriso_eng.html
|
||||
http://scdbackup.sourceforge.net/xorriso-0.4.2.pl02.tar.gz
|
||||
http://scdbackup.sourceforge.net/xorriso-0.4.0.pl00.tar.gz
|
||||
Copyright (C) 2006-2009 Thomas Schmitt, provided under GPL version 2.
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
xorriso is a program which copies file objects from POSIX compliant
|
||||
xorriso is a program which maps file objects from POSIX compliant
|
||||
filesystems into Rock Ridge enhanced ISO 9660 filesystems and allows
|
||||
session-wise manipulation of such filesystems. It can load the management
|
||||
information of existing ISO images and it writes the session results to
|
||||
@ -46,10 +46,10 @@ Optional at compile time are:
|
||||
If they were present at compile time, then the optional libraries have to
|
||||
be present at runtime, too.
|
||||
|
||||
Obtain xorriso-0.4.2.pl02.tar.gz, take it to a directory of your choice and do:
|
||||
Obtain xorriso-0.4.0.pl00.tar.gz, take it to a directory of your choice and do:
|
||||
|
||||
tar xzf xorriso-0.4.2.pl02.tar.gz
|
||||
cd xorriso-0.4.2
|
||||
tar xzf xorriso-0.4.0.pl00.tar.gz
|
||||
cd xorriso-0.4.0
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
@ -108,8 +108,7 @@ If you want xorriso to report a "Build timestamp" with its option -version:
|
||||
|
||||
Drives and Disk File Objects
|
||||
|
||||
The user of libisoburn applications needs rw-permission for the CD/DVD/BD
|
||||
drives which shall be used, even if only reading is intended.
|
||||
The user of xorriso needs rw-permission for the CD burner device.
|
||||
A list of rw-accessible drives can be obtained by
|
||||
|
||||
xorriso -devices
|
||||
@ -186,9 +185,8 @@ and vice versa:
|
||||
|
||||
File Formats
|
||||
|
||||
Sector Maps
|
||||
|
||||
Sector maps describe the valid and invalid blocks on a media or a disk copy of
|
||||
Currently there is only one file format peculiar to xorriso : sector maps
|
||||
which describe the valid and invalid blocks on a media or a disk copy of
|
||||
a media. xorriso creates and reads these file with its option -check_media.
|
||||
|
||||
The file begins with 32 bytes of cleartext of which the last one is a
|
||||
@ -204,45 +202,6 @@ bit in the map. Then come the bits in form of 8-bit bytes.
|
||||
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.
|
||||
|
||||
Checksum Tags
|
||||
|
||||
Checksum tags are data blocks inside an ISO 9660 image which do not belong to
|
||||
any file but rather tell the MD5 of a certain range of data blocks.
|
||||
|
||||
The superblock checksum tag is written after the ECMA-119 volume descriptors.
|
||||
The tree checksum tag is written after the ECMA-119 directory entries.
|
||||
The session checksum tag is written after all payload including the checksum
|
||||
array. (Then follows eventual padding.)
|
||||
|
||||
The tags are single lines of printable text, padded by 0 bytes. They have
|
||||
the following format:
|
||||
|
||||
Tag_id pos=# range_start=# range_size=# [session_start|next=#] md5=# self=#\n
|
||||
|
||||
Parameters md5= and self= are 32 digit hex, the others are decimal numbers.
|
||||
|
||||
Tag_id distinguishes the following tag types
|
||||
"libisofs_rlsb32_checksum_tag_v1" Relocated 64 kB superblock tag
|
||||
"libisofs_sb_checksum_tag_v1" Superblock tag
|
||||
"libisofs_tree_checksum_tag_v1" Directory tree tag
|
||||
"libisofs_checksum_tag_v1" Session tag
|
||||
|
||||
A relocated superblock may appear at LBA 0 of an image which was produced for
|
||||
being stored in a disk file or on overwriteable media (e.g. DVD+R, BD-RE).
|
||||
xorriso records a first session recorded with its superblock at LBA 32 and
|
||||
the may follow at the next block address after the session tag which is
|
||||
divisible by 32. Normally no session starts after the address given by
|
||||
relocated superblock parameter session_start=.
|
||||
Session oriented media like CD-R[W], DVD+R, BD-R will have no relocated
|
||||
superblock but rather bear a table-of-content on media level.
|
||||
|
||||
A tag is valid if pos= tells its own block address and self= tells its own MD5
|
||||
up to the last hex digit of md5=. range_start= tells the first block that is
|
||||
covered by md5=, range_size= tells the number of blocks covered by md5=.
|
||||
Relocated superblocks tell the block address of their session by session_start=.
|
||||
Superblock and tree tag tell the block address of the next tag by next=.
|
||||
The newline character at the end is mandatory.
|
||||
|
||||
|
||||
libisoburn
|
||||
|
||||
@ -264,8 +223,8 @@ This binary is leaner but depends on properly installed libraries of suitable
|
||||
revision.
|
||||
|
||||
Dynamic library and compile time header requirements for libisoburn-0.4.0 :
|
||||
- libburn.so.4 , version libburn-0.7.0 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.22 or higher
|
||||
- libburn.so.4 , version libburn-0.6.4 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.20 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.
|
||||
|
@ -5844,7 +5844,7 @@ xorriso/configure_ac.txt
|
||||
xorriso/xorriso_timestamp.h
|
||||
Version leap to libisoburn-0.4.0
|
||||
|
||||
28 Jun 2009 [2684]
|
||||
[]
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
@ -5858,7 +5858,7 @@ Documented changes and release timestamp
|
||||
* Bug fix: -load volid did not perform pattern search
|
||||
* Bug fix: Copies of overwriteable media on sequential were mistaken in ROM drives
|
||||
|
||||
2009.06.28.100124 [2685]
|
||||
2009.06.28.100124 []
|
||||
configure.ac
|
||||
README
|
||||
libisoburn/libisoburn.h
|
||||
@ -5872,363 +5872,14 @@ xorriso/configure_ac.txt
|
||||
xorriso/xorriso_timestamp.h
|
||||
Version leap to libisoburn-0.4.1
|
||||
|
||||
28 Jun 2009 [2686]
|
||||
[]
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
28 Jun 2009 [2687]
|
||||
svn move -m 'Promoted branch to tag' \
|
||||
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourZero \
|
||||
http://svn.libburnia-project.org/libisoburn/tags/ZeroFourZero
|
||||
|
||||
------------------------------------ cycle - xorriso-0.4.1 - 2009.06.28.100124
|
||||
|
||||
2009.06.30.120311 [2688]
|
||||
configure.ac
|
||||
xorriso/configure_ac.txt
|
||||
Provisory patch on ticket 152: GNU libiconv needs -liconv but offers no iconv()
|
||||
|
||||
2009.06.30.154606 [2689]
|
||||
xorriso/xorriso.c
|
||||
Bug fix: Ticket 149, one byte overflow of local variable.
|
||||
|
||||
2009.07.07.175748 [2690]
|
||||
configure.ac
|
||||
xorriso/configure_ac.txt
|
||||
Aligned configure --help texts provided by own code in configure.ac
|
||||
|
||||
2009.07.07.193955 [2693]
|
||||
acinclude.m4
|
||||
configure.ac
|
||||
xorriso/configure_ac.txt
|
||||
configure options --enable-libdir-pkgconfig and --enable-pkgconfig-path=DIR
|
||||
|
||||
2009.07.14.134423 [2701]
|
||||
xorriso/configure_ac.txt
|
||||
Adapted xorriso-standalone to version leap libburn-0.6.9
|
||||
|
||||
2009.07.19.214008 [2703]
|
||||
xorriso/xorriso.c
|
||||
Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
|
||||
|
||||
------------------------------------ cycle - xorriso-0.4.1 - 2009.07.19.214008
|
||||
Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
|
||||
|
||||
------------------------------ release - xorriso-0.4.0.pl01 - 2009.07.20.060001
|
||||
Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
|
||||
|
||||
|
||||
23 Jul 2009 [2704]
|
||||
xorriso/xorriso.1
|
||||
More emphasis on early use of -hardlinks, -acl, -xattr etc.
|
||||
|
||||
2009.07.23.103339 [2705]
|
||||
xorriso/compile_xorriso.sh
|
||||
xorriso/xorriso_makefile_am.txt
|
||||
Adopted new libisofs source module md5.[cho]
|
||||
|
||||
2009.07.23.103728 [2706]
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.c
|
||||
Showing a better link count with -hardlinks on -lsl
|
||||
|
||||
2009.07.25.181857 [2707]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso_eng.html
|
||||
Updating sorted link array before usage after image manipulations
|
||||
|
||||
------------------------------------ cycle - xorriso-0.4.1 - 2009.07.25.181857
|
||||
Options -lsl and lsdl now display correct link counts if -hardlinks is on
|
||||
|
||||
|
||||
2009.08.03.075954 [2708]
|
||||
xorriso/xorrisoburn.c
|
||||
Bug fix: Use of freed memory with -hardlinks on and -update
|
||||
|
||||
03 Aug 2009 [2709]
|
||||
xorriso/xorriso.1
|
||||
Hints about -hardlinks and file content filtering
|
||||
|
||||
2009.08.10.123146 [2710]
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso.1
|
||||
New find actions get_md5, get_any_xattr, test -has_any_xattr
|
||||
|
||||
2009.08.10.192240 [2711]
|
||||
libisoburn/libisoburn.h
|
||||
libisoburn/isoburn.h
|
||||
libisoburn/isoburn.c
|
||||
libisoburn/isofs_wrap.c
|
||||
New write options session_md5, file_md5, read option nomd5
|
||||
|
||||
2009.08.10.193843 [2712]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso.1
|
||||
New option -md5, new -as mkisofs option --md5
|
||||
|
||||
2009.08.10.194416 [2713]
|
||||
xorriso/xorriso.h
|
||||
xorriso/xorrisoburn.h
|
||||
Missing changes in rev 2710 and 2712
|
||||
|
||||
2009.08.11.194836 [2714]
|
||||
configure.ac
|
||||
libisoburn/libisoburn.h
|
||||
Requiring at least libisofs-0.6.21 now
|
||||
|
||||
2009.08.11.194836 [2715]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorriso.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso.1
|
||||
New options -check_md5, -check_md5_r, find action check_md5, test -has_md5
|
||||
|
||||
2009.08.12.130401 [2716]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso.1
|
||||
Completed find action check_md5
|
||||
|
||||
2009.08.12.202423 [2717]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso.1
|
||||
Checking MD5 of whole session with -check_md5 and empty path list
|
||||
|
||||
2009.08.13.203718 [2718]
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/xorrisoburn.c
|
||||
Better reaction wich -check_md5 if no MD5 array is loaded
|
||||
|
||||
2009.08.14.102355 [2719]
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.c
|
||||
More timely abort of find jobs if the result pager gets aborted
|
||||
|
||||
2009.08.14.211648 [2720]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorriso.1
|
||||
Letting -check_media look for session checksum tags
|
||||
|
||||
2009.08.15.173403 [2724]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/xorriso.1
|
||||
Introduced -check_media event= for mismatch events
|
||||
|
||||
2009.08.16.200906 [2725]
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.c
|
||||
Adapted to a change in iso_util_decode_md5_tag()
|
||||
|
||||
2009.08.17.162456 [2726]
|
||||
libisoburn/burn_wrap.c
|
||||
Giving overwriteable media a single-session toc with isoburn_drive_aquire(bit4)
|
||||
|
||||
2009.08.17.162834 [2727]
|
||||
xorriso/xorrisoburn.c
|
||||
-check_media recognizes relocated 64kB superblock tag and hops over session gaps
|
||||
|
||||
2009.08.18.173453 [2728]
|
||||
xorriso/xorrisoburn.c
|
||||
Making use of new API call iso_md5_match() and adapted to MD5 image mismatches
|
||||
|
||||
2009.08.18.191013 [2729]
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorriso.1
|
||||
Included -md5 on with option -for_backup
|
||||
|
||||
------------------------------------ cycle - xorriso-0.4.1 - 2009.08.18.191013
|
||||
New option -md5, new -as mkisofs option --md5
|
||||
New options -check_md5, -check_md5_r
|
||||
New find actions check_md5 get_md5, get_any_xattr
|
||||
New find tests -has_md5, -has_any_xattr
|
||||
libisoburn: New write options session_md5, file_md5, read option nomd5
|
||||
|
||||
|
||||
2009.08.19.180632 [2730]
|
||||
libisoburn/libisoburn.h
|
||||
libisoburn/isoburn.h
|
||||
libisoburn/isoburn.c
|
||||
Adapted to enhanced iso_write_opts_set_record_md5()
|
||||
|
||||
2009.08.19.180842 [2731]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso.1
|
||||
New -md5 mode "all"
|
||||
|
||||
19 Aug 2009 [2732]
|
||||
xorriso/xorriso_eng.html
|
||||
Corrections with xorriso web page
|
||||
|
||||
2009.08.20.204309 [2733]
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso.1
|
||||
Made -compare and -update work with recorded MD5 sums
|
||||
|
||||
2009.08.22.184241 [2734]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso.1
|
||||
New -find action make_md5 to equip files from old images with MD5
|
||||
|
||||
2009.08.24.182839 [2738]
|
||||
configure.ac
|
||||
libisoburn/libisoburn.h
|
||||
Demanding libburn-0.6.9 now
|
||||
|
||||
2009.08.24.183750 [2739]
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso.1
|
||||
New option -calm_drive
|
||||
|
||||
2009.08.25.191217 [2741]
|
||||
xorriso/xorrisoburn.c
|
||||
More timely report of library messages with -check_md5
|
||||
|
||||
2009.08.25.191325 [2742]
|
||||
xorriso/xorriso.1
|
||||
Updated incremental backup example
|
||||
|
||||
2009.08.25.191433 [2743]
|
||||
configure.ac
|
||||
libisoburn/libisoburn.h
|
||||
Requiring libisofs-0.6.22 now
|
||||
|
||||
2009.08.25.191543 [2744]
|
||||
xorriso/configure_ac.txt
|
||||
Adapted xorriso-standalone to version leap libisofs-0.6.23
|
||||
|
||||
------------------------------------ cycle - xorriso-0.4.1 - 2009.08.25.191543
|
||||
Options -compare, -compare_r, -update, update_r now can use recorded MD5
|
||||
New -find action make_md5 to equip files from old images with MD5
|
||||
New option -calm_drive
|
||||
|
||||
|
||||
2009.08.27.175608 [2752]
|
||||
xorriso/xorriso.c
|
||||
Updated helptext about -find actions, new -as mkisofs option --for_backup
|
||||
|
||||
2009.08.27.175719 [2753]
|
||||
libisoburn/libisoburn.h
|
||||
configure.ac
|
||||
Requiring libburn-0.7.0 now
|
||||
|
||||
2009.08.27.175806 [2754]
|
||||
xorriso/configure_ac.txt
|
||||
Adapted xorriso-standalone to version leap libburn-0.7.1
|
||||
|
||||
2009.08.28.100829 [2756]
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/xorrisoburn.c
|
||||
xorriso/xorriso.1
|
||||
New option -list_profiles
|
||||
|
||||
2009.08.28.101405 [2757]
|
||||
xorriso/xorriso.c
|
||||
Forgot to store before committing
|
||||
|
||||
2009.08.28.101716 [2758]
|
||||
xorriso/xorriso_private.h
|
||||
Forgot to commit xorriso_private.h
|
||||
|
||||
2009.08.28.112825 [2759]
|
||||
xorriso/xorrisoburn.c
|
||||
Small correction with reporting profile "Removable disk"
|
||||
|
||||
------------------------------------ cycle - xorriso-0.4.1 - 2009.08.28.112825
|
||||
New option -list_profiles
|
||||
|
||||
|
||||
29 Aug 2009 [2760]
|
||||
svn copy -m "Branching for libisoburn release 0.4.2"
|
||||
http://svn.libburnia-project.org/libisoburn/trunk
|
||||
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourTwo
|
||||
|
||||
2009.08.29.143001 [2761]
|
||||
configure.ac
|
||||
README
|
||||
libisoburn/libisoburn.h
|
||||
xorriso/README
|
||||
xorriso/xorriso.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/xorriso_eng.html
|
||||
xorriso/make_xorriso_standalone.sh
|
||||
xorriso/configure_ac.txt
|
||||
xorriso/xorriso_timestamp.h
|
||||
Version leap to libisoburn-0.4.2
|
||||
|
||||
29 Aug 2009 [2762]
|
||||
xorriso/xorriso.1
|
||||
Some updates and corrections in xorriso man page
|
||||
|
||||
29 Aug 2009 []
|
||||
xorriso/changelog.txt
|
||||
Document changes and release timestamp
|
||||
|
||||
----------------------------------- release - xorriso-0.4.2 - 2009.08.29.143001
|
||||
* Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
|
||||
* Options -lsl and lsdl now display correct link counts if -hardlinks is on
|
||||
* New option -md5, new -as mkisofs option --md5
|
||||
* New options -check_md5, -check_md5_r
|
||||
* New find actions check_md5 get_md5, get_any_xattr
|
||||
* New find tests -has_md5, -has_any_xattr
|
||||
* libisoburn: New write options session_md5, file_md5, read option nomd5
|
||||
* Options -compare, -compare_r, -update, update_r now can use recorded MD5
|
||||
* New -find action make_md5 to equip files from old images with MD5
|
||||
* New option -calm_drive
|
||||
* New option -list_profiles
|
||||
|
||||
|
||||
29 Aug 2009 [2763]
|
||||
xorriso/xorriso.1
|
||||
Some updates and corrections in xorriso man page
|
||||
|
||||
2009.08.29.180146 [2764]
|
||||
configure.ac
|
||||
README
|
||||
libisoburn/libisoburn.h
|
||||
xorriso/README
|
||||
xorriso/xorriso.h
|
||||
xorriso/xorriso.c
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/xorriso_eng.html
|
||||
xorriso/make_xorriso_standalone.sh
|
||||
xorriso/configure_ac.txt
|
||||
xorriso/xorriso_timestamp.h
|
||||
Version leap to libisoburn-0.4.3
|
||||
|
||||
[]
|
||||
xorriso/changelog.txt
|
||||
Document changes and release timestamp
|
||||
|
||||
------------------------------------ cycle - xorriso-0.4.3 - 2009.08.29.180146
|
||||
|
||||
------------------------------------ cycle - xorriso-0.4.3 -
|
||||
------------------------------------ cycle - xorriso-0.4.3 -
|
||||
------------------------------------ cycle - xorriso-0.4.1 -
|
||||
------------------------------------ cycle - xorriso-0.4.1 -
|
||||
|
||||
===============================================================================
|
||||
TODO
|
||||
@ -6236,11 +5887,6 @@ Document changes and release timestamp
|
||||
|
||||
------------------------------------------------- bugs
|
||||
|
||||
- >>> what about stat.st_nlink ?
|
||||
- Must it be maintained for directories (i.e. nlink == files + 2)?
|
||||
There are indications that it should either give the number of subdirs
|
||||
(including . and ..) or be 1
|
||||
|
||||
- what about split files and hard links ?
|
||||
|
||||
- xorriso -as cdrecord in rare cases reports intermediate "X of X MB"
|
||||
@ -6255,21 +5901,23 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
|
||||
|
||||
------------------------------------------------- important
|
||||
|
||||
- Mark data blocks of -check_md5 matching files as valid in sector map ?
|
||||
|
||||
- tree of name nodes to represent the cached paths of hardlink candidates.
|
||||
|
||||
- register hard link disk path for files with link count 1
|
||||
and allow in Xorriso_restore_target_hl() to use the own hln_target of
|
||||
a node when that node is copied to disk a second time.
|
||||
|
||||
- libisofs call to create a hard link ?
|
||||
|
||||
- during -update*
|
||||
- what about differently filtered streams ?
|
||||
It is not wrong but a waste to update them as siblings.
|
||||
|
||||
|
||||
- >>> what about stat.st_nlink ?
|
||||
- Must it be maintained for directories (i.e. nlink == files + 2)?
|
||||
There are indications that it should either give the number of subdirs
|
||||
(including . and ..) or be 1
|
||||
- It would be nice if xorriso -lsl could display the actual nlink number.
|
||||
But that is not easy with -map /a /x -map /a /y . One would need a fast
|
||||
lookup of existing inode tuples. I.e. a permanent RBTree of IsoNode.
|
||||
Current is a sorted array of Ecma119Node, because Ecma119Node can record
|
||||
the final inode number in the emerging image easily.
|
||||
??? Should one unite IsoNode and Ecma119 node ???
|
||||
|
||||
- libisofs call to create a hard link ?
|
||||
|
||||
- sudo and setuid chapter in man page
|
||||
? option -sudo_aware
|
||||
@ -6339,27 +5987,8 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
|
||||
- the error handling system should be comprehensively documented
|
||||
and eventually rectified where needed.
|
||||
|
||||
- the iterators are still not safe with node renamings:
|
||||
iso_dir_get_children(...);
|
||||
while(...) {
|
||||
iso_dir_iter_next(...);
|
||||
... iso_node_get_name() returns "xyz" ...
|
||||
iso_node_set_name("xyz.gz");
|
||||
... iso_file_add_external_filter() returns 2 ...
|
||||
iso_node_set_name("xyz");
|
||||
}
|
||||
|
||||
- demo/ produces on FreeBSD several binaries of 500k each.
|
||||
On all systems gcc issues warnings.
|
||||
- Which demo binary is still valid ?
|
||||
|
||||
|
||||
------ feature enhancements :
|
||||
|
||||
- With 100,000 files in a single directory, adding new nodes becomes
|
||||
very slow with high workload.
|
||||
Some hash accelerator would be nice.
|
||||
|
||||
- isohybrid
|
||||
- as of syslinux-3.81pre10/utils/isohybrid.in :
|
||||
- new signature {0xf7, 0xe3, 0xef, 0x0d}
|
||||
|
@ -91,7 +91,6 @@ libisofs="$libisofs $isofs"filter.o
|
||||
libisofs="$libisofs $isofs_filter"external.o
|
||||
libisofs="$libisofs $isofs_filter"zisofs.o
|
||||
libisofs="$libisofs $isofs_filter"gzip.o
|
||||
libisofs="$libisofs $isofs"md5.o
|
||||
|
||||
echo "Version timestamp : $(sed -e 's/#define Xorriso_timestamP "//' -e 's/"$//' "$xorr"/xorriso_timestamp.h)"
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
AC_INIT([xorriso], [0.4.2], [http://libburnia-project.org])
|
||||
AC_INIT([xorriso], [0.4.0], [http://libburnia-project.org])
|
||||
AC_PREREQ([2.50])
|
||||
dnl AC_CONFIG_HEADER([config.h])
|
||||
|
||||
@ -8,15 +8,15 @@ AC_CANONICAL_TARGET
|
||||
AM_INIT_AUTOMAKE([subdir-objects])
|
||||
|
||||
BURN_MAJOR_VERSION=0
|
||||
BURN_MINOR_VERSION=7
|
||||
BURN_MICRO_VERSION=1
|
||||
BURN_MINOR_VERSION=6
|
||||
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=23
|
||||
LIBISOFS_MICRO_VERSION=21
|
||||
AC_SUBST(LIBISOFS_MAJOR_VERSION)
|
||||
AC_SUBST(LIBISOFS_MINOR_VERSION)
|
||||
AC_SUBST(LIBISOFS_MICRO_VERSION)
|
||||
@ -46,9 +46,7 @@ fi
|
||||
dnl If iconv(3) is in an extra libiconv, then it gets added to variable LIBS.
|
||||
dnl If not, then no -liconv will be added.
|
||||
AC_CHECK_LIB(iconv, iconv, , )
|
||||
dnl GNU iconv has no function iconv() but libiconv() and a macro iconv()
|
||||
AC_CHECK_LIB(iconv, libiconv, , )
|
||||
|
||||
|
||||
AC_PROG_LIBTOOL
|
||||
AC_SUBST(LIBTOOL_DEPS)
|
||||
LIBTOOL="$LIBTOOL --silent"
|
||||
@ -112,13 +110,6 @@ else
|
||||
CFLAGS="$CFLAGS -DDEBUG"
|
||||
fi
|
||||
|
||||
|
||||
dnl Determine target directory for libisoburn-*.pc
|
||||
dnl Important: Must be performed _after_ TARGET_SHIZZLE
|
||||
dnl
|
||||
LIBBURNIA_SET_PKGCONFIG
|
||||
|
||||
|
||||
AC_ARG_ENABLE(libreadline,
|
||||
[ --enable-libreadline Enable use of libreadline by xorriso, default=yes],
|
||||
, enable_libreadline=yes)
|
||||
@ -137,7 +128,7 @@ AC_SUBST(READLINE_DEF)
|
||||
|
||||
|
||||
AC_ARG_ENABLE(libacl,
|
||||
[ --enable-libacl Enable use of libacl by libisofs, default=yes],
|
||||
[ --enable-libacl Enable use of libacl by libisofs, default=yes],
|
||||
, enable_libacl=yes)
|
||||
if test x$enable_libacl = xyes; then
|
||||
dnl Check whether there is libacl-devel and libacl-runtime.
|
||||
@ -152,7 +143,7 @@ AC_SUBST(LIBACL_DEF)
|
||||
|
||||
|
||||
AC_ARG_ENABLE(xattr,
|
||||
[ --enable-xattr Enable use of xattr by libisofs, default=yes],
|
||||
[ --enable-xattr Enable use of xattr by libisofs, default=yes],
|
||||
, enable_xattr=yes)
|
||||
if test x$enable_xattr = xyes; then
|
||||
dnl Check whether there is the header for Linux xattr.
|
||||
@ -166,7 +157,7 @@ AC_SUBST(XATTR_DEF)
|
||||
|
||||
|
||||
AC_ARG_ENABLE(zlib,
|
||||
[ --enable-zlib Enable use of zlib by libisofs, default=yes],
|
||||
[ --enable-zlib Enable use of zlib by libisofs, default=yes],
|
||||
, enable_zlib=yes)
|
||||
if test x$enable_zlib = xyes; then
|
||||
dnl Check whether there is the header for zlib.
|
||||
@ -181,7 +172,7 @@ AC_SUBST(ZLIB_DEF)
|
||||
|
||||
|
||||
AC_ARG_ENABLE(external-filters,
|
||||
[ --enable-external-filters Enable use of external filter programs by xorriso, default=yes],
|
||||
[ --enable-external-filters Enable use of external filter programs by xorriso, default=yes],
|
||||
, enable_external_filters=yes)
|
||||
if test x"$enable_external_filters" = xyes; then
|
||||
EXTF_DEF="-DXorriso_allow_external_filterS"
|
||||
@ -193,7 +184,7 @@ fi
|
||||
AC_SUBST(EXTF_DEF)
|
||||
|
||||
AC_ARG_ENABLE(external-filters-setuid,
|
||||
[ --enable-external-filters-setuid Enable xorriso external filter programs under setuid, default=no],
|
||||
[ --enable-external-filters-setuid Enable xorriso external filter programs under setuid, default=no],
|
||||
, enable_external_filters_setuid=no)
|
||||
if test x$enable_external_filters_setuid = xyes; then
|
||||
EXTF_SUID_DEF="-DXorriso_allow_extf_suiD"
|
||||
|
@ -25,9 +25,9 @@
|
||||
current_dir=$(pwd)
|
||||
lone_dir="$current_dir"/"xorriso-standalone"
|
||||
|
||||
xorriso_rev=0.4.2
|
||||
xorriso_rev=0.4.0
|
||||
# For unstable uploads:
|
||||
## xorriso_pl=""
|
||||
# xorriso_pl=""
|
||||
# For stable releases:
|
||||
xorriso_pl=".pl00"
|
||||
|
||||
|
@ -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 29, 2009"
|
||||
.TH XORRISO 1 "Jun 27, 2009"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -67,8 +67,6 @@ Can issue commands to mount older sessions on Linux or FreeBSD.
|
||||
.br
|
||||
Can check media for damages and copy readable blocks to disk.
|
||||
.br
|
||||
Can attach MD5 checksums to each data file and the whole session.
|
||||
.br
|
||||
Scans for optical drives, blanks re-useable optical media.
|
||||
.br
|
||||
Reads its instructions from command line arguments, dialog, and files.
|
||||
@ -489,7 +487,7 @@ 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.
|
||||
@ -521,15 +519,14 @@ try to abort as soon as possible.
|
||||
.SH OPTIONS
|
||||
.br
|
||||
All command words are shown with a leading dash although this dash is not
|
||||
mandatory for the option to be recognized. Note that with emulation modes the
|
||||
dashes of the emulated options are mandatory.
|
||||
mandatory for the option to be recognized. There may be future emulation
|
||||
modes, where dashes may become mandatory in order to distinguish options
|
||||
from file addresses.
|
||||
.br
|
||||
Normally any number of leading dashes is ignored with command words and
|
||||
inner dashes are interpreted as underscores.
|
||||
.TP
|
||||
.B Aquiring source and target drive:
|
||||
Before aquiring a drive one will eventually enable options which influence
|
||||
the behavior of image loading. See next option group.
|
||||
.TP
|
||||
\fB\-dev\fR address
|
||||
Set input and output drive to the same address and load an eventual ISO image.
|
||||
@ -568,53 +565,6 @@ apply. See above paragraph "Libburn drives".
|
||||
An empty address string "" gives up the current output drive
|
||||
without aquiring a new one. No writing is possible without an output drive.
|
||||
.TP
|
||||
\fB\-grow_blindly\fR "off"|predicted_nwa
|
||||
If predicted_nwa is a non-negative number then perform blind growing rather
|
||||
than modifying if -indev and -outdev are set to different drives.
|
||||
"off" or "-1" switch to modifying, which is the default.
|
||||
.br
|
||||
predicted_nwa is the block address where the add-on session of blind
|
||||
growing will finally end up. It is the responsibility of the user to ensure
|
||||
this final position and the presence of the older sessions. Else the
|
||||
overall ISO image will not be mountable or will produce read errors when
|
||||
accessing file content. xorriso will write the session to the address
|
||||
as obtained from examining -outdev and not necessarily to predicted_nwa.
|
||||
.br
|
||||
During a run of blind growing, the input drive is given up before output
|
||||
begins. The output drive is given up when writing is done.
|
||||
.TP
|
||||
.B Influencing the behavior of image loading:
|
||||
The following options should normally be performed before loading an image
|
||||
by aquiring an input drive. In rare cases it is desirable to activate
|
||||
them only after image loading.
|
||||
.TP
|
||||
\fB\-load\fR entity id
|
||||
Load a particular (possibly outdated) ISO image from -dev or -indev.
|
||||
Usually all available sessions are shown with option -toc.
|
||||
.br
|
||||
entity depicts the kind of addressing. id depicts the particular
|
||||
address. The following entities are defined:
|
||||
.br
|
||||
"auto" with any id addresses the last session in -toc. This is the default.
|
||||
.br
|
||||
"session" with id being a number as of a line "ISO session", column "Idx".
|
||||
.br
|
||||
"track" with id being a number as of a line "ISO track", column "Idx".
|
||||
.br
|
||||
"lba" or "sbsector" with a number as of a line "ISO ...", column "sbsector".
|
||||
.br
|
||||
"volid" with a search pattern for a text as of a line "ISO ...",
|
||||
column "Volume Id".
|
||||
.br
|
||||
Adressing a non-existing entity or one which does not represent an ISO
|
||||
image will either abandon -indev or at least lead to a blank image.
|
||||
.br
|
||||
If an input drive is set at the moment when -load is executed, then the
|
||||
addressed ISO image is loaded immediately. Else, the setting will be pending
|
||||
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\-drive_class\fR "harmless"|"banned"|"caution"|"clear_list" disk_pattern
|
||||
Add a drive path pattern to one of the safety lists or make those lists empty.
|
||||
There are three lists defined which get tested in the following sequence:
|
||||
@ -650,6 +600,48 @@ Note: This is not a security feature but rather a bumper for the superuser to
|
||||
prevent inadverted mishaps. For reliably blocking access to a device file you
|
||||
have to deny its rw-permissions in the filesystem.
|
||||
.TP
|
||||
\fB\-grow_blindly\fR "off"|predicted_nwa
|
||||
If predicted_nwa is a non-negative number then perform blind growing rather
|
||||
than modifying if -indev and -outdev are set to different drives.
|
||||
"off" or "-1" switch to modifying, which is the default.
|
||||
.br
|
||||
predicted_nwa is the block address where the add-on session of blind
|
||||
growing will finally end up. It is the responsibility of the user to ensure
|
||||
this final position and the presence of the older sessions. Else the
|
||||
overall ISO image will not be mountable or will produce read errors when
|
||||
accessing file content. xorriso will write the session to the address
|
||||
as obtained from examining -outdev and not necessarily to predicted_nwa.
|
||||
.br
|
||||
During a run of blind growing, the input drive is given up before output
|
||||
begins. The output drive is given up when writing is done.
|
||||
.TP
|
||||
\fB\-load\fR entity id
|
||||
Load a particular (possibly outdated) ISO image from -dev or -indev.
|
||||
Usually all available sessions are shown with option -toc.
|
||||
.br
|
||||
entity depicts the kind of addressing. id depicts the particular
|
||||
address. The following entities are defined:
|
||||
.br
|
||||
"auto" with any id addresses the last session in -toc. This is the default.
|
||||
.br
|
||||
"session" with id being a number as of a line "ISO session", column "Idx".
|
||||
.br
|
||||
"track" with id being a number as of a line "ISO track", column "Idx".
|
||||
.br
|
||||
"lba" or "sbsector" with a number as of a line "ISO ...", column "sbsector".
|
||||
.br
|
||||
"volid" with a search pattern for a text as of a line "ISO ...",
|
||||
column "Volume Id".
|
||||
.br
|
||||
Adressing a non-existing entity or one which does not represent an ISO
|
||||
image will either abandon -indev or at least lead to a blank image.
|
||||
.br
|
||||
If an input drive is set at the moment when -load is executed, then the
|
||||
addressed ISO image is loaded immediately. Else, the setting will be pending
|
||||
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\-assert_volid\fR pattern severity
|
||||
Refuse to load ISO images with volume ids which do not match the given
|
||||
search pattern. When refusing an image, give up the input drive and issue
|
||||
@ -693,11 +685,9 @@ system.
|
||||
Commands -update and -update_r track splits and fusions of hard links in
|
||||
filesystems which have stable device and inode numbers. This can cause
|
||||
automatic last minute changes before the session gets written. Command
|
||||
-hardlinks "perform_update" may be used to do these changes earlier,
|
||||
e.g. if you need to apply filters to all updated files.
|
||||
-hardlinks "perform_update" may be used to do these changes earlier.
|
||||
.br
|
||||
Mode "without_update" avoids hardlink processing during update commands.
|
||||
Use this if your filesystem situation does not allow -disk_dev_ino "on".
|
||||
.br
|
||||
xorriso commands which extract files from an ISO image try to hardlink files
|
||||
with identical inode number. The normal scope of this operation is from
|
||||
@ -728,34 +718,10 @@ Enable or disable processing of xattr attributes in user namespace.
|
||||
If enabled, then xorriso will handle xattr similar to ACL.
|
||||
See also options -getfattr, -setfattr and above paragraph about xattr.
|
||||
.TP
|
||||
\fB\-md5\fR "on"|"all"|"off"
|
||||
Enable or disable processing of MD5 checksums for the overall session and for
|
||||
each single data file. If enabled then images get loaded only if eventual
|
||||
checksums tags of superblock and directory tree match properly. The MD5
|
||||
checksums of data files and whole session get loaded from the image if there
|
||||
are any.
|
||||
.br
|
||||
With options -compare and -update the eventually recorded MD5 of a file
|
||||
will be used to avoid content reading from the image. Only the disk file
|
||||
content will be read and compared with that MD5. This can save much time
|
||||
if -disk_dev_ino "on" is not suitable.
|
||||
.br
|
||||
At image generation time they are computed for each file which gets its data
|
||||
written into the new session. The checksums of files which have their data
|
||||
in older sessions get copied into the new session. Superblock, tree and whole
|
||||
session get a checksum tag each.
|
||||
.br
|
||||
Mode "all" will additionally check during image generation whether the checksum
|
||||
of a data file changed between the time when its reading began and the time
|
||||
when it ended. This implies reading every file twice.
|
||||
.br
|
||||
Checksums can be exploited via options -check_md5, -check_md5_r, via find
|
||||
actions get_md5, check_md5, and via -check_media.
|
||||
.TP
|
||||
\fB\-for_backup\fR
|
||||
Enable all extra features which help to produce or to restore backups with
|
||||
highest fidelity of file properties.
|
||||
Currently this is a shortcut for: -hardlinks on -acl on -xattr on -md5 on.
|
||||
Currently this is a shortcut for: -hardlinks on -acl on -xattr on .
|
||||
.TP
|
||||
\fB\-disk_dev_ino\fR "on"|"ino_only"|"off"
|
||||
Enable or disable processing of recorded file identification numbers
|
||||
@ -776,9 +742,6 @@ same filesystems. Use this if mode "on" always sees all files changed.
|
||||
.br
|
||||
The speed advantage appears only if the loaded session was produced with
|
||||
-disk_dev_ino "on" too.
|
||||
.br
|
||||
Note that -disk_dev_ino "off" is totally in effect only if -hardlinks is "off",
|
||||
too.
|
||||
.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
|
||||
@ -800,16 +763,6 @@ the elsewise trustworthy table-of-content scan for those media.
|
||||
To be in effect, the -rom_toc_scan setting has to be made before the -*dev
|
||||
command which aquires drive and media.
|
||||
.TP
|
||||
\fB\-calm_drive\fR "in"|"out"|"all"|"on"|"off"
|
||||
Reduce drive noise until it is actually used again. Some drives stay alert
|
||||
for substantial time after they have been used for reading. This reduces
|
||||
the startup time for the next drive operation but can be loud and waste
|
||||
energy if no i/o with the drive is expected to happen soon.
|
||||
.br
|
||||
Modes "in", "out", "all" immediately calm down -indev, -outdev, resp. both.
|
||||
Mode "on" causes -calm_drive to be performed automatically after each -dev,
|
||||
-indev, and -outdev. Mode "off" disables this.
|
||||
.TP
|
||||
\fB\-ban_stdio_write\fR
|
||||
Allow for writing only the usage of MMC optical drives. Disallow
|
||||
to write the result into files of nearly arbitrary type.
|
||||
@ -1344,12 +1297,6 @@ Matches files which have xattr name-value pairs from user namespace.
|
||||
\fB\-has_aaip\fR :
|
||||
Matches files which have ACL or any xattr.
|
||||
.br
|
||||
\fB\-has_any_xattr\fR :
|
||||
Matches files which have any xattr other than ACL.
|
||||
.br
|
||||
\fB\-has_md5\fR :
|
||||
Matches data files which have MD5 checksums.
|
||||
.br
|
||||
\fB\-has_filter\fR :
|
||||
Matches files which are filtered by -set_filter.
|
||||
.br
|
||||
@ -1458,24 +1405,7 @@ ACL is given in text form as defined with option -setfacl.
|
||||
.br
|
||||
E.g.: -exec setfacl u:lisa:rw,u::rw,g::r,o::-,m::rw --
|
||||
.br
|
||||
\fBgetfattr\fR prints eventual xattr name-value pairs from user namespace
|
||||
to the result channel.
|
||||
.br
|
||||
\fBget_any_xattr\fR prints eventual xattr name-value pairs from any namespace
|
||||
except ACL to the result channel. This is mostly for debugging of
|
||||
namespace "isofs".
|
||||
.br
|
||||
\fBget_md5\fR prints eventual recorded MD5 sum together with file path.
|
||||
.br
|
||||
\fBcheck_md5\fR compares eventual recorded MD5 sum with the file content
|
||||
and reports if mismatch.
|
||||
.br
|
||||
E.g.: -find / -not -pending_data -exec check_md5 FAILURE --
|
||||
\fBmake_md5\fR equips a data file with an MD5 sum of its content. Useful to
|
||||
upgrade the files in the loaded image to full MD5 coverage by the next
|
||||
commit with -md5 "on".
|
||||
.br
|
||||
E.g.: -find / -type f -not -has_md5 -exec make_md5 --
|
||||
\fBgetfattr\fR prints eventual xattr name-value pairs to the result channel.
|
||||
.br
|
||||
\fBsetfattr\fR sets or deletes xattr name value pairs.
|
||||
.br
|
||||
@ -1508,7 +1438,7 @@ Discard the manipulated ISO image and reload it from -indev.
|
||||
\fB\-rollback_end\fR
|
||||
Discard the manipulated ISO image. End program without loading a new image.
|
||||
.TP
|
||||
.B Writing the result, drive control:
|
||||
.B Writing the result:
|
||||
(see also paragraph about settings below)
|
||||
.TP
|
||||
\fB\-commit\fR
|
||||
@ -1637,10 +1567,6 @@ MMC format codes are manifold. Most important are:
|
||||
.br
|
||||
Smaller format size with DVD-RAM, BD-RE, or BD-R means more reserve space.
|
||||
.TP
|
||||
\fB\-list_profiles\fR "in"|"out"|"all"
|
||||
Put out a list of media types supported by -indev, resp. -outdev, resp. both.
|
||||
The currently recognized type is marked by text "(current)".
|
||||
.TP
|
||||
.B Settings for data insertion:
|
||||
.TP
|
||||
\fB\-file_size_limit\fR value [value [...]] --
|
||||
@ -2570,10 +2496,6 @@ correction will fail and the drive is supposed to indicate error.
|
||||
xorriso can scan the media for readable data blocks, classify them according
|
||||
to their read speed, save them to a file, and keep track of successfuly saved
|
||||
blocks for further tries on the same media.
|
||||
.br
|
||||
By option -md5 checksums may get recorded with data files and whole
|
||||
sessions. These checksums are reachable only via indev and a loaded image.
|
||||
They work independently of the media type and can detect transmission errors.
|
||||
.TP
|
||||
\fB\-check_media\fR [option [option ...]] --
|
||||
Try to read data blocks from the indev drive, eventually copy them to a
|
||||
@ -2586,16 +2508,9 @@ description of options.
|
||||
.br
|
||||
The result list tells intervals of 2 KiB blocks with start address, number
|
||||
of blocks and quality. Qualities which begin with "+" are
|
||||
supposed to be valid readable data. Qualities with "-" are unreadable or
|
||||
corrupted data.
|
||||
"0" indicates qualities which are not covered by the check run or are regularly
|
||||
allowed to to be unreadable (e.g. gaps between tracks).
|
||||
supposed to be valid readable data. Qualities with "-" are no valid data.
|
||||
.br
|
||||
Alternatively it is possible to report damaged files rather than blocks.
|
||||
.br
|
||||
If -md5 is on then the default mode what=tracks looks out for libisofs
|
||||
checksum tags for the ISO session data and and eventually checks them
|
||||
against the checksums computed from the data stream.
|
||||
.TP
|
||||
\fB\-check_media_defaults\fR [option [option ...]] --
|
||||
Preset options for runs of -check_media, -extract_cut and best_effort
|
||||
@ -2608,12 +2523,11 @@ may override each other. So their sequence matters.
|
||||
The default setting at program start is:
|
||||
.br
|
||||
use=indev what=tracks min_lba=-1 max_lba=-1 retry=default
|
||||
.br
|
||||
time_limit=28800 item_limit=100000 data_to='' event=ALL
|
||||
time_limit=28800 item_limit=100000
|
||||
.br
|
||||
abort_file=/var/opt/xorriso/do_abort_check_media
|
||||
.br
|
||||
sector_map='' map_with_volid=off patch_lba0=off report=blocks
|
||||
data_to='' sector_map='' map_with_volid=off patch_lba0=off report=blocks
|
||||
.br
|
||||
Option "reset=now" restores these startup defaults.
|
||||
.br
|
||||
@ -2654,10 +2568,6 @@ Value -1 means unlimited item number.
|
||||
.br
|
||||
"data_to=" copies the valid blocks to the file which is given as option value.
|
||||
.br
|
||||
"event=" sets the given severity for a problem event which shall be issued at
|
||||
the end of a check run if data blocks were unreadable or failed to match
|
||||
recorded MD5 checksums. Severity "ALL" disables this event.
|
||||
.br
|
||||
"sector_map=" tries to read the file given by option value as
|
||||
sector bitmap and to store such a map file after the scan run.
|
||||
The bitmap tells which blocks have been read successfully in previous runs.
|
||||
@ -2686,25 +2596,6 @@ have an -indev and a loaded image. ":force" may be appended after the number.
|
||||
"use=sector_map" does not read any media but loads the file given by option
|
||||
sector_map= and processes this virtual outcome.
|
||||
.TP
|
||||
\fB\-check_md5\fR severity iso_rr_path [***]
|
||||
Compare the data content of the given files in the loaded image with their
|
||||
recorded MD5 checksums, if there are any. In case of any mismatch an event of
|
||||
the given severity is issued. It may then be handled by appropriate settings of
|
||||
options -abort_on or -return_with which both can cause non-zero exit values
|
||||
of the program run. Severity ALL suppresses that event.
|
||||
.br
|
||||
This option reports match and mismatch of data files to the result channel.
|
||||
Non-data files cause NOTE events. There will also be UPDATE events from
|
||||
data reading.
|
||||
.br
|
||||
If no iso_rr_path is given then the whole loaded session is compared with its
|
||||
MD5 sum. Be aware that this covers only one session and not the whole image
|
||||
if there are older sessions.
|
||||
.TP
|
||||
\fB\-check_md5_r\fR severity iso_rr_path [***]
|
||||
Like -check_md5 but checking all data files underneath the given paths.
|
||||
Only mismatching data files will be reported.
|
||||
.TP
|
||||
.B osirrox restore options:
|
||||
.PP
|
||||
Normally xorriso only writes to disk files which were given as stdio:
|
||||
@ -3452,13 +3343,11 @@ in the ISO image so that they become exact copies of their disk counterparts.
|
||||
ISO file objects get created, deleted or get their attributes adjusted
|
||||
accordingly.
|
||||
.br
|
||||
ACL, xattr, hard links and MD5 checksums will be recorded.
|
||||
Accelerated comparison is enabled at the expense of potentially larger backup
|
||||
size. Only media with the expected volume id or blank media are accepted.
|
||||
ACL, xattr and hard links will be recorded. Accelerated comparison is enabled
|
||||
at the expense of potentially larger backup size.
|
||||
Only media with the expected volume id or blank media are accepted.
|
||||
Files with names matching *.o or *.swp get excluded explicitely.
|
||||
.br
|
||||
When done with writing the new session gets checked by its recorded MD5.
|
||||
.br
|
||||
\fB$\fR xorriso \\
|
||||
.br
|
||||
-for_backup -disk_dev_ino on \\
|
||||
@ -3475,7 +3364,7 @@ When done with writing the new session gets checked by its recorded MD5.
|
||||
.br
|
||||
-update_r /home/thomas/personal_mail /personal_mail \\
|
||||
.br
|
||||
-commit -toc -check_md5 FAILURE -- -eject all
|
||||
-commit -toc -eject all
|
||||
.br
|
||||
To be used several times on the same media, whenever an update of
|
||||
the two disk trees to the media is desired. Begin with blank media and start
|
||||
@ -3485,16 +3374,13 @@ the old one.
|
||||
This makes sense if the full backup leaves substantial remaining capacity
|
||||
on media and if the expected changes are much smaller than the full backup.
|
||||
To apply zisofs compression to those data files which get newly copied from
|
||||
the local filesystem, insert these options immediately before -commit :
|
||||
the local filesystem, perform immediately before -commit :
|
||||
.br
|
||||
-hardlinks perform_update \\
|
||||
-find / -type f -pending_data -exec set_filter --zisofs --
|
||||
.br
|
||||
-find / -type f -pending_data -exec set_filter --zisofs -- \\
|
||||
.br
|
||||
Options -disk_dev_ino and -for_backup depend on stable device and inode numbers
|
||||
on disk. Without them, an update run may use -md5 "on" to match recorded MD5
|
||||
sums against the current file content on hard disk. This is usually much faster
|
||||
than the default which compares both contents directly.
|
||||
Option -disk_dev_ino depends on stable device and inode numbers on disk.
|
||||
Without it, an update run will probably save no time but last longer than
|
||||
a full backup. Such a slow run might produce a smaller backup, though.
|
||||
.br
|
||||
With \fBmount\fR option \fB-o "sbsector="\fR on Linux resp. \fB-s\fR on FreeBSD
|
||||
it is possible to access the session trees which represent the older backup
|
||||
@ -3619,9 +3505,6 @@ ACL and xattr
|
||||
.BR setfacl(1),
|
||||
.BR getfattr(1),
|
||||
.BR setfattr(1)
|
||||
.TP
|
||||
MD5 checksums
|
||||
.BR md5sum(1)
|
||||
.br
|
||||
.SH AUTHOR
|
||||
Thomas Schmitt <scdbackup@gmx.net>
|
||||
|
1370
xorriso/xorriso.c
1370
xorriso/xorriso.c
File diff suppressed because it is too large
Load Diff
@ -16,13 +16,13 @@
|
||||
struct XorrisO;
|
||||
|
||||
|
||||
#define Xorriso_program_versioN "0.4.2"
|
||||
#define Xorriso_program_versioN "0.4.0"
|
||||
|
||||
|
||||
/* --------------------- Fundamental Management ------------------- */
|
||||
|
||||
|
||||
/* Get the version text (e.g. "0.4.2") of the program code.
|
||||
/* Get the version text (e.g. "0.4.0") of the program code.
|
||||
@param flag unused yet, submit 0
|
||||
@return readonly character string
|
||||
*/
|
||||
@ -497,15 +497,6 @@ int Xorriso_option_cdx(struct XorrisO *xorriso, char *disk_path, int flag);
|
||||
*/
|
||||
int Xorriso_option_charset(struct XorrisO *xorriso, char *name, int flag);
|
||||
|
||||
/* Options -check_md5 and -check_md5_r
|
||||
@param flag bit0= issue summary message
|
||||
bit1= do not reset pacifier, no final pacifier message
|
||||
bit2= do not issue pacifier messages at all
|
||||
bit3= recursive: -check_md5_r
|
||||
*/
|
||||
int Xorriso_option_check_md5(struct XorrisO *xorriso,
|
||||
int argc, char **argv, int *idx, int flag);
|
||||
|
||||
/* Option -check_media */
|
||||
int Xorriso_option_check_media(struct XorrisO *xorriso,
|
||||
int argc, char **argv, int *idx, int flag);
|
||||
@ -733,9 +724,6 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
|
||||
/* Option -mark */
|
||||
int Xorriso_option_mark(struct XorrisO *xorriso, char *mark, int flag);
|
||||
|
||||
/* Option -md5 */
|
||||
int Xorriso_option_md5(struct XorrisO *xorriso, char *mode, int flag);
|
||||
|
||||
/* Option -mkdir alias -mkdiri */
|
||||
int Xorriso_option_mkdiri(struct XorrisO *xorriso, int argc, char **argv,
|
||||
int *idx, int flag);
|
||||
|
@ -35,12 +35,10 @@ Vice versa xorriso is able to restore file objects from ISO 9660 filesystems.
|
||||
|
||||
<P>
|
||||
<H2>Hardware requirements:</H2>
|
||||
About any CD, DVD, or BD recorder produced in the recent ten years.
|
||||
<BR>
|
||||
<A HREF="http://libburnia-project.org">libburn</A>
|
||||
supports recorders which are compliant to standards MMC-1 for CD and
|
||||
MMC-5 for DVD or BD. Linux and FreeBSD allow to access drives connected
|
||||
via SCSI, PATA (aka IDE, ATA), USB, or SATA.
|
||||
A CD/DVD/BD recorder suitable for
|
||||
<A HREF="http://libburnia-project.org">http://libburnia-project.org</A> <BR>
|
||||
(SCSI , ATA , USB , or SATA writers compliant to standard MMC-3 for CD
|
||||
and to MMC-5 for DVD or BD).
|
||||
<BR>
|
||||
</P>
|
||||
|
||||
@ -105,9 +103,6 @@ Updates ISO subtrees incrementally to match given disk subtrees.
|
||||
Can record and restore hard link relations, ACL, and xattr.
|
||||
</LI>
|
||||
<LI>
|
||||
Can attach MD5 checksums to each data file and the whole session.
|
||||
</LI>
|
||||
<LI>
|
||||
File content may get zisofs or gzip compressed or filtered by external
|
||||
processes.
|
||||
</LI>
|
||||
@ -279,27 +274,23 @@ to match the new disk trees.
|
||||
Older states can be retrieved by help of mount options like "sbsector="
|
||||
or by help of xorriso option -mount.
|
||||
<BR>
|
||||
Eventual ACL, xattr and hardlink relations will be recorded. MD5 checksums
|
||||
will be computed and recorded. Data reading will be avoided by accelerator
|
||||
option -disk_dev_ino. After writing, the new session will be checked
|
||||
by its recorded MD5.
|
||||
<BR>
|
||||
Eventual ACL or xattr will be recorded. Data reading will be avoided by
|
||||
accelerator option -disk_dev_ino.
|
||||
Only blank media or media with volume id "PROJECTS_MAIL_..." will be accepted.
|
||||
Files with names ending by ".o" or ".swp" are excluded by options -not_leaf.
|
||||
</DT>
|
||||
<DD>$<KBD> xorriso -for_backup -disk_dev_ino on \</KBD></DD>
|
||||
<DD>$<KBD> xorriso -acl on -xattr on -disk_dev_ino on \</KBD></DD>
|
||||
<DD><KBD> -assert_volid 'PROJECTS_MAIL_*' FATAL \</KBD></DD>
|
||||
<DD><KBD> -dev /dev/sr0 \</KBD></DD>
|
||||
<DD><KBD> -volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \</KBD></DD>
|
||||
<DD><KBD> -not_leaf '*.o' -not_leaf '*.swp' \</KBD></DD>
|
||||
<DD><KBD> -update_r /home/thomas/open_source_projects /open_source_projects \</KBD></DD>
|
||||
<DD><KBD> -update_r /home/thomas/personal_mail /personal_mail \</KBD></DD>
|
||||
<DD><KBD> -commit -toc -check_md5 FAILURE -- -eject all</KBD></DD>
|
||||
<DD><KBD> -commit -toc -eject all</KBD></DD>
|
||||
|
||||
<DT>
|
||||
To apply zisofs compression to those data files which get newly copied from
|
||||
the local filesystem, perform immediately before -commit :
|
||||
<DD><KBD> -hardlinks perform_update \</KBD></DD>
|
||||
<DD>
|
||||
<KBD> -find / -type f -pending_data -exec set_filter --zisofs -- \</KBD></DD>
|
||||
</DD>
|
||||
@ -429,10 +420,10 @@ files or trees to disk:
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Download as source code (see README):</H3></DT>
|
||||
<DD><A HREF="xorriso-0.4.2.pl02.tar.gz">xorriso-0.4.2.pl02.tar.gz</A>
|
||||
(1295 KB).
|
||||
<DD><A HREF="xorriso-0.4.0.pl00.tar.gz">xorriso-0.4.0.pl00.tar.gz</A>
|
||||
(1260 KB).
|
||||
</DD>
|
||||
<DD>(Released 8 Oct 2009)</DD>
|
||||
<DD>(Released 28 Jun 2009)</DD>
|
||||
</DL>
|
||||
</DD>
|
||||
</DL>
|
||||
@ -457,42 +448,31 @@ an <A HREF="http://www.opensource.org/">Open Source</A> approved license</DD>
|
||||
<HR>
|
||||
|
||||
<P>
|
||||
Bug fixes towards xorriso-0.4.0.pl00:
|
||||
Bug fixes towards xorriso-0.3.8.pl00:
|
||||
<UL>
|
||||
<LI>xorriso -as mkisofs did not understand the -C option of growisofs any more
|
||||
<LI>Option -devices stalled if a U3 enhanced memory stick was present</LI>
|
||||
<LI>SIGSEGV by dereferencing NULL with option -status and no search string</LI>
|
||||
<LI>-load volid did not perform pattern search</LI>
|
||||
<!--
|
||||
<LI>- none -</LI>
|
||||
-->
|
||||
|
||||
</UL>
|
||||
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Bug fixes towards xorriso-0.4.2.pl00:
|
||||
Enhancements towards previous stable version xorriso-0.3.8.pl00:
|
||||
<UL>
|
||||
<LI>-cut_out deleted previously cut-out pieces of the same file</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<P>
|
||||
Bug fixes towards xorriso-0.4.2.pl01:
|
||||
<UL>
|
||||
<LI>Filenames could lose blanks during a multi-session cycle</LI>
|
||||
<LI>-for_backup did not enable -xattr and -md5 if no drive was chosen yet</LI>
|
||||
<LI>xorrisofs -help, xorrecord -help displayed original xorriso -help</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Enhancements towards previous stable version xorriso-0.4.0.pl00:
|
||||
<UL>
|
||||
<LI>New option -md5, new -as mkisofs option --md5</LI>
|
||||
<LI>New options -check_md5, -check_md5_r</LI>
|
||||
<LI>New find actions check_md5 get_md5, get_any_xattr, make_md5</LI>
|
||||
<LI>New find tests -has_md5, -has_any_xattr</LI>
|
||||
<LI>New option -list_profiles</LI>
|
||||
<LI>New option -calm_drive</LI>
|
||||
<LI>Options -lsl and -lsdl now display correct link counts if -hardlinks is on
|
||||
<LI>New option -hardlinks for recording and restoring of hard link relations
|
||||
</LI>
|
||||
<LI>New option -for_backup as shortcut for -acl -xattr -hardlinks
|
||||
</LI>
|
||||
<LI>Improved read performance with -update_r
|
||||
</LI>
|
||||
<LI>Improved read performance with -extract by -osirrox sort_lba
|
||||
</LI>
|
||||
<LI>Operators with option -find : -not, -or, -and, (, ), -if, -then, -else</LI>
|
||||
<LI>New -find tests -wholename, -prune, -sort_lba</LI>
|
||||
|
||||
<!--
|
||||
<LI>- none -</LI>
|
||||
@ -507,16 +487,16 @@ Enhancements towards previous stable version xorriso-0.4.0.pl00:
|
||||
Library copies included in xorriso tarballs:
|
||||
</H3>
|
||||
<DL>
|
||||
<DT>libburn-0.7.1</DT>
|
||||
<DT>libburn-0.6.7</DT>
|
||||
<DD>reads and writes data from and to CD, DVD, BD.</DD>
|
||||
<DD>(founded by Derek Foreman and Ben Jansens,
|
||||
developed and maintained since August 2006 by
|
||||
Thomas Schmitt from team of libburnia-project.org)</DD>
|
||||
<DT>libisofs-0.6.23</DT>
|
||||
<DT>libisofs-0.6.21</DT>
|
||||
<DD>operates on ISO 9660 filesystem images.</DD>
|
||||
<DD>(By Vreixo Formoso, Mario Danic and Thomas Schmitt
|
||||
from team of libburnia-project.org)</DD>
|
||||
<DT>libisoburn-0.4.2</DT>
|
||||
<DT>libisoburn-0.4.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>
|
||||
@ -530,36 +510,25 @@ cdrecord and mkisofs.</DT>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Development snapshot, version 0.4.3 :</H3></DT>
|
||||
<DD>Bug fixes towards xorriso-0.4.2.pl00:
|
||||
<DT><H3>Development snapshot, version 0.4.1 :</H3></DT>
|
||||
<DD>Bug fixes towards xorriso-0.4.0.pl00:
|
||||
<UL>
|
||||
<LI>Filenames could lose blanks during a multi-session cycle</LI>
|
||||
<LI>-cut_out deleted previously cut-out pieces of the same file</LI>
|
||||
<LI>-for_backup did not enable -xattr and -md5 if no drive was chosen yet</LI>
|
||||
<LI>With -as cdrecord : -xa1 and -xamix were ignored although they do matter</LI>
|
||||
<LI>xorrisofs -help, xorrecord -help displayed original xorriso -help</LI>
|
||||
<!--
|
||||
<LI>- none yet -</LI>
|
||||
<!--
|
||||
-->
|
||||
</UL>
|
||||
</DD>
|
||||
<DD>Enhancements towards stable version 0.4.2.pl01:
|
||||
<DD>Enhancements towards stable version 0.4.0.pl00:
|
||||
<UL>
|
||||
</LI>
|
||||
|
||||
<LI>New option -scdbackup_tag</LI>
|
||||
<LI>New option -pvd_info</LI>
|
||||
<LI>Option -toc now reports "Media product:"</LI>
|
||||
<LI>New options -system_id , -volset_id</LI>
|
||||
<!--
|
||||
<LI>- none yet -</LI>
|
||||
<!--
|
||||
-->
|
||||
</UL>
|
||||
</DD>
|
||||
<DD> </DD>
|
||||
<DD><A HREF="README_xorriso_devel">README 0.4.3</A>
|
||||
<DD><A HREF="xorriso_help_devel">xorriso_0.4.3 -help</A></DD>
|
||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.3)</A></DD>
|
||||
<DD><A HREF="README_xorriso_devel">README 0.4.1</A>
|
||||
<DD><A HREF="xorriso_help_devel">xorriso_0.4.1 -help</A></DD>
|
||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.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
|
||||
@ -569,8 +538,8 @@ libburnia libraries.
|
||||
installation see README)
|
||||
</DD>
|
||||
<DD>
|
||||
<A HREF="xorriso-0.4.3.tar.gz">xorriso-0.4.3.tar.gz</A>
|
||||
(1310 KB).
|
||||
<A HREF="xorriso-0.4.1.tar.gz">xorriso-0.4.1.tar.gz</A>
|
||||
(1260 KB).
|
||||
</DD>
|
||||
<DT>A dynamically linked development version of xorriso can be obtained
|
||||
from repositories of
|
||||
|
@ -109,8 +109,6 @@ xorriso_xorriso_SOURCES = \
|
||||
libisofs/make_isohybrid_mbr.c \
|
||||
libisofs/aaip_0_2.h \
|
||||
libisofs/aaip_0_2.c \
|
||||
libisofs/md5.h \
|
||||
libisofs/md5.c \
|
||||
\
|
||||
libburn/async.c \
|
||||
libburn/async.h \
|
||||
|
@ -107,7 +107,7 @@ struct XorrisO { /* the global context of xorriso */
|
||||
bit3= with update:
|
||||
Do not try to detect hardlink splits and joinings.
|
||||
bit4= with extract:
|
||||
Do not create or use hln arrays if sort_lba_on
|
||||
Do not automatically create hln arrays
|
||||
*/
|
||||
|
||||
int do_joliet;
|
||||
@ -124,13 +124,6 @@ struct XorrisO { /* the global context of xorriso */
|
||||
bit9= allow to set input charset from xattr "isofs.cs"
|
||||
*/
|
||||
|
||||
int do_md5; /* bit0= read MD5 array
|
||||
bit1= write session MD5
|
||||
bit2= write MD5 for each data file
|
||||
bit3= make file content stability check by double reading
|
||||
bit4= use recorded MD5 as proxy of ISO file
|
||||
*/
|
||||
|
||||
int relax_compliance; /* opaque bitfield to be set by xorrisoburn */
|
||||
int do_follow_pattern;
|
||||
int do_follow_param;
|
||||
@ -199,8 +192,6 @@ struct XorrisO { /* the global context of xorriso */
|
||||
*/
|
||||
char image_start_value[81]; /* value according image_start_mode */
|
||||
|
||||
int do_calm_drive; /* bit0= calm down drive after aquiring it */
|
||||
|
||||
char indev[SfileadrL];
|
||||
void *in_drive_handle; /* interpreted only by xorrisoburn.c */
|
||||
void *in_volset_handle; /* interpreted only by xorrisoburn.c */
|
||||
@ -399,11 +390,6 @@ struct XorrisO { /* the global context of xorriso */
|
||||
void *pacifier_fifo;
|
||||
|
||||
int find_compare_result; /* 1=everything matches , 0=mismatch , -1=error */
|
||||
int find_check_md5_result; /* bit0= seen mismatch
|
||||
bit1= seen error
|
||||
bit2= seen data file without MD5
|
||||
bit3= seen match
|
||||
*/
|
||||
|
||||
/* Tree node collection and LBA sorting facility */
|
||||
int node_counter;
|
||||
@ -417,7 +403,6 @@ struct XorrisO { /* the global context of xorriso */
|
||||
int hln_count;
|
||||
void **hln_array;
|
||||
void **hln_targets;
|
||||
int hln_change_pending; /* whether a change was made since hln creation */
|
||||
|
||||
/* >>> this should count all temp_mem and thus change its name */
|
||||
off_t node_targets_availmem;
|
||||
@ -447,9 +432,6 @@ struct XorrisO { /* the global context of xorriso */
|
||||
};
|
||||
|
||||
|
||||
/* @param flag bit0= do not set hln_change_pending */
|
||||
int Xorriso_set_change_pending(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_prepare_regex(struct XorrisO *xorriso, char *adr, int flag);
|
||||
|
||||
int Xorriso_result(struct XorrisO *xorriso, int flag);
|
||||
@ -681,10 +663,6 @@ int Xorriso_compare_2_files(struct XorrisO *xorriso, char *disk_adr,
|
||||
char *iso_adr, char *adr_common_tail,
|
||||
int *result, int flag);
|
||||
|
||||
int Xorriso_report_md5_outcome(struct XorrisO *xorriso, char *severity,
|
||||
int flag);
|
||||
|
||||
|
||||
int Sfile_str(char target[SfileadrL], char *source, int flag);
|
||||
|
||||
double Sfile_microtime(int flag);
|
||||
@ -854,8 +832,6 @@ struct ExprtesT {
|
||||
11= -decision char *arg1 ("yes", "no")
|
||||
12= -prune
|
||||
13= -wholename char *arg1 (regex_t in *arg2)
|
||||
14= -has_any_xattr
|
||||
15= -has_md5
|
||||
*/
|
||||
int test_type;
|
||||
|
||||
@ -957,10 +933,6 @@ struct FindjoB {
|
||||
30= internal: count by xorriso->node_counter
|
||||
31= internal: register in xorriso->node_array
|
||||
32= internal: widen_hardlinks disk_equiv: update nodes marked in di_do_widen
|
||||
33= get_any_xattr
|
||||
34= get_md5
|
||||
35= check_md5
|
||||
36= make_md5
|
||||
*/
|
||||
int action;
|
||||
int prune;
|
||||
@ -1190,7 +1162,6 @@ char *Spotlist__quality_name(int quality, char name[80], int flag);
|
||||
|
||||
|
||||
#define Xorriso_read_quality_gooD 0x7fffffff
|
||||
#define Xorriso_read_quality_md5_matcH 0x70000000
|
||||
#define Xorriso_read_quality_sloW 0x60000000
|
||||
#define Xorriso_read_quality_partiaL 0x50000000
|
||||
#define Xorriso_read_quality_valiD 0x40000000
|
||||
@ -1198,58 +1169,9 @@ char *Spotlist__quality_name(int quality, char name[80], int flag);
|
||||
#define Xorriso_read_quality_invaliD 0x3ffffffe
|
||||
#define Xorriso_read_quality_tao_enD 0x28000000
|
||||
#define Xorriso_read_quality_off_tracK 0x20000000
|
||||
#define Xorriso_read_quality_md5_mismatcH 0x10000000
|
||||
#define Xorriso_read_quality_unreadablE 0x00000000
|
||||
|
||||
|
||||
struct CheckmediajoB {
|
||||
int use_dev; /* 0= use indev , 1= use outdev , 2= use sector map*/
|
||||
|
||||
int min_lba; /* if >=0 : begin checking at this address */
|
||||
int max_lba; /* if >=0 : read up to this address, else use mode */
|
||||
|
||||
int min_block_size; /* >>> not yet implemented:
|
||||
granularity desired by user
|
||||
*/
|
||||
int mode; /* 0= track by track
|
||||
1= single sweep over libisoburn media capacity
|
||||
>>> 2= single sweep over libburn media capacity
|
||||
*/
|
||||
time_t start_time;
|
||||
int time_limit; /* Number of seconds after which to abort */
|
||||
|
||||
int item_limit; /* Maximum number of media check list items as result */
|
||||
|
||||
char abort_file_path[SfileadrL];
|
||||
|
||||
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;
|
||||
|
||||
char sector_map_path[SfileadrL];
|
||||
struct SectorbitmaP *sector_map;
|
||||
int map_with_volid; /* 0=add quick toc to map file,
|
||||
1=read ISO heads for toc
|
||||
*/
|
||||
|
||||
int retry; /* -1= only try full read_chunk, 1=retry with 2k blocks
|
||||
0= retry with CD, full chunk else
|
||||
*/
|
||||
|
||||
int report_mode; /* 0= print MCL items
|
||||
1= print damaged files
|
||||
*/
|
||||
|
||||
char event_severity[20]; /* If not "ALL": trigger event of given severity
|
||||
at the end of a check job if bad blocks were
|
||||
discovered.
|
||||
*/
|
||||
|
||||
};
|
||||
|
||||
int Checkmediajob_new(struct CheckmediajoB **o, int flag);
|
||||
|
||||
int Checkmediajob_destroy(struct CheckmediajoB **o, int flag);
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2009.10.08.080001"
|
||||
#define Xorriso_timestamP "2009.06.28.090001"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -19,12 +19,7 @@
|
||||
*/
|
||||
#define xorriso_libisoburn_req_major 0
|
||||
#define xorriso_libisoburn_req_minor 4
|
||||
#define xorriso_libisoburn_req_micro 2
|
||||
|
||||
|
||||
struct SpotlisT; /* List of intervals with different read qualities */
|
||||
struct CheckmediajoB; /* Parameters for Xorriso_check_media() */
|
||||
|
||||
#define xorriso_libisoburn_req_micro 0
|
||||
|
||||
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
|
||||
|
||||
@ -92,11 +87,6 @@ int Xorriso_format_media(struct XorrisO *xorriso, off_t size, int flag);
|
||||
*/
|
||||
int Xorriso_list_formats(struct XorrisO *xorriso, int flag);
|
||||
|
||||
/* @param flag bit1= obtain outdrive, else indrive
|
||||
@return <=0 error, 1 success
|
||||
*/
|
||||
int Xorriso_list_profiles(struct XorrisO *xorriso, int flag);
|
||||
|
||||
/* @param flag bit2= formatting rather than blanking
|
||||
@return 0=failure, did not touch media , -1=failure, altered media
|
||||
1=success, altered media , 2=success, did not touch media
|
||||
@ -228,7 +218,6 @@ int Xorriso_get_profile(struct XorrisO *xorriso, int *profile_number,
|
||||
char profile_name[80], int flag);
|
||||
|
||||
/* @param flag bit0= node_pt is a valid ISO object handle, ignore pathname
|
||||
bit1= dig out the most original stream for reading
|
||||
*/
|
||||
int Xorriso_iso_file_open(struct XorrisO *xorriso, char *pathname,
|
||||
void *node_pt, void **stream, int flag);
|
||||
@ -321,8 +310,7 @@ int Xorriso_destroy_hln_array(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_destroy_di_array(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_new_node_array(struct XorrisO *xorriso, off_t mem_limit,
|
||||
int addon_nodes, int flag);
|
||||
int Xorriso_new_node_array(struct XorrisO *xorriso, off_t mem_limit, int flag);
|
||||
|
||||
int Xorriso_sort_node_array(struct XorrisO *xorriso, int flag);
|
||||
|
||||
@ -332,14 +320,49 @@ int Xorriso_new_hln_array(struct XorrisO *xorriso, off_t mem_limit, int flag);
|
||||
*/
|
||||
int Xorriso_restore_node_array(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_check_md5(struct XorrisO *xorriso, void *in_node, char *path,
|
||||
int flag);
|
||||
|
||||
int Xorriso_check_session_md5(struct XorrisO *xorriso, char *severity,
|
||||
int flag);
|
||||
struct CheckmediajoB {
|
||||
int use_dev; /* 0= use indev , 1= use outdev , 2= use sector map*/
|
||||
|
||||
int Xorriso_image_has_md5(struct XorrisO *xorriso, int flag);
|
||||
int min_lba; /* if >=0 : begin checking at this address */
|
||||
int max_lba; /* if >=0 : read up to this address, else use mode */
|
||||
|
||||
int min_block_size; /* >>> not yet implemented:
|
||||
granularity desired by user
|
||||
*/
|
||||
int mode; /* 0= track by track
|
||||
1= single sweep over libisoburn media capacity
|
||||
>>> 2= single sweep over libburn media capacity
|
||||
*/
|
||||
time_t start_time;
|
||||
int time_limit; /* Number of seconds after which to abort */
|
||||
|
||||
int item_limit; /* Maximum number of media check list items as result */
|
||||
|
||||
char abort_file_path[SfileadrL];
|
||||
|
||||
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;
|
||||
|
||||
char sector_map_path[SfileadrL];
|
||||
struct SectorbitmaP *sector_map;
|
||||
int map_with_volid; /* 0=add quick toc to map file,
|
||||
1=read ISO heads for toc
|
||||
*/
|
||||
|
||||
int retry; /* -1= only try full read_chunk, 1=retry with 2k blocks
|
||||
0= retry with CD, full chunk else
|
||||
*/
|
||||
|
||||
int report_mode; /* 0= print MCL items
|
||||
1= print damaged files
|
||||
*/
|
||||
|
||||
};
|
||||
|
||||
int Xorriso_check_media(struct XorrisO *xorriso, struct SpotlisT **spotlist,
|
||||
struct CheckmediajoB *job, int flag);
|
||||
@ -461,25 +484,6 @@ int Xorriso_hardlink_update(struct XorrisO *xorriso, int *compare_result,
|
||||
|
||||
int Xorriso_finish_hl_update(struct XorrisO *xorriso, int flag);
|
||||
|
||||
int Xorriso_get_md5(struct XorrisO *xorriso, void *in_node, char *path,
|
||||
char md5[16], int flag);
|
||||
|
||||
int Xorriso_make_md5(struct XorrisO *xorriso, void *in_node, char *path,
|
||||
int flag);
|
||||
|
||||
int Xorriso_md5_start(struct XorrisO *xorriso, void **ctx, int flag);
|
||||
|
||||
int Xorriso_md5_compute(struct XorrisO *xorriso, void *ctx,
|
||||
char *data, int datalen, int flag);
|
||||
|
||||
int Xorriso_md5_end(struct XorrisO *xorriso, void **ctx, char md5[16],
|
||||
int flag);
|
||||
|
||||
/* @param flag bit0=input drive
|
||||
bit1=output drive
|
||||
*/
|
||||
int Xorriso_drive_snooze(struct XorrisO *xorriso, int flag);
|
||||
|
||||
|
||||
/* A pseudo file type for El-Torito bootsectors as in man 2 stat :
|
||||
For now take the highest possible value.
|
||||
|
Reference in New Issue
Block a user