Compare commits
20 Commits
ZeroOneSix
...
ZeroOneEig
Author | SHA1 | Date | |
---|---|---|---|
ba767eb4bf | |||
442bc1c49d | |||
b5292e6ade | |||
cc38321820 | |||
5aab9a006a | |||
e13615cff6 | |||
dc2664f753 | |||
27f8339527 | |||
b9f01ef512 | |||
106ab1fb0c | |||
8ad34a7c76 | |||
e69cd236df | |||
751530f44e | |||
6ba4b25045 | |||
69fd5ff008 | |||
c410093711 | |||
53f462b406 | |||
ad33b43f99 | |||
a2c7c523aa | |||
de589419da |
23
README
23
README
@ -4,6 +4,7 @@
|
|||||||
libisoburn. By Vreixo Formoso <metalpain2002@yahoo.es>
|
libisoburn. By Vreixo Formoso <metalpain2002@yahoo.es>
|
||||||
and Thomas Schmitt <scdbackup@gmx.net>
|
and Thomas Schmitt <scdbackup@gmx.net>
|
||||||
Integrated sub project of libburnia-project.org.
|
Integrated sub project of libburnia-project.org.
|
||||||
|
http://files.libburnia-project.org/releases/libisoburn-0.1.8.pl00.tar.gz
|
||||||
Copyright (C) 2006-2008 Vreixo Formoso, Thomas Schmitt.
|
Copyright (C) 2006-2008 Vreixo Formoso, Thomas Schmitt.
|
||||||
Provided under GPL version 2.
|
Provided under GPL version 2.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
@ -25,18 +26,18 @@ By using this software you agree to the disclaimer at the end of this text:
|
|||||||
|
|
||||||
Compilation, First Glimpse, Installation
|
Compilation, First Glimpse, Installation
|
||||||
|
|
||||||
Dynamic library and compile time header requirements for libisoburn-0.1.5 :
|
Dynamic library and compile time header requirements for libisoburn-0.1.8 :
|
||||||
- libburn.so.4 , version libburn-0.4.4 or higher
|
- libburn.so.4 , version libburn-0.4.8 or higher
|
||||||
- libisofs.so.6 , version libisofs-0.6.4 or higher
|
- libisofs.so.6 , version libisofs-0.6.6 or higher
|
||||||
libisoburn and xorriso will not start with libraries which are older than their
|
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
|
headers seen at compile time. So compile in the oldest possible installation
|
||||||
setup unless you have reason to enforce a newer bug fix level.
|
setup unless you have reason to enforce a newer bug fix level.
|
||||||
|
|
||||||
Obtain libisoburn-0.1.5.tar.gz, take it to a directory of your choice
|
Obtain libisoburn-0.1.8.pl00.tar.gz, take it to a directory of your choice
|
||||||
and do:
|
and do:
|
||||||
|
|
||||||
tar xzf libisoburn-0.1.5.tar.gz
|
tar xzf libisoburn-0.1.8.pl00.tar.gz
|
||||||
cd libisoburn-0.1.5
|
cd libisoburn-0.1.8
|
||||||
|
|
||||||
Within that directory execute:
|
Within that directory execute:
|
||||||
|
|
||||||
@ -58,10 +59,10 @@ as well as
|
|||||||
|
|
||||||
libisoburn includes a command line and dialog application named xorriso,
|
libisoburn includes a command line and dialog application named xorriso,
|
||||||
which offers a substantial part of libisoburn features to shell scripts and
|
which offers a substantial part of libisoburn features to shell scripts and
|
||||||
users. Its file xorriso/README describes a standlone tarball as first
|
users. Its file xorriso/README describes a standalone tarball as first
|
||||||
preference for xorriso installation.
|
preference for statically linked xorriso installation.
|
||||||
The installation described above produces a dynamically linked xorriso binary
|
The libisoburn installation described above produces a dynamically linked
|
||||||
as described in chapter "libisoburn" at the end of that text.
|
xorriso binary depending on libburn.so, libisofs.so, libisoburn.so.
|
||||||
|
|
||||||
After installation documentation is available via
|
After installation documentation is available via
|
||||||
man xorriso
|
man xorriso
|
||||||
@ -103,7 +104,7 @@ on disk. It uses the normal POSIX filesystem calls, i.e. no libburnia stuff.
|
|||||||
This program is not installed systemwide but stays in the installation
|
This program is not installed systemwide but stays in the installation
|
||||||
directory of the xorriso tarball as test/compare_file . Usually it is
|
directory of the xorriso tarball as test/compare_file . Usually it is
|
||||||
run as -exec payload of a find command. It demands at least three arguments:
|
run as -exec payload of a find command. It demands at least three arguments:
|
||||||
The path of the first file to compare, the prefix1 to be cut off from path
|
The path of the file to compare, the prefix1 to be cut off from path
|
||||||
and the prefix2 which gets prepended afterwards to obtain the path of the
|
and the prefix2 which gets prepended afterwards to obtain the path of the
|
||||||
second file to compare.
|
second file to compare.
|
||||||
As further argument there can be -no_ctime which suppresses the comparison
|
As further argument there can be -no_ctime which suppresses the comparison
|
||||||
|
24
configure.ac
24
configure.ac
@ -1,4 +1,4 @@
|
|||||||
AC_INIT([libisoburn], [0.1.5], [http://libburnia-project.org])
|
AC_INIT([libisoburn], [0.1.8], [http://libburnia-project.org])
|
||||||
AC_PREREQ([2.50])
|
AC_PREREQ([2.50])
|
||||||
dnl AC_CONFIG_HEADER([config.h])
|
dnl AC_CONFIG_HEADER([config.h])
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ dnl /ISOBURN_.*_VERSION
|
|||||||
dnl /LT_.*
|
dnl /LT_.*
|
||||||
dnl /LIB.*_REQUIRED
|
dnl /LIB.*_REQUIRED
|
||||||
|
|
||||||
dnl The API version codes are now defined in libisoburn/libisoburn.h
|
dnl The API version codes are defined in libisoburn/libisoburn.h
|
||||||
dnl #define isoburn_header_version_*
|
dnl #define isoburn_header_version_*
|
||||||
dnl configure.ac only rules the libtool revision numbering about
|
dnl configure.ac only rules the libtool revision numbering about
|
||||||
dnl LT_CURREN, LT_AGE, LT_REVISION where SONAME becomes LT_CURRENT - LT_AGE
|
dnl LT_CURREN, LT_AGE, LT_REVISION where SONAME becomes LT_CURRENT - LT_AGE
|
||||||
@ -21,7 +21,7 @@ dnl
|
|||||||
dnl These three are only copies to provide libtool with unused LT_RELEASE
|
dnl These three are only copies to provide libtool with unused LT_RELEASE
|
||||||
ISOBURN_MAJOR_VERSION=0
|
ISOBURN_MAJOR_VERSION=0
|
||||||
ISOBURN_MINOR_VERSION=1
|
ISOBURN_MINOR_VERSION=1
|
||||||
ISOBURN_MICRO_VERSION=5
|
ISOBURN_MICRO_VERSION=8
|
||||||
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
|
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
|
||||||
|
|
||||||
AC_SUBST(ISOBURN_MAJOR_VERSION)
|
AC_SUBST(ISOBURN_MAJOR_VERSION)
|
||||||
@ -33,15 +33,15 @@ dnl Libtool versioning
|
|||||||
dnl Generate libisoburn.so.1.x.y
|
dnl Generate libisoburn.so.1.x.y
|
||||||
dnl SONAME will become LT_CURRENT - LT_AGE
|
dnl SONAME will become LT_CURRENT - LT_AGE
|
||||||
dnl
|
dnl
|
||||||
dnl ts A80512
|
dnl ts A80602
|
||||||
dnl ### This was the release version 0.1.4 = libisoburn.so.1.3.0
|
dnl This is the release version 0.1.8 = libisoburn.so.1.7.0
|
||||||
dnl This is the development version after stable release libisoburn.so.1.3.0
|
dnl ## This is the development version after above stable release
|
||||||
dnl LT_CURRENT++, LT_AGE++ have happened happened meanwhile.
|
dnl ## LT_CURRENT++, LT_AGE++ have not happened happened yet.
|
||||||
dnl
|
dnl
|
||||||
dnl SONAME = 5 - 4 = 1 . Library name = libburn.so.1.4.0
|
dnl SONAME = 8 - 7 = 1 . Library name = libburn.so.1.7.0
|
||||||
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
|
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
|
||||||
LT_CURRENT=5
|
LT_CURRENT=8
|
||||||
LT_AGE=4
|
LT_AGE=7
|
||||||
LT_REVISION=0
|
LT_REVISION=0
|
||||||
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
||||||
|
|
||||||
@ -99,8 +99,8 @@ AC_CHECK_HEADER(libburn/libburn.h)
|
|||||||
AC_CHECK_HEADER(libisofs/libisofs.h)
|
AC_CHECK_HEADER(libisofs/libisofs.h)
|
||||||
|
|
||||||
dnl Check for proper library versions
|
dnl Check for proper library versions
|
||||||
LIBBURN_REQUIRED=0.4.7
|
LIBBURN_REQUIRED=0.4.8
|
||||||
LIBISOFS_REQUIRED=0.6.4
|
LIBISOFS_REQUIRED=0.6.6
|
||||||
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
|
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
|
||||||
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)
|
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)
|
||||||
|
|
||||||
|
@ -27,24 +27,24 @@
|
|||||||
#include "isoburn.h"
|
#include "isoburn.h"
|
||||||
|
|
||||||
|
|
||||||
/* Powers of 2 only ! Less than 16 makes not much sense. */
|
/* Cached reading of image tree data */
|
||||||
|
/* Multi tile: 32 * 64 kB */
|
||||||
|
|
||||||
|
/* The size of a single tile.
|
||||||
|
Powers of 2 only ! Less than 16 makes not much sense.
|
||||||
|
*/
|
||||||
#define Libisoburn_tile_blockS 32
|
#define Libisoburn_tile_blockS 32
|
||||||
|
|
||||||
/* Undef to get to older single tile version
|
/* The number of tiles in the cache
|
||||||
*/
|
*/
|
||||||
#define Libisoburn_cache_tileS 32
|
#define Libisoburn_cache_tileS 32
|
||||||
|
|
||||||
|
|
||||||
/* Debugging only: This reports cache loads on stderr.
|
/* Debugging only: This reports cache loads on stderr.
|
||||||
#define Libisoburn_read_cache_reporT 1
|
#define Libisoburn_read_cache_reporT 1
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/* Cached reading of image tree data */
|
|
||||||
|
|
||||||
#ifdef Libisoburn_cache_tileS
|
|
||||||
|
|
||||||
/* Multi tile: 32 * 64 kB */
|
|
||||||
|
|
||||||
struct isoburn_cache_tile {
|
struct isoburn_cache_tile {
|
||||||
char cache_data[Libisoburn_tile_blockS * 2048];
|
char cache_data[Libisoburn_tile_blockS * 2048];
|
||||||
uint32_t cache_lba;
|
uint32_t cache_lba;
|
||||||
@ -234,139 +234,3 @@ static int ds_inc_age(struct isoburn_cached_drive *icd, int idx, int flag)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#else /* Libisoburn_cache_tileS */
|
|
||||||
|
|
||||||
|
|
||||||
/* Single tile 128 kB */
|
|
||||||
|
|
||||||
|
|
||||||
struct isoburn_cached_drive {
|
|
||||||
struct burn_drive *drive;
|
|
||||||
|
|
||||||
char cache_data[Libisoburn_tile_blockS * 2048];
|
|
||||||
uint32_t cache_lba;
|
|
||||||
uint32_t last_error_lba;
|
|
||||||
uint32_t last_aligned_error_lba;
|
|
||||||
int cache_hits;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* Debugging only: This reports cache loads on stderr.
|
|
||||||
#define Libisoburn_read_cache_reporT 1
|
|
||||||
*/
|
|
||||||
|
|
||||||
int
|
|
||||||
ds_read_block(IsoDataSource *src, uint32_t lba, uint8_t *buffer)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
struct burn_drive *d;
|
|
||||||
off_t count;
|
|
||||||
uint32_t aligned_lba;
|
|
||||||
char msg[80];
|
|
||||||
|
|
||||||
struct isoburn_cached_drive *icd;
|
|
||||||
|
|
||||||
if(src == NULL || buffer == NULL)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
icd = (struct isoburn_cached_drive *) src->data;
|
|
||||||
d = (struct burn_drive*) icd->drive;
|
|
||||||
|
|
||||||
aligned_lba= lba & ~(Libisoburn_tile_blockS - 1);
|
|
||||||
if(aligned_lba == icd->cache_lba && icd->cache_lba != 0xffffffff) {
|
|
||||||
(icd->cache_hits)++;
|
|
||||||
memcpy(buffer, icd->cache_data + (lba - aligned_lba) * 2048, 2048);
|
|
||||||
count= 2048;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
icd->cache_lba= 0xffffffff; /* invalidate cache */
|
|
||||||
if(icd->last_aligned_error_lba == aligned_lba) {
|
|
||||||
ret = 0;
|
|
||||||
} else {
|
|
||||||
ret = burn_read_data(d, (off_t) aligned_lba * (off_t) 2048,
|
|
||||||
(char *) icd->cache_data,
|
|
||||||
Libisoburn_tile_blockS * 2048, &count, 0);
|
|
||||||
}
|
|
||||||
if (ret <= 0 ) {
|
|
||||||
icd->last_aligned_error_lba = aligned_lba;
|
|
||||||
|
|
||||||
/* Read-ahead failure ? Try to read 2048 directly. */
|
|
||||||
if(icd->last_error_lba == lba)
|
|
||||||
ret = 0;
|
|
||||||
else
|
|
||||||
ret = burn_read_data(d, (off_t) lba * (off_t) 2048, (char *) buffer,
|
|
||||||
2048, &count, 0);
|
|
||||||
if (ret > 0)
|
|
||||||
return 1;
|
|
||||||
icd->last_error_lba = lba;
|
|
||||||
sprintf(msg, "ds_read_block(%lu) returns -1", (unsigned long) lba);
|
|
||||||
burn_msgs_submit(0x00060000, msg, 0, "DEBUG", NULL);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef Libisoburn_read_cache_reporT
|
|
||||||
fprintf(stderr, "After %3d hits, new load from %8x , count= %d\n",
|
|
||||||
icd->cache_hits, aligned_lba, (int) count);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
icd->cache_lba= aligned_lba;
|
|
||||||
icd->cache_hits= 1;
|
|
||||||
memcpy(buffer, icd->cache_data + (lba - aligned_lba) * 2048, 2048);
|
|
||||||
count= 2048;
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
|
||||||
ds_open(IsoDataSource *src)
|
|
||||||
{
|
|
||||||
/* nothing to do, device is always grabbed */
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
ds_close(IsoDataSource *src)
|
|
||||||
{
|
|
||||||
/* nothing to do, device is always grabbed */
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
ds_free_data(IsoDataSource *src)
|
|
||||||
{
|
|
||||||
/* nothing to do */;
|
|
||||||
if(src->data != NULL)
|
|
||||||
free(src->data);
|
|
||||||
src->data= NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
IsoDataSource *
|
|
||||||
isoburn_data_source_new(struct burn_drive *d)
|
|
||||||
{
|
|
||||||
IsoDataSource *ret;
|
|
||||||
struct isoburn_cached_drive *icd= NULL;
|
|
||||||
|
|
||||||
if (d==NULL)
|
|
||||||
return NULL;
|
|
||||||
ret = malloc(sizeof(IsoDataSource));
|
|
||||||
icd = calloc(1,sizeof(struct isoburn_cached_drive));
|
|
||||||
if (ret == NULL || icd == NULL)
|
|
||||||
return NULL;
|
|
||||||
ret->refcount = 1;
|
|
||||||
ret->read_block = ds_read_block;
|
|
||||||
ret->open = ds_open;
|
|
||||||
ret->close = ds_close;
|
|
||||||
ret->free_data = ds_free_data;
|
|
||||||
ret->data = icd;
|
|
||||||
icd->drive = d;
|
|
||||||
icd->cache_lba = 0xffffffff;
|
|
||||||
icd->cache_hits = 0;
|
|
||||||
icd->last_error_lba = 0xffffffff;
|
|
||||||
icd->last_aligned_error_lba = 0xffffffff;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* ! Libisoburn_cache_tileS */
|
|
||||||
|
|
||||||
|
@ -299,28 +299,40 @@ int isoburn_find_by_drive(struct isoburn **pt, struct burn_drive *d, int flag)
|
|||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static
|
static
|
||||||
int isoburn_prepare_disc_aux(struct burn_drive *d, struct burn_disc **disc,
|
int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
|
||||||
|
struct burn_disc **disc,
|
||||||
struct isoburn_imgen_opts *opts, int new_img)
|
struct isoburn_imgen_opts *opts, int new_img)
|
||||||
{
|
{
|
||||||
struct burn_source *wsrc;
|
struct burn_source *wsrc;
|
||||||
struct burn_session *session;
|
struct burn_session *session;
|
||||||
struct burn_track *track;
|
struct burn_track *track;
|
||||||
struct isoburn *o;
|
struct isoburn *in_o, *out_o;
|
||||||
IsoWriteOpts *wopts= NULL;
|
IsoWriteOpts *wopts= NULL;
|
||||||
enum burn_disc_status state;
|
enum burn_disc_status state;
|
||||||
int ret, fifo_chunks;
|
int ret, fifo_chunks, lba, nwa;
|
||||||
|
|
||||||
ret= isoburn_find_emulator(&o, d, 0);
|
ret= isoburn_find_emulator(&in_o, in_d, 0);
|
||||||
if(ret<0 || o==NULL)
|
if(ret<0 || in_o==NULL)
|
||||||
{ret= -1; goto ex;}
|
{ret= -1; goto ex;}
|
||||||
o->wrote_well= 0; /* early end will be registered as failure */
|
ret= isoburn_find_emulator(&out_o, out_d, 0);
|
||||||
|
if(ret<0 || out_o==NULL)
|
||||||
|
{ret= -1; goto ex;}
|
||||||
|
/* early end will be registered as failure */
|
||||||
|
in_o->wrote_well= out_o->wrote_well= 0;
|
||||||
|
|
||||||
state = isoburn_disc_get_status(d);
|
state = isoburn_disc_get_status(in_d);
|
||||||
if (state != BURN_DISC_BLANK && state != BURN_DISC_APPENDABLE
|
if (state != BURN_DISC_BLANK && state != BURN_DISC_APPENDABLE &&
|
||||||
&& (state != BURN_DISC_FULL || ! new_img)) {
|
state != BURN_DISC_FULL) {
|
||||||
/* unsuitable status */
|
burn_msgs_submit(0x00060000, "Unsuitable source media state",
|
||||||
burn_msgs_submit(0x00060000, "Unsuitable media state", 0, "FAILURE", NULL);
|
0, "FAILURE", NULL);
|
||||||
|
{ret= -2; goto ex;}
|
||||||
|
}
|
||||||
|
state = isoburn_disc_get_status(out_d);
|
||||||
|
if (state != BURN_DISC_BLANK && state != BURN_DISC_APPENDABLE) {
|
||||||
|
burn_msgs_submit(0x00060000, "Unsuitable target media state",
|
||||||
|
0, "FAILURE", NULL);
|
||||||
{ret= -2; goto ex;}
|
{ret= -2; goto ex;}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -359,33 +371,26 @@ int isoburn_prepare_disc_aux(struct burn_drive *d, struct burn_disc **disc,
|
|||||||
iso_write_opts_set_output_charset(wopts, opts->output_charset);
|
iso_write_opts_set_output_charset(wopts, opts->output_charset);
|
||||||
iso_write_opts_set_fifo_size(wopts, fifo_chunks);
|
iso_write_opts_set_fifo_size(wopts, fifo_chunks);
|
||||||
|
|
||||||
if (new_img) {
|
|
||||||
iso_write_opts_set_ms_block(wopts, 0);
|
|
||||||
opts->effective_lba= 0;
|
|
||||||
iso_write_opts_set_appendable(wopts, 0);
|
|
||||||
iso_write_opts_set_overwrite_buf(wopts, NULL);
|
|
||||||
} else {
|
|
||||||
int lba, nwa;
|
|
||||||
ret = isoburn_disc_track_lba_nwa(d, NULL, 0, &lba, &nwa);
|
|
||||||
if (ret != 1) {
|
|
||||||
burn_msgs_submit(0x00060000, "Cannot determine next writeable address", 0,
|
|
||||||
"FAILURE", NULL);
|
|
||||||
{ret= -3; goto ex;}
|
|
||||||
}
|
|
||||||
if (nwa == 0 && state == BURN_DISC_APPENDABLE) {
|
|
||||||
/* invalid nwa */
|
|
||||||
burn_msgs_submit(0x00060000,
|
|
||||||
"Encountered 0 as next writeable address of appendable",
|
|
||||||
0, "FAILURE", NULL);
|
|
||||||
{ret= -4; goto ex;}
|
|
||||||
}
|
|
||||||
iso_write_opts_set_ms_block(wopts, nwa);
|
|
||||||
opts->effective_lba= nwa;
|
|
||||||
iso_write_opts_set_appendable(wopts, 1);
|
|
||||||
iso_write_opts_set_overwrite_buf(wopts, o->target_iso_head);
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = iso_image_create_burn_source(o->image, wopts, &wsrc);
|
ret = isoburn_disc_track_lba_nwa(out_d, NULL, 0, &lba, &nwa);
|
||||||
|
if (ret != 1) {
|
||||||
|
burn_msgs_submit(0x00060000, "Cannot determine next writeable address", 0,
|
||||||
|
"FAILURE", NULL);
|
||||||
|
{ret= -3; goto ex;}
|
||||||
|
}
|
||||||
|
if (nwa == 0 && state == BURN_DISC_APPENDABLE) {
|
||||||
|
burn_msgs_submit(0x00060000,
|
||||||
|
"Encountered 0 as next writeable address of appendable",
|
||||||
|
0, "FAILURE", NULL);
|
||||||
|
{ret= -4; goto ex;}
|
||||||
|
}
|
||||||
|
iso_write_opts_set_ms_block(wopts, nwa);
|
||||||
|
opts->effective_lba= nwa;
|
||||||
|
iso_write_opts_set_appendable(wopts, !new_img);
|
||||||
|
iso_write_opts_set_overwrite_buf(wopts,
|
||||||
|
nwa>0 ? out_o->target_iso_head : NULL);
|
||||||
|
|
||||||
|
ret = iso_image_create_burn_source(in_o->image, wopts, &wsrc);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
isoburn_report_iso_error(ret, "Cannot create burn source", 0, "FAILURE", 0);
|
isoburn_report_iso_error(ret, "Cannot create burn source", 0, "FAILURE", 0);
|
||||||
{ret= -1; goto ex;}
|
{ret= -1; goto ex;}
|
||||||
@ -393,20 +398,20 @@ int isoburn_prepare_disc_aux(struct burn_drive *d, struct burn_disc **disc,
|
|||||||
|
|
||||||
/* TODO check return values for failure. propertly clean-up on error */
|
/* TODO check return values for failure. propertly clean-up on error */
|
||||||
|
|
||||||
o->iso_source= wsrc;
|
out_o->iso_source= wsrc;
|
||||||
|
|
||||||
*disc = burn_disc_create();
|
*disc = burn_disc_create();
|
||||||
session = burn_session_create();
|
session = burn_session_create();
|
||||||
burn_disc_add_session(*disc, session, BURN_POS_END);
|
burn_disc_add_session(*disc, session, BURN_POS_END);
|
||||||
track = burn_track_create();
|
track = burn_track_create();
|
||||||
burn_track_set_source(track, o->iso_source);
|
burn_track_set_source(track, out_o->iso_source);
|
||||||
burn_session_add_track(session, track, BURN_POS_END);
|
burn_session_add_track(session, track, BURN_POS_END);
|
||||||
|
|
||||||
/* give up local references */
|
/* give up local references */
|
||||||
burn_track_free(track);
|
burn_track_free(track);
|
||||||
burn_session_free(session);
|
burn_session_free(session);
|
||||||
|
|
||||||
o->wrote_well= -1; /* neutral */
|
in_o->wrote_well= out_o->wrote_well= -1; /* neutral */
|
||||||
ret= 1;
|
ret= 1;
|
||||||
ex:
|
ex:
|
||||||
if(wopts!=NULL)
|
if(wopts!=NULL)
|
||||||
@ -414,22 +419,27 @@ ex:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int isoburn_prepare_disc(struct burn_drive *d, struct burn_disc **disc,
|
int isoburn_prepare_disc(struct burn_drive *d, struct burn_disc **disc,
|
||||||
struct isoburn_imgen_opts *opts)
|
struct isoburn_imgen_opts *opts)
|
||||||
{
|
{
|
||||||
return isoburn_prepare_disc_aux(d, disc, opts, 0);
|
return isoburn_prepare_disc_aux(d, d, disc, opts, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int isoburn_prepare_new_image(struct burn_drive *d, struct burn_disc **disc,
|
int isoburn_prepare_new_image(struct burn_drive *d, struct burn_disc **disc,
|
||||||
struct isoburn_imgen_opts *opts,
|
struct isoburn_imgen_opts *opts,
|
||||||
struct burn_drive *out_drive)
|
struct burn_drive *out_drive)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct isoburn *in_o, *out_o;
|
|
||||||
|
|
||||||
ret= isoburn_prepare_disc_aux(d, disc, opts, 1);
|
ret= isoburn_prepare_disc_aux(d, out_drive, disc, opts, 1);
|
||||||
if (ret<=0)
|
if (ret<=0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
#ifdef NIX
|
||||||
|
struct isoburn *in_o, *out_o;
|
||||||
|
|
||||||
/* Hand over source reference for optional fifo status inquiry */
|
/* Hand over source reference for optional fifo status inquiry */
|
||||||
if(out_drive==NULL)
|
if(out_drive==NULL)
|
||||||
return 1;
|
return 1;
|
||||||
@ -443,6 +453,8 @@ int isoburn_prepare_new_image(struct burn_drive *d, struct burn_disc **disc,
|
|||||||
burn_source_free(out_o->iso_source);
|
burn_source_free(out_o->iso_source);
|
||||||
out_o->iso_source= in_o->iso_source;
|
out_o->iso_source= in_o->iso_source;
|
||||||
in_o->iso_source= NULL;
|
in_o->iso_source= NULL;
|
||||||
|
#endif /* NIX */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -188,7 +188,7 @@ void isoburn_version(int *major, int *minor, int *micro);
|
|||||||
*/
|
*/
|
||||||
#define isoburn_libisofs_req_major 0
|
#define isoburn_libisofs_req_major 0
|
||||||
#define isoburn_libisofs_req_minor 6
|
#define isoburn_libisofs_req_minor 6
|
||||||
#define isoburn_libisofs_req_micro 4
|
#define isoburn_libisofs_req_micro 6
|
||||||
|
|
||||||
/** The minimum version of libburn to be used with this version of libisoburn
|
/** The minimum version of libburn to be used with this version of libisoburn
|
||||||
at compile time.
|
at compile time.
|
||||||
@ -196,7 +196,7 @@ void isoburn_version(int *major, int *minor, int *micro);
|
|||||||
*/
|
*/
|
||||||
#define isoburn_libburn_req_major 0
|
#define isoburn_libburn_req_major 0
|
||||||
#define isoburn_libburn_req_minor 4
|
#define isoburn_libburn_req_minor 4
|
||||||
#define isoburn_libburn_req_micro 7
|
#define isoburn_libburn_req_micro 8
|
||||||
|
|
||||||
|
|
||||||
/** The minimum version of libisofs to be used with this version of libisoburn
|
/** The minimum version of libisofs to be used with this version of libisoburn
|
||||||
@ -232,7 +232,7 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
|
|||||||
*/
|
*/
|
||||||
#define isoburn_header_version_major 0
|
#define isoburn_header_version_major 0
|
||||||
#define isoburn_header_version_minor 1
|
#define isoburn_header_version_minor 1
|
||||||
#define isoburn_header_version_micro 5
|
#define isoburn_header_version_micro 8
|
||||||
/** Note:
|
/** Note:
|
||||||
Above version numbers are also recorded in configure.ac because libtool
|
Above version numbers are also recorded in configure.ac because libtool
|
||||||
wants them as parameters at build time.
|
wants them as parameters at build time.
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
xorriso. By Thomas Schmitt <scdbackup@gmx.net>
|
xorriso. By Thomas Schmitt <scdbackup@gmx.net>
|
||||||
Integrated sub project of libburnia-project.org but also published via:
|
Integrated sub project of libburnia-project.org but also published via:
|
||||||
http://scdbackup.sourceforge.net/xorriso_eng.html
|
http://scdbackup.sourceforge.net/xorriso_eng.html
|
||||||
http://scdbackup.sourceforge.net/xorriso-0.1.5.tar.gz
|
http://scdbackup.sourceforge.net/xorriso-0.1.8.pl00.tar.gz
|
||||||
Copyright (C) 2006-2008 Thomas Schmitt, provided under GPL version 2.
|
Copyright (C) 2006-2008 Thomas Schmitt, provided under GPL version 2.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -35,10 +35,10 @@ The tarball contains anything that is needed except libc and libpthread.
|
|||||||
libreadline and the readline-dev headers will make dialog mode more convenient,
|
libreadline and the readline-dev headers will make dialog mode more convenient,
|
||||||
but are not mandatory.
|
but are not mandatory.
|
||||||
|
|
||||||
Obtain xorriso-0.1.5.tar.gz, take it to a directory of your choice and do:
|
Obtain xorriso-0.1.8.pl00.tar.gz, take it to a directory of your choice and do:
|
||||||
|
|
||||||
tar xzf xorriso-0.1.5.tar.gz
|
tar xzf xorriso-0.1.8.pl00.tar.gz
|
||||||
cd xorriso-0.1.5
|
cd xorriso-0.1.8
|
||||||
|
|
||||||
Within that directory execute:
|
Within that directory execute:
|
||||||
|
|
||||||
@ -160,9 +160,9 @@ and a matching dynamically linked xorriso binary.
|
|||||||
This binary is leaner but depends on properly installed libraries of suitable
|
This binary is leaner but depends on properly installed libraries of suitable
|
||||||
revision.
|
revision.
|
||||||
|
|
||||||
Dynamic library and compile time header requirements for libisoburn-0.1.5 :
|
Dynamic library and compile time header requirements for libisoburn-0.1.8 :
|
||||||
- libburn.so.4 , version libburn-0.4.4 or higher
|
- libburn.so.4 , version libburn-0.4.8 or higher
|
||||||
- libisofs.so.6 , version libisofs-0.6.4 or higher
|
- libisofs.so.6 , version libisofs-0.6.6 or higher
|
||||||
libisoburn and xorriso will not start with libraries which are older than their
|
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
|
headers seen at compile time. So compile in the oldest possible installation
|
||||||
setup unless you have reason to enforce a newer bug fix level.
|
setup unless you have reason to enforce a newer bug fix level.
|
||||||
|
@ -2346,7 +2346,7 @@ xorriso/xorriso.c
|
|||||||
xorriso/xorriso.1
|
xorriso/xorriso.1
|
||||||
New options -not_paths, -not_leaf, -not_list, -not_mgt, -as mkisofs -m
|
New options -not_paths, -not_leaf, -not_list, -not_mgt, -as mkisofs -m
|
||||||
|
|
||||||
4 May 2008 []
|
4 May 2008 [1727]
|
||||||
xorriso/xorriso_eng.html
|
xorriso/xorriso_eng.html
|
||||||
xorriso/changelog.txt
|
xorriso/changelog.txt
|
||||||
Mentioned new options
|
Mentioned new options
|
||||||
@ -2356,8 +2356,399 @@ Mentioned new options
|
|||||||
* New options -not_paths, -not_leaf, -not_list, -not_mgt, -as mkisofs -m
|
* New options -not_paths, -not_leaf, -not_list, -not_mgt, -as mkisofs -m
|
||||||
|
|
||||||
|
|
||||||
|
2008.05.05.210317 [1728]
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
After formatting DVD-RW write 128 MB and close track to end Intermediate State
|
||||||
|
|
||||||
|
2008.05.06.084439 [1731]
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Calling isoburn_cancel_prepared_write() after failed isoburn_disc_write()
|
||||||
|
|
||||||
|
2008.05.06.144606 [1732]
|
||||||
|
libisoburn/isoburn.h
|
||||||
|
libisoburn/isoburn.c
|
||||||
|
libisoburn/isofs_wrap.c
|
||||||
|
libisoburn/burn_wrap.c
|
||||||
|
Experiment for TOC on overwriteables: Keep a target_head copy of session #1
|
||||||
|
|
||||||
|
2008.05.07.071427 [1737]
|
||||||
|
libisoburn/isoburn.h
|
||||||
|
libisoburn/isoburn.c
|
||||||
|
libisoburn/burn_wrap.c
|
||||||
|
libisoburn/isofs_wrap.c
|
||||||
|
Removed some outdated ifdef cases
|
||||||
|
|
||||||
|
2008.05.07.175508 [1738]
|
||||||
|
libisoburn/libisoburn.h
|
||||||
|
libisoburn/isoburn.h
|
||||||
|
libisoburn/burn_wrap.c
|
||||||
|
Reading emulated toc info from overwriteable media, new API isoburn_toc_*()
|
||||||
|
|
||||||
|
2008.05.07.175640 [1739]
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Making use of new isoburn_toc_* functions
|
||||||
|
|
||||||
|
2008.05.07.214343 [1740]
|
||||||
|
libisoburn/libisoburn.h
|
||||||
|
libisoburn/burn_wrap.c
|
||||||
|
New API function isoburn_read_iso_head()
|
||||||
|
|
||||||
|
2008.05.07.214442 [1741]
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
New format with -toc is more concise and shows volume id
|
||||||
|
|
||||||
|
2008.05.08.141054 [1742]
|
||||||
|
libisoburn/libisoburn.h
|
||||||
|
libisoburn/isoburn.h
|
||||||
|
libisoburn/burn_wrap.c
|
||||||
|
Try to read header chain from alleged -ROM media (e.g. DVD+RW in -ROM drive)
|
||||||
|
|
||||||
|
2008.05.08.141920 [1743]
|
||||||
|
xorriso/xorriso.h
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
New TOC layout with volume id and sbsector=, new option -rom_toc_scan
|
||||||
|
|
||||||
|
8 May 2008 [1744]
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
Mentioned new features
|
||||||
|
|
||||||
|
------------------------------------ cycle - xorriso-0.1.5 - 2008.05.08.141920
|
||||||
|
* Emulated TOC on overwriteable media
|
||||||
|
* New TOC layout with volume id and sbsector=
|
||||||
|
* New option -rom_toc_scan
|
||||||
|
|
||||||
|
|
||||||
|
2008.05.08.185350 [1745]
|
||||||
|
libisoburn/isoburn.h
|
||||||
|
libisoburn/isoburn.c
|
||||||
|
libisoburn/burn_wrap.c
|
||||||
|
Adjusted reply of isoburn_disc_get_msc1() to eventual -rom_toc_scan result
|
||||||
|
|
||||||
|
8 May 2008 [1746]
|
||||||
|
xorriso/xorriso.1
|
||||||
|
Updated man page examples
|
||||||
|
|
||||||
|
8 May 2008 [1747]
|
||||||
|
xorriso/xorriso.1
|
||||||
|
Updated man page examples
|
||||||
|
|
||||||
|
------------------------------------ cycle - xorriso-0.1.5 - 2008.05.08.205551
|
||||||
|
|
||||||
|
9 May 2008 [1751]
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
Updated details in web page
|
||||||
|
|
||||||
|
2008.05.09.205517 [1752]
|
||||||
|
libisoburn/isofs_wrap.c
|
||||||
|
Trying to better handle non ISO images on -indev
|
||||||
|
|
||||||
|
10 May 2008 [1761]
|
||||||
|
xorriso/configure_ac.txt
|
||||||
|
Adapted xorriso standalone production to new libburn cycle 0.4.7
|
||||||
|
|
||||||
|
10 May 2008 [1762]
|
||||||
|
xorriso/xorriso.1
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
Minor change in -update_r example
|
||||||
|
|
||||||
|
2008.05.10.194336 [1763]
|
||||||
|
xorriso/xorrisoburn.h
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.c
|
||||||
|
Better behavior of update_r with no image present
|
||||||
|
|
||||||
|
2008.05.12.080812 [1765]
|
||||||
|
configure.ac
|
||||||
|
libisoburn/libisoburn.h
|
||||||
|
Switched requirements to libburn-0.4.6
|
||||||
|
|
||||||
|
2008.05.12.081331 [1766]
|
||||||
|
libisoburn/libisoburn.h
|
||||||
|
libisoburn/burn_wrap.c
|
||||||
|
New API call isoburn_set_msc1()
|
||||||
|
|
||||||
|
2008.05.12.082733 [1767]
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
New option -load session|track|sbsector|volid
|
||||||
|
|
||||||
|
------------------------------------ cycle - xorriso-0.1.5 - 2008.05.12.082733
|
||||||
|
* New option -load session|track|sbsector|volid
|
||||||
|
* Now depending on libburn-0.4.6
|
||||||
|
|
||||||
|
|
||||||
|
2008.05.12.193341 [1768]
|
||||||
|
libisoburn/burn_wrap.c
|
||||||
|
Reacted on harmless compiler warning
|
||||||
|
|
||||||
|
2008.05.12.193642 [1769]
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.h
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
New -blank and -format modes as_needed
|
||||||
|
|
||||||
|
2008.05.13.115901 [1770]
|
||||||
|
xorriso/xorriso.h
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.h
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
New option -list_formats
|
||||||
|
|
||||||
|
2008.05.13.135251 [1771]
|
||||||
|
libisoburn/isoburn.h
|
||||||
|
libisoburn/isoburn.c
|
||||||
|
libisoburn/isofs_wrap.c
|
||||||
|
libisoburn/burn_wrap.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
Corrected strange behavior with non-ISO images on overwriteable media
|
||||||
|
|
||||||
|
2008.05.13.153837 [1772]
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Prepared Xorriso_get_profile() for potential call without flag bit1
|
||||||
|
|
||||||
|
2008.05.13.180624 [1773]
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Handled -list_format with non MMC drives
|
||||||
|
|
||||||
|
2008.05.13.180912 [1774]
|
||||||
|
xorriso/xorriso.h
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
Eat up leading dashes with command options, convert inner dashes to underscores
|
||||||
|
|
||||||
|
------------------------------------ cycle - xorriso-0.1.5 - 2008.05.13.180912
|
||||||
|
* New -blank and -format modes as_needed
|
||||||
|
* New option -list_formats
|
||||||
|
|
||||||
|
2008.05.14.114548 [1775]
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
New -format types by_index and fast_by_index
|
||||||
|
|
||||||
|
2008.05.14.173201 [1779]
|
||||||
|
configure.ac
|
||||||
|
libisoburn/libisoburn.h
|
||||||
|
Required libburn version is now 0.4.7 (because of DVD-RAM BD-RE bug fix)
|
||||||
|
|
||||||
|
2008.05.14.173430 [1780]
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Automatic fast format on attempt to write to unformatted DVD-RAM or BD-RE
|
||||||
|
|
||||||
|
2008.05.14.174846 [1781]
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
Uploaded forgotten enhancements
|
||||||
|
|
||||||
|
2008.05.15.092028 [1783]
|
||||||
|
xorriso/xorriso.c
|
||||||
|
Enabled a pacifier for compare_r
|
||||||
|
|
||||||
|
2008.05.15.150041 [1784]
|
||||||
|
xorriso/xorriso.h
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
New options -map and -map_single
|
||||||
|
|
||||||
|
2008.05.15.192118 [1785]
|
||||||
|
xorriso/xorriso.c
|
||||||
|
Bug fix: -update_r and others did not work properly with relative paths
|
||||||
|
|
||||||
------------------------------------ cycle - xorriso-0.1.5 -
|
------------------------------------ cycle - xorriso-0.1.5 -
|
||||||
------------------------------------ cycle - xorriso-0.1.5 -
|
* New options -map and -map_single
|
||||||
|
* Bug fix: -update_r and others did not work properly with relative paths
|
||||||
|
|
||||||
|
|
||||||
|
2008.05.17.162753 [1794]
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Corrected ugly message with -update_r and root directory
|
||||||
|
|
||||||
|
2008.05.17.170001 [1796]
|
||||||
|
configure.ac
|
||||||
|
README
|
||||||
|
libisoburn/libisoburn.h
|
||||||
|
xorriso/README
|
||||||
|
xorriso/xorriso_timestamp.h
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
xorriso/xorrisoburn.h
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
xorriso/make_xorriso_standalone.sh
|
||||||
|
xorriso/configure_ac.txt
|
||||||
|
Version leap to 0.1.6, requiring libburn-0.4.8 now
|
||||||
|
|
||||||
|
2008.05.18.070001 [1797]
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Bug fix: -findi operated on nodes which ceased existence shortly before
|
||||||
|
|
||||||
|
18 May 2008 [1799]
|
||||||
|
xorriso/changelog.txt
|
||||||
|
Documented changes and release timestamp
|
||||||
|
|
||||||
|
---------------------------------- release - xorriso-0.1.6 - 2008.05.18.070001
|
||||||
|
* New option -error_behavior with a first occasion 'image_loading'
|
||||||
|
* New options -not_paths, -not_leaf, -not_list, -not_mgt, -as mkisofs -m
|
||||||
|
* Emulated TOC on overwriteable media
|
||||||
|
* New TOC layout with volume id and sbsector=
|
||||||
|
* New option -rom_toc_scan
|
||||||
|
* New option -load session|track|sbsector|volid
|
||||||
|
* Now depending on libburn-0.4.8
|
||||||
|
* New -blank and -format modes as_needed
|
||||||
|
* New option -list_formats
|
||||||
|
* New options -map and -map_single
|
||||||
|
* Bug fix: -update_r and others did not work properly with relative paths
|
||||||
|
* Bug fix: -findi operated on nodes which ceased existence shortly before
|
||||||
|
|
||||||
|
|
||||||
|
2008.05.18.082208 [1798]
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Bug fix: -findi operated on nodes which ceased existence shortly before
|
||||||
|
|
||||||
|
2008.05.18.084729 [1800]
|
||||||
|
configure.ac
|
||||||
|
README
|
||||||
|
libisoburn/libisoburn.h
|
||||||
|
xorriso/README
|
||||||
|
xorriso/xorriso_timestamp.h
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
xorriso/xorrisoburn.h
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
xorriso/make_xorriso_standalone.sh
|
||||||
|
xorriso/configure_ac.txt
|
||||||
|
xorriso/changelog.txt
|
||||||
|
Version leap to 0.1.7, requiring libburn-0.4.8 now
|
||||||
|
|
||||||
|
------------------------------------ cycle - xorriso-0.1.7 - 2008.05.18.084729
|
||||||
|
|
||||||
|
2008.05.20.075142 [1804]
|
||||||
|
xorriso/xorriso.c
|
||||||
|
Making Xorriso_prescan_args() safe against misunderstandings
|
||||||
|
|
||||||
|
2008.05.22.192618 [1808]
|
||||||
|
xorriso/xorriso.h
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.h
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
First experiments of osirrox ISO-to-disk copying
|
||||||
|
|
||||||
|
2008.05.22.192737 [1809]
|
||||||
|
libisoburn/data_source.c
|
||||||
|
Removed outdated code branch
|
||||||
|
|
||||||
|
2008.05.22.210835 [1810]
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
New options -osirrox and -cpx
|
||||||
|
|
||||||
|
2008.05.24.092546 [1812]
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
Enabled osirrox of more file types, curbed with device files
|
||||||
|
|
||||||
|
2008.05.24.092853 [1813]
|
||||||
|
libisoburn/isoburn.c
|
||||||
|
Bug fix: modifying to overwriteable target yielded unmountable results
|
||||||
|
|
||||||
|
------------------------------------ cycle - xorriso-0.1.7 - 2008.05.24.092853
|
||||||
|
* Bug fix: Modifying to overwriteable target yielded unmountable results
|
||||||
|
* New options -osirrox and -cpx
|
||||||
|
|
||||||
|
|
||||||
|
2008.05.24.170109 [1814]
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Some polishing with -cpx
|
||||||
|
|
||||||
|
26 May 2008 [1815]
|
||||||
|
xorriso/configure_ac.txt
|
||||||
|
standalone version switch to libisofs-0.6.5
|
||||||
|
|
||||||
|
2008.05.26.181210 [1816]
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Improved access permission restauration by osirrox
|
||||||
|
|
||||||
|
2008.05.27.201513 [1817]
|
||||||
|
xorriso/xorriso.h
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
New option -stream_recording
|
||||||
|
|
||||||
|
2008.05.31.174045 [1819]
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
xorriso/xorriso.c
|
||||||
|
xorriso/xorrisoburn.h
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
xorriso/xorriso.1
|
||||||
|
Implemented concatenation of split files during -cpx
|
||||||
|
|
||||||
|
------------------------------------ cycle - xorriso-0.1.7 - 2008.05.31.174045
|
||||||
|
* New option -stream_recording
|
||||||
|
|
||||||
|
2008.06.01.134322 [1820]
|
||||||
|
xorriso/xorrisoburn.c
|
||||||
|
Reacted on harmless compiler warning
|
||||||
|
|
||||||
|
2008.06.01.145038 [1821]
|
||||||
|
xorriso/configure_ac.txt
|
||||||
|
standalone version switch to libisofs-0.6.6
|
||||||
|
|
||||||
|
2008.06.01.145155 [1822]
|
||||||
|
configure.ac
|
||||||
|
libisoburn/libisoburn.h
|
||||||
|
Switched requirements to libisofs-0.6.6
|
||||||
|
|
||||||
|
------------------------------------ cycle - xorriso-0.1.7 - 2008.06.01.145155
|
||||||
|
* Bug fix: major,minor numbers of device files appeared as 0,1 in next session
|
||||||
|
|
||||||
|
|
||||||
|
2008.06.02.070301 [1824]
|
||||||
|
configure.ac
|
||||||
|
README
|
||||||
|
libisoburn/libisoburn.h
|
||||||
|
xorriso/README
|
||||||
|
xorriso/xorriso_timestamp.h
|
||||||
|
xorriso/xorriso_private.h
|
||||||
|
xorriso/xorrisoburn.h
|
||||||
|
xorriso/xorriso_eng.html
|
||||||
|
xorriso/make_xorriso_standalone.sh
|
||||||
|
xorriso/configure_ac.txt
|
||||||
|
Version leap to 0.1.8
|
||||||
|
|
||||||
|
2 Jun 2008 []
|
||||||
|
xorriso/changelog.txt
|
||||||
|
Document changes and release timestamp
|
||||||
|
|
||||||
|
---------------------------------- release - xorriso-0.1.8 - 2008.06.02.070301
|
||||||
|
* Bug fix: Modifying to overwriteable target yielded unmountable results
|
||||||
|
* Bug fix: major,minor numbers of device files appeared as 0,1 in next session
|
||||||
|
* New option -stream_recording for full speed with DVD-RAM and BD-RE
|
||||||
|
* New options -osirrox and -cpx allow to extract single files from ISO image
|
||||||
|
|
||||||
|
------------------------------------ cycle - xorriso-0.1.9 -
|
||||||
|
------------------------------------ cycle - xorriso-0.1.9 -
|
||||||
|
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
@ -2366,25 +2757,14 @@ Mentioned new options
|
|||||||
|
|
||||||
------------------------------------------------- bugs
|
------------------------------------------------- bugs
|
||||||
|
|
||||||
- update_r with no media in drive issues messages about changes updated
|
|
||||||
|
|
||||||
------------------------------------------------- important
|
------------------------------------------------- important
|
||||||
|
|
||||||
- pacifier for -compare_r : try read pacifier without newline
|
|
||||||
|
|
||||||
------------------------------------------------- development
|
------------------------------------------------- development
|
||||||
|
|
||||||
- evaluate possibility of emulated session table on overwriteables
|
|
||||||
|
|
||||||
- option -map disk_path iso_rr_path for no-fuzz file mapping
|
|
||||||
|
|
||||||
- mkisofs,cdrecord multi session
|
- mkisofs,cdrecord multi session
|
||||||
|
|
||||||
- -restore
|
- -restore
|
||||||
??? -compare_l -update_l /disk_path_start iso_rr_path_start path[s] --
|
??? -compare_l -update_l /disk_path_start iso_rr_path_start path[s] --
|
||||||
??? backup area shaping with -yes -not for -compare_r and -update_r ?
|
|
||||||
|
|
||||||
- Make use of iso_tree_add_new_node() in Xorriso_tree_graft_node()
|
|
||||||
|
|
||||||
|
|
||||||
> Relative addressing and pattern matching :
|
> Relative addressing and pattern matching :
|
||||||
@ -2392,6 +2772,11 @@ Mentioned new options
|
|||||||
cd /u/FERTIG
|
cd /u/FERTIG
|
||||||
lsd nonexist/..
|
lsd nonexist/..
|
||||||
|
|
||||||
|
- perform any long lasting operation in separate threads while
|
||||||
|
the main thread cares for user and message queues.
|
||||||
|
|
||||||
|
- Introduce an interrupt key for dialog
|
||||||
|
|
||||||
- regularly do valgrind check for memory leaks
|
- regularly do valgrind check for memory leaks
|
||||||
|
|
||||||
- ??? http://scan.coverity.com/faq.html
|
- ??? http://scan.coverity.com/faq.html
|
||||||
@ -2410,13 +2795,33 @@ Mentioned new options
|
|||||||
|
|
||||||
> Make transactional the tree deletions meant for replacing
|
> Make transactional the tree deletions meant for replacing
|
||||||
|
|
||||||
- Introduce an interrupt key for dialog
|
|
||||||
|
|
||||||
-------------------------------------------- jump to libburn 0.4.4
|
------------------------------------------------- libisofs wishes
|
||||||
|
|
||||||
- make use of burn_sev_to_text() in libisoburn and xorriso
|
------ problem fixes :
|
||||||
|
|
||||||
- If iso_msgs_submit() : use it in isoburn_report_iso_error()
|
- Error code for libisoburn data source read errors.
|
||||||
|
|
||||||
|
- #define ISO_ERR_PRIO(e) ((e & 0x00700000) << 8)
|
||||||
|
(rather than 0x00F00000, see ticket 135)
|
||||||
|
|
||||||
|
------ feature enhancements :
|
||||||
|
|
||||||
|
- Data files >= 4 GiB.
|
||||||
|
|
||||||
|
- A repeatable shell command as origin ("disk_file")
|
||||||
|
of a regular file in the ISO image.
|
||||||
|
|
||||||
|
- Image checksum tag in the last data blocks of an image.
|
||||||
|
A data file entry should point to that block.
|
||||||
|
|
||||||
|
------ extended attribute stunts: Not visible for mount but for libisofs
|
||||||
|
|
||||||
|
- file checksums
|
||||||
|
|
||||||
|
- ACLs
|
||||||
|
|
||||||
|
- man attr(5) extended attributes
|
||||||
|
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
AC_INIT([xorriso], [0.1.5], [http://libburnia-project.org])
|
AC_INIT([xorriso], [0.1.8], [http://libburnia-project.org])
|
||||||
AC_PREREQ([2.50])
|
AC_PREREQ([2.50])
|
||||||
dnl AC_CONFIG_HEADER([config.h])
|
dnl AC_CONFIG_HEADER([config.h])
|
||||||
|
|
||||||
@ -9,14 +9,14 @@ AM_INIT_AUTOMAKE([subdir-objects])
|
|||||||
|
|
||||||
BURN_MAJOR_VERSION=0
|
BURN_MAJOR_VERSION=0
|
||||||
BURN_MINOR_VERSION=4
|
BURN_MINOR_VERSION=4
|
||||||
BURN_MICRO_VERSION=7
|
BURN_MICRO_VERSION=9
|
||||||
AC_SUBST(BURN_MAJOR_VERSION)
|
AC_SUBST(BURN_MAJOR_VERSION)
|
||||||
AC_SUBST(BURN_MINOR_VERSION)
|
AC_SUBST(BURN_MINOR_VERSION)
|
||||||
AC_SUBST(BURN_MICRO_VERSION)
|
AC_SUBST(BURN_MICRO_VERSION)
|
||||||
|
|
||||||
LIBISOFS_MAJOR_VERSION=0
|
LIBISOFS_MAJOR_VERSION=0
|
||||||
LIBISOFS_MINOR_VERSION=6
|
LIBISOFS_MINOR_VERSION=6
|
||||||
LIBISOFS_MICRO_VERSION=4
|
LIBISOFS_MICRO_VERSION=6
|
||||||
AC_SUBST(LIBISOFS_MAJOR_VERSION)
|
AC_SUBST(LIBISOFS_MAJOR_VERSION)
|
||||||
AC_SUBST(LIBISOFS_MINOR_VERSION)
|
AC_SUBST(LIBISOFS_MINOR_VERSION)
|
||||||
AC_SUBST(LIBISOFS_MICRO_VERSION)
|
AC_SUBST(LIBISOFS_MICRO_VERSION)
|
||||||
|
@ -25,11 +25,11 @@
|
|||||||
current_dir=$(pwd)
|
current_dir=$(pwd)
|
||||||
lone_dir="$current_dir"/"xorriso-standalone"
|
lone_dir="$current_dir"/"xorriso-standalone"
|
||||||
|
|
||||||
xorriso_rev=0.1.5
|
xorriso_rev=0.1.8
|
||||||
# For unstable uploads:
|
# For unstable uploads:
|
||||||
xorriso_pl=""
|
# xorriso_pl=""
|
||||||
# For stable releases:
|
# For stable releases:
|
||||||
# xorriso_pl=".pl00"
|
xorriso_pl=".pl00"
|
||||||
|
|
||||||
with_bootstrap_tarball=1
|
with_bootstrap_tarball=1
|
||||||
|
|
||||||
|
@ -1202,8 +1202,15 @@ MMC drives usually activate their own idea of speed and take
|
|||||||
the speed value given by the burn program only as upper limit
|
the speed value given by the burn program only as upper limit
|
||||||
for their own decision.
|
for their own decision.
|
||||||
.TP
|
.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
|
||||||
|
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.
|
||||||
|
.TP
|
||||||
\fB\-dummy\fR "on"|"off"
|
\fB\-dummy\fR "on"|"off"
|
||||||
If "on" simulate burning or refuse with FAILURE event if
|
If "on" then simulate burning or refuse with FAILURE event if
|
||||||
no simulation is possible, do neither blank nor format.
|
no simulation is possible, do neither blank nor format.
|
||||||
.TP
|
.TP
|
||||||
\fB-fs\fR number["k"|"m"]
|
\fB-fs\fR number["k"|"m"]
|
||||||
@ -1589,6 +1596,48 @@ Like -compare but working recursively. I.e. all file objects below both
|
|||||||
addresses get compared whether they have counterparts below the other address
|
addresses get compared whether they have counterparts below the other address
|
||||||
and whether both counterparts match.
|
and whether both counterparts match.
|
||||||
.TP
|
.TP
|
||||||
|
.B osirrox restore options:
|
||||||
|
.PP
|
||||||
|
Normally xorriso only writes to disk files which were given as stdio:
|
||||||
|
pseudo-drives or as log files.
|
||||||
|
But its alter ego, osirrox, is able to extract file objects
|
||||||
|
from ISO images and to create, overwrite, or delete file objects on disk.
|
||||||
|
.TP
|
||||||
|
\fB\-osirrox\fR ["on"|"device_files"|"off"][:"concat_split_on"|"concat_split_off"]
|
||||||
|
Setting "off" disables disk filesystem manipulations. This is the default
|
||||||
|
unless the program was started with leafname "osirrox". Elsewise
|
||||||
|
the capability to restore files can be enabled explicitly by -osirrox "on".
|
||||||
|
.br
|
||||||
|
To enable restoring of special files by "device_files" is potentially
|
||||||
|
dangerous.
|
||||||
|
The meaning of the number st_rdev (see man 2 stat) depends much on the
|
||||||
|
operating system. Best is to restore device files only to the same system
|
||||||
|
from where they were copied. If not enabled, device files in the ISO image
|
||||||
|
are ignored during restore operations.
|
||||||
|
.br
|
||||||
|
Due to a bug of previous versions, device files from previous sessions might
|
||||||
|
have been altered to major=0, minor=1. So this combination does not get
|
||||||
|
restored.
|
||||||
|
.br
|
||||||
|
"concat_split_on" is default. It enables restoring of split file directories
|
||||||
|
as data files if the directory contains a complete collection of -cut_out
|
||||||
|
part files. With "concat_split_off" such directories are handled as any
|
||||||
|
other ISO image directory.
|
||||||
|
.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
|
||||||
|
disk_path must be a directory or non-existent. In the latter case it gets
|
||||||
|
created. The extracted files get installed in it with the same leafnames.
|
||||||
|
.br
|
||||||
|
Missing directory components in disk_path will get created, if possible.
|
||||||
|
Disk file exclusions are in effect. If this is undesired then perform
|
||||||
|
-not_mgt "off" first.
|
||||||
|
.br
|
||||||
|
Directories are allowed as iso_rr_path only with -osirrox "concat_split_on"
|
||||||
|
and only if they actually represent a complete collection of -cut_out split
|
||||||
|
file parts.
|
||||||
|
.TP
|
||||||
.B Command compatibility emulations:
|
.B Command compatibility emulations:
|
||||||
.PP
|
.PP
|
||||||
Writing of ISO 9660 on CD is traditionally done by program mkisofs
|
Writing of ISO 9660 on CD is traditionally done by program mkisofs
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -233,6 +233,10 @@ int Xorriso_option_compare(struct XorrisO *xorriso, char *disk_path,
|
|||||||
int Xorriso_option_cpri( struct XorrisO *xorriso, int argc, char **argv,
|
int Xorriso_option_cpri( struct XorrisO *xorriso, int argc, char **argv,
|
||||||
int *idx, int flag);
|
int *idx, int flag);
|
||||||
|
|
||||||
|
/* Option -cpx */
|
||||||
|
int Xorriso_option_cpx(struct XorrisO *xorriso, int argc, char **argv,
|
||||||
|
int *idx, int flag);
|
||||||
|
|
||||||
/* Option -cut_out */
|
/* Option -cut_out */
|
||||||
int Xorriso_option_cut_out(struct XorrisO *xorriso, char *disk_path,
|
int Xorriso_option_cut_out(struct XorrisO *xorriso, char *disk_path,
|
||||||
char *start, char *count, char *iso_rr_path, int flag);
|
char *start, char *count, char *iso_rr_path, int flag);
|
||||||
@ -372,6 +376,9 @@ int Xorriso_option_not_paths(struct XorrisO *xorriso, int argc, char **argv,
|
|||||||
int Xorriso_option_options_from_file(struct XorrisO *xorriso, char *adr,
|
int Xorriso_option_options_from_file(struct XorrisO *xorriso, char *adr,
|
||||||
int flag);
|
int flag);
|
||||||
|
|
||||||
|
/* Option -osirrox "on"|"off" */
|
||||||
|
int Xorriso_option_osirrox(struct XorrisO *xorriso, char *mode, int flag);
|
||||||
|
|
||||||
/* Option -overwrite "on"|"nondir"|"off" */
|
/* Option -overwrite "on"|"nondir"|"off" */
|
||||||
int Xorriso_option_overwrite(struct XorrisO *xorriso, char *mode, int flag);
|
int Xorriso_option_overwrite(struct XorrisO *xorriso, char *mode, int flag);
|
||||||
|
|
||||||
@ -458,6 +465,10 @@ int Xorriso_option_status(struct XorrisO *xorriso, char *mode, int flag);
|
|||||||
int Xorriso_option_status_history_max(struct XorrisO *xorriso, int num1,
|
int Xorriso_option_status_history_max(struct XorrisO *xorriso, int num1,
|
||||||
int flag);
|
int flag);
|
||||||
|
|
||||||
|
/* Option -stream_recording */
|
||||||
|
int Xorriso_option_stream_recording(struct XorrisO *xorriso, char *mode,
|
||||||
|
int flag);
|
||||||
|
|
||||||
/* Option -tell_media_space */
|
/* Option -tell_media_space */
|
||||||
int Xorriso_option_tell_media_space(struct XorrisO *xorriso, int flag);
|
int Xorriso_option_tell_media_space(struct XorrisO *xorriso, int flag);
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<META NAME="description" CONTENT="xorriso, creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions">
|
<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, scdbackup">
|
<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="robots" CONTENT="follow">
|
<META NAME="robots" CONTENT="follow">
|
||||||
<TITLE>xorriso homepage english</TITLE>
|
<TITLE>xorriso homepage english</TITLE>
|
||||||
</HEAD>
|
</HEAD>
|
||||||
@ -33,10 +33,10 @@ optical media or to filesystem objects.
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H2>Hardware requirements:</H2>
|
<H2>Hardware requirements:</H2>
|
||||||
A CD/DVD recorder suitable for
|
A CD/DVD/BD recorder suitable for
|
||||||
<A HREF="http://libburnia-project.org">http://libburnia-project.org</A> <BR>
|
<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
|
(SCSI , ATA , USB , or SATA writers compliant to standard MMC-3 for CD
|
||||||
and to MMC-5 for DVD).
|
and to MMC-5 for DVD or BD).
|
||||||
<BR>
|
<BR>
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
@ -58,14 +58,14 @@ and to MMC-5 for DVD).
|
|||||||
GPL software included:<BR>
|
GPL software included:<BR>
|
||||||
</H2>
|
</H2>
|
||||||
<DL>
|
<DL>
|
||||||
<DT>libburn-0.4.5</DT>
|
<DT>libburn-0.4.9</DT>
|
||||||
<DD>reads and writes data from and to CD and DVD.</DD>
|
<DD>reads and writes data from and to CD, DVD, BD-RE.</DD>
|
||||||
<DD>(founded by Derek Foreman and Ben Jansens,
|
<DD>(founded by Derek Foreman and Ben Jansens,
|
||||||
furthered since August 2006 by team of libburnia-project.org)</DD>
|
furthered since August 2006 by team of libburnia-project.org)</DD>
|
||||||
<DT>libisofs-0.6.4</DT>
|
<DT>libisofs-0.6.6</DT>
|
||||||
<DD>operates ISO 9660 images.</DD>
|
<DD>operates ISO 9660 images.</DD>
|
||||||
<DD>(By Vreixo Formoso and Mario Danic from team of libburnia-project.org)</DD>
|
<DD>(By Vreixo Formoso and Mario Danic from team of libburnia-project.org)</DD>
|
||||||
<DT>libisoburn-0.1.4</DT>
|
<DT>libisoburn-0.1.8</DT>
|
||||||
<DD>coordinates libburn and libisofs, emulates multi-session where needed.</DD>
|
<DD>coordinates libburn and libisofs, emulates multi-session where needed.</DD>
|
||||||
<DD>(By Vreixo Formoso and Thomas Schmitt
|
<DD>(By Vreixo Formoso and Thomas Schmitt
|
||||||
from team of libburnia-project.org)</DD>
|
from team of libburnia-project.org)</DD>
|
||||||
@ -86,7 +86,7 @@ For ports to other usable systems <A HREF="#contact">contact us</A>.
|
|||||||
<H2>Special features:</H2>
|
<H2>Special features:</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI>
|
<LI>
|
||||||
ISO 9660 formatter and burner for CD or DVD are fixely integrated.
|
ISO 9660 formatter and burner for CD, DVD, BD-RE are fixely integrated.
|
||||||
</LI>
|
</LI>
|
||||||
<LI>
|
<LI>
|
||||||
Operates on an existing ISO image or creates a new one.
|
Operates on an existing ISO image or creates a new one.
|
||||||
@ -112,10 +112,14 @@ Can write result as add-on session to appendable multi-session media,
|
|||||||
to overwriteable media, to regular files, and to block devices.
|
to overwriteable media, to regular files, and to block devices.
|
||||||
</LI>
|
</LI>
|
||||||
<LI>
|
<LI>
|
||||||
Scans for optical drives, blanks re-useable optical media.
|
Can copy single files from ISO image to disk filesystem.
|
||||||
</LI>
|
</LI>
|
||||||
<LI>
|
<LI>
|
||||||
Suitable for: CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R/DL, DVD+RW, DVD-RAM.
|
Scans for optical drives, blanks re-useable optical media, formats media.
|
||||||
|
</LI>
|
||||||
|
<LI>
|
||||||
|
Suitable for:
|
||||||
|
CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R DL, DVD+RW, DVD-RAM, BD-RE.
|
||||||
</LI>
|
</LI>
|
||||||
<LI>
|
<LI>
|
||||||
Reads its instructions from command line arguments, dialog, and batch files.
|
Reads its instructions from command line arguments, dialog, and batch files.
|
||||||
@ -151,8 +155,9 @@ may accept pathspecs of form target=source as known from program mkisofs.</DT>
|
|||||||
<DT>Get info about a particular drive and loaded media:</DT>
|
<DT>Get info about a particular drive and loaded media:</DT>
|
||||||
<DD>$<KBD> xorriso -indev /dev/sr0 -du / -- -toc 2>&1 | less</KBD></DD>
|
<DD>$<KBD> xorriso -indev /dev/sr0 -du / -- -toc 2>&1 | less</KBD></DD>
|
||||||
|
|
||||||
<DT>Make re-usable media writable again, delete any ISO 9660 image:</DT>
|
<DT>Make re-usable media writable again, delete any ISO 9660 image,
|
||||||
<DD>$<KBD> xorriso -outdev /dev/sr0 -blank fast -eject all</KBD></DD>
|
eventually prepare yet unused BD-RE:</DT>
|
||||||
|
<DD>$<KBD> xorriso -outdev /dev/sr0 -blank as_needed -eject all</KBD></DD>
|
||||||
|
|
||||||
<DT>
|
<DT>
|
||||||
<HR>
|
<HR>
|
||||||
@ -174,17 +179,17 @@ adjust permissions to make it publicly read-only,
|
|||||||
write it to media and immediately eject media without
|
write it to media and immediately eject media without
|
||||||
previously reloading the written image.
|
previously reloading the written image.
|
||||||
</DT>
|
</DT>
|
||||||
<DD>$<KBD> xorriso -outdev /dev/sr0 -blank fast -pathspecs on \</KBD></DD>
|
<DD>$<KBD> cd /home/me</KBD></DD>
|
||||||
<DD><KBD> -add /sounds=/home/me/sounds \</KBD></DD>
|
<DD>$<KBD> xorriso -outdev /dev/sr0 -blank as_needed \</KBD></DD>
|
||||||
<DD><KBD>
|
<DD><KBD> -map /home/me/sounds /sounds \</KBD></DD>
|
||||||
/pictures=/home/me/pictures -- \</KBD></DD>
|
<DD><KBD> -map /home/me/pictures /pictures \</KBD></DD>
|
||||||
<DD><KBD> -rm_r /sounds/indecent '/pictures/*private*' -- \</KBD></DD>
|
<DD><KBD> -rm_r /sounds/indecent '/pictures/*private*' -- \</KBD></DD>
|
||||||
<DD><KBD> -add /pictures/private/horses=/home/me/pictures/private/horses -- \</KBD></DD>
|
<DD><KBD> -cd / \</KBD></DD>
|
||||||
|
<DD><KBD> -add pictures/private/horses* -- \</KBD></DD>
|
||||||
<DD><KBD> -chmod_r a+r,a-w / -- \</KBD></DD>
|
<DD><KBD> -chmod_r a+r,a-w / -- \</KBD></DD>
|
||||||
<DD><KBD> -find / -type d -exec chmod a+x -- \</KBD></DD>
|
<DD><KBD> -find / -type d -exec chmod a+x -- \</KBD></DD>
|
||||||
<DD><KBD> -volid SOUNDS_PICS_2008_01_16 \</KBD></DD>
|
<DD><KBD> -volid SOUNDS_PICS_2008_01_16 \</KBD></DD>
|
||||||
<DD><KBD> -commit_eject all</KBD></DD>
|
<DD><KBD> -commit_eject all</KBD></DD>
|
||||||
|
|
||||||
<DT>
|
<DT>
|
||||||
<HR>
|
<HR>
|
||||||
</DT>
|
</DT>
|
||||||
@ -195,15 +200,14 @@ rename /pictures/private/horses,
|
|||||||
add new directory trees /sounds and /movies,
|
add new directory trees /sounds and /movies,
|
||||||
disallow any access for group and others.
|
disallow any access for group and others.
|
||||||
Finally write as additional session to media and eject:</DT>
|
Finally write as additional session to media and eject:</DT>
|
||||||
<DD>$<KBD> xorriso -dev /dev/sr0 -pathspecs on \</KBD></DD>
|
<DD>$<KBD> xorriso -dev /dev/sr0 \</KBD></DD>
|
||||||
<DD><KBD> -rm_r /sounds -- \</KBD></DD>
|
<DD><KBD> -rm_r /sounds -- \</KBD></DD>
|
||||||
<DD><KBD> -mv /pictures/private/horses /horse_show -- \</KBD></DD>
|
<DD><KBD> -mv /pictures/private/horses /horse_show -- \</KBD></DD>
|
||||||
<DD><KBD> -add /sounds=/home/me/prepared_for_dvd/sounds_dummy \</KBD></DD>
|
<DD><KBD> -map /home/me/prepared_for_dvd/sounds_dummy /sounds \</KBD></DD>
|
||||||
<DD><KBD> /movies=/home/me/prepared_for_dvd/movies -- \</KBD></DD>
|
<DD><KBD> -map /home/me/prepared_for_dvd/movies /movies \</KBD></DD>
|
||||||
<DD><KBD> -chmod_r go-rwx / -- \</KBD></DD>
|
<DD><KBD> -chmod_r go-rwx / -- \</KBD></DD>
|
||||||
<DD><KBD> -volid SOUNDS_PICS_2008_01_17 \</KBD></DD>
|
<DD><KBD> -volid SOUNDS_PICS_2008_01_17 \</KBD></DD>
|
||||||
<DD><KBD> -commit_eject all</KBD></DD>
|
<DD><KBD> -commit_eject all</KBD></DD>
|
||||||
|
|
||||||
<DT>
|
<DT>
|
||||||
<HR>
|
<HR>
|
||||||
</DT>
|
</DT>
|
||||||
@ -230,9 +234,11 @@ run. It will write eventually pending changes to media, if that has not
|
|||||||
already been done by a previous -commit.</DT>
|
already been done by a previous -commit.</DT>
|
||||||
<DD>$<KBD> xorriso -dialog on</KBD></DD>
|
<DD>$<KBD> xorriso -dialog on</KBD></DD>
|
||||||
<DD><KBD>enter option and arguments :</KBD></DD>
|
<DD><KBD>enter option and arguments :</KBD></DD>
|
||||||
<DD><KBD><B>-dev /dev/sr0 -pathspecs on</B></KBD></DD>
|
<DD><KBD><B>-dev /dev/sr0</B></KBD></DD>
|
||||||
<DD><KBD>enter option and arguments :</KBD></DD>
|
<DD><KBD>enter option and arguments :</KBD></DD>
|
||||||
<DD><KBD><B>-add /sounds=/home/me/prepared_for_dvd/sounds_dummy /movies=/home/me/prepared_for_dvd/movies</B></KBD></DD>
|
<DD><KBD><B>-map /home/me/prepared_for_dvd/sounds_dummy /sounds</B></KBD></DD>
|
||||||
|
<DD><KBD>enter option and arguments :</KBD></DD>
|
||||||
|
<DD><KBD><B>-map /home/me/prepared_for_dvd/movies /movies</B></KBD></DD>
|
||||||
<DD>Available navigation commands: -cd, -ls, -du, -find</DD>
|
<DD>Available navigation commands: -cd, -ls, -du, -find</DD>
|
||||||
<DD><KBD>enter option and arguments :</KBD></DD>
|
<DD><KBD>enter option and arguments :</KBD></DD>
|
||||||
<DD><KBD><B>-commit</B></KBD></DD>
|
<DD><KBD><B>-commit</B></KBD></DD>
|
||||||
@ -244,27 +250,20 @@ already been done by a previous -commit.</DT>
|
|||||||
<HR>
|
<HR>
|
||||||
</DT>
|
</DT>
|
||||||
|
|
||||||
<DT>The following command can be run on blank media to create a complete
|
<DT>The following command can be run on blank media to create a
|
||||||
copy of the mentioned disk directory trees, and it can be run on appendable
|
copy of the mentioned disk directory trees, and it can be run on appendable
|
||||||
media to perform a minimal set of change operations which update the
|
media to perform a minimal set of change operations which update the
|
||||||
old ISO copies to match the new disk trees. Older states can be retrieved
|
old ISO copies to match the new disk trees.
|
||||||
by help of mount option "session=" from CD-R[W], by help of "sbsector="
|
|
||||||
from DVD-R[W] and DVD+R.
|
|
||||||
So this constitutes true incremental backup.
|
|
||||||
On overwriteable media only the newest state is accessible.
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Older states can be retrieved by help of mount option "session=" from CD-R[W],
|
Older states can be retrieved by help of mount option "session=" from CD-R[W],
|
||||||
by help of "sbsector=" from other media.
|
by help of "sbsector=" from other media.
|
||||||
So this constitutes true incremental backup.
|
So this constitutes true incremental backup.
|
||||||
-->
|
<BR>
|
||||||
|
The copies will be complete, except all file names ending
|
||||||
|
with ".o" or ".swp" which are excluded by options -not_leaf.
|
||||||
</DT>
|
</DT>
|
||||||
<DD>$<KBD> xorriso -dev /dev/sr0 \</KBD></DD>
|
<DD>$<KBD> xorriso -dev /dev/sr0 \</KBD></DD>
|
||||||
<DD><KBD> -volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \</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> -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/open_source_projects /open_source_projects \</KBD></DD>
|
||||||
<DD><KBD> -update_r /home/thomas/personal_mail /personal_mail \</KBD></DD>
|
<DD><KBD> -update_r /home/thomas/personal_mail /personal_mail \</KBD></DD>
|
||||||
<DD><KBD> -commit -toc -eject all</KBD></DD>
|
<DD><KBD> -commit -toc -eject all</KBD></DD>
|
||||||
@ -282,6 +281,17 @@ output will be redirected to stderr in this case.</DT>
|
|||||||
<HR>
|
<HR>
|
||||||
</DT>
|
</DT>
|
||||||
|
|
||||||
|
<DT>Enable reverse operation of xorriso and copy some single files 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> /home/her/buttercup_dir \</KBD>
|
||||||
|
</DD>
|
||||||
|
|
||||||
|
<DT>
|
||||||
|
<HR>
|
||||||
|
</DT>
|
||||||
|
|
||||||
|
|
||||||
<DT>Get overview of the options:</DT>
|
<DT>Get overview of the options:</DT>
|
||||||
<DD>$<KBD> <A HREF="xorriso_help">xorriso -help</A></KBD></DD>
|
<DD>$<KBD> <A HREF="xorriso_help">xorriso -help</A></KBD></DD>
|
||||||
@ -291,7 +301,8 @@ output will be redirected to stderr in this case.</DT>
|
|||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
|
|
||||||
Testers wanted who are willing to risk some double layer DVD media.
|
Testers wanted who are willing to risk some double layer DVD media or
|
||||||
|
are interested in using BD-R media.
|
||||||
|
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
@ -300,8 +311,8 @@ Testers wanted who are willing to risk some double layer DVD media.
|
|||||||
<P>
|
<P>
|
||||||
<DL>
|
<DL>
|
||||||
<DT><H3>Download as source code (see README):</H3></DT>
|
<DT><H3>Download as source code (see README):</H3></DT>
|
||||||
<DD><A HREF="xorriso-0.1.4.pl00.tar.gz">xorriso-0.1.4.pl00.tar.gz</A>
|
<DD><A HREF="xorriso-0.1.8.pl00.tar.gz">xorriso-0.1.8.pl00.tar.gz</A>
|
||||||
(955 KB).
|
(990 KB).
|
||||||
</DD>
|
</DD>
|
||||||
</DL>
|
</DL>
|
||||||
</DD>
|
</DD>
|
||||||
@ -325,20 +336,18 @@ an <A HREF="http://www.opensource.org/">Open Source</A> approved license</DD>
|
|||||||
</P>
|
</P>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
Enhancements towards previous stable version xorriso-0.1.2.pl00:
|
Bug fixes towards xorriso-0.1.6.pl00:
|
||||||
<UL>
|
<UL>
|
||||||
<LI>Coordination of -cut_out, -compare and -update</LI>
|
<LI>-indev -outdev modifying to overwriteable target yielded unmountable results</LI>
|
||||||
<LI>New option -split_size, automated splitting of oversized files</LI>
|
<LI>Major,minor numbers of device files appeared as 0,1 in next session</LI>
|
||||||
<LI>Improved performance with reading directory trees</LI>
|
|
||||||
<LI>New option -session_log</LI>
|
|
||||||
<LI>Dynamically linkable with release version 0.6.4 of libisofs</LI>
|
|
||||||
</UL>
|
</UL>
|
||||||
Bug fixes towards xorriso-0.1.2.pl00:
|
</P>
|
||||||
|
<P>
|
||||||
|
Enhancements towards previous stable version xorriso-0.1.6.pl00:
|
||||||
<UL>
|
<UL>
|
||||||
<LI>-as mkisofs -no-pad was misspelled -nopad</LI>
|
<LI>New option -stream_recording for full speed with DVD-RAM and BD-RE</LI>
|
||||||
<LI>Implicite directory attribute copying with -cut_out was wrong</LI>
|
<LI>New options -osirrox and -cpx allow to extract single files from ISO image
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
@ -346,31 +355,26 @@ Bug fixes towards xorriso-0.1.2.pl00:
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
<DL>
|
<DL>
|
||||||
<DT><H3>Development snapshot, version 0.1.5 :</H3></DT>
|
<DT><H3>Development snapshot, version 0.1.9 :</H3></DT>
|
||||||
<DD>Bug fixes towards xorriso-0.1.4.pl00:
|
<DD>Bug fixes towards xorriso-0.1.8.pl00:
|
||||||
<UL>
|
<UL>
|
||||||
<LI>- none yet -</LI>
|
<LI>- none yet -</LI>
|
||||||
<!-- <LI>- none yet -</LI> -->
|
<!--
|
||||||
|
-->
|
||||||
</UL>
|
</UL>
|
||||||
</DD>
|
</DD>
|
||||||
<DD>Enhancements towards stable version 0.1.4.pl00:
|
<DD>Enhancements towards stable version 0.1.8.pl00:
|
||||||
<UL>
|
<UL>
|
||||||
<LI>Support for BD-RE</LI>
|
</LI>
|
||||||
<LI>New options -map and -map_single</LI>
|
<LI>- none yet -</LI>
|
||||||
<LI>New options -not_paths, -not_leaf, -not_list, -not_mgt, -as mkisofs -m</LI>
|
<!--
|
||||||
<LI>Emulated -toc on overwriteable media, new -toc layout with volume id</LI>
|
-->
|
||||||
<LI>New option -rom_toc_scan for read-only drive problems</LI>
|
|
||||||
<LI>New option -load makes alternative sessions accessible</LI>
|
|
||||||
<LI>New option -error_behavior with a first occasion 'image_loading'</LI>
|
|
||||||
<LI>New -blank and -format option 'as_needed'</LI>
|
|
||||||
<LI>New option -list_formats</LI>
|
|
||||||
<!-- <LI>- none yet -</LI> -->
|
|
||||||
</UL>
|
</UL>
|
||||||
</DD>
|
</DD>
|
||||||
<DD> </DD>
|
<DD> </DD>
|
||||||
<DD><A HREF="README_xorriso_devel">README 0.1.5</A>
|
<DD><A HREF="README_xorriso_devel">README 0.1.9</A>
|
||||||
<DD><A HREF="xorriso_help_devel">xorriso_0.1.5 -help</A></DD>
|
<DD><A HREF="xorriso_help_devel">xorriso_0.1.9 -help</A></DD>
|
||||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.1.5)</A></DD>
|
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.1.9)</A></DD>
|
||||||
<DD> </DD>
|
<DD> </DD>
|
||||||
<DT>If you want to distribute development versions of xorriso, then use
|
<DT>If you want to distribute development versions of xorriso, then use
|
||||||
this tarball which produces static linking between xorriso and the
|
this tarball which produces static linking between xorriso and the
|
||||||
@ -380,8 +384,8 @@ libburnia libraries.
|
|||||||
installation see README)
|
installation see README)
|
||||||
</DD>
|
</DD>
|
||||||
<DD>
|
<DD>
|
||||||
<A HREF="xorriso-0.1.5.tar.gz">xorriso-0.1.5.tar.gz</A>
|
<A HREF="xorriso-0.1.9.tar.gz">xorriso-0.1.9.tar.gz</A>
|
||||||
(980 KB).
|
(990 KB).
|
||||||
</DD>
|
</DD>
|
||||||
<DT>A dynamically linked development version of xorriso can be obtained
|
<DT>A dynamically linked development version of xorriso can be obtained
|
||||||
from repositories of
|
from repositories of
|
||||||
@ -403,13 +407,12 @@ versions for dynamic linking. Only release versions are safe for that.
|
|||||||
</KBD></DD>
|
</KBD></DD>
|
||||||
<DD>Install: <KBD><B>cd libisoburn ; ./bootstrap ; ./configure --prefix /usr ; make ; make install</B>
|
<DD>Install: <KBD><B>cd libisoburn ; ./bootstrap ; ./configure --prefix /usr ; make ; make install</B>
|
||||||
</KBD></DD>
|
</KBD></DD>
|
||||||
<DD>Build of SVN versions needs <A HREF="http://sources.redhat.com/autobook/">
|
<DT>Build of SVN versions needs <A HREF="http://sources.redhat.com/autobook/">
|
||||||
autotools</A> of at least version 1.7 installed.
|
autotools</A> of at least version 1.7 installed.
|
||||||
But after the run of <KBD>./bootstrap</KBD>, only
|
But after the run of <KBD>./bootstrap</KBD>, only
|
||||||
vanilla tools like make and gcc are needed.</DD>
|
vanilla tools like make and gcc are needed.
|
||||||
</DD>
|
</DT>
|
||||||
<DD> </DD>
|
<DD> </DD>
|
||||||
|
|
||||||
</DL>
|
</DL>
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#ifndef Xorriso_private_includeD
|
#ifndef Xorriso_private_includeD
|
||||||
#define Xorriso_private_includeD yes
|
#define Xorriso_private_includeD yes
|
||||||
|
|
||||||
#define Xorriso_program_versioN "0.1.5"
|
#define Xorriso_program_versioN "0.1.8"
|
||||||
|
|
||||||
/** The source code release timestamp */
|
/** The source code release timestamp */
|
||||||
#include "xorriso_timestamp.h"
|
#include "xorriso_timestamp.h"
|
||||||
@ -45,8 +45,9 @@
|
|||||||
/* <<< ??? */
|
/* <<< ??? */
|
||||||
typedef int (*Cleanup_app_handler_T)();
|
typedef int (*Cleanup_app_handler_T)();
|
||||||
|
|
||||||
struct LinkiteM;
|
struct LinkiteM; /* Trace of hops during symbolic link resolution */
|
||||||
struct ExclusionS;
|
struct ExclusionS; /* List of -not_* conditions */
|
||||||
|
struct PermiteM; /* Stack of temporarily altered access permissions */
|
||||||
|
|
||||||
|
|
||||||
/* maximum number of history lines to be reported with -status:long_history */
|
/* maximum number of history lines to be reported with -status:long_history */
|
||||||
@ -150,6 +151,7 @@ struct XorrisO { /* the global context of xorriso */
|
|||||||
int speed; /* in libburn units : 1000 bytes/second , 0 = Max, -1 = Min */
|
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 fs; /* fifo size in 2048 byte chunks : at most 1 GB */
|
||||||
int padding; /* number of bytes to add after ISO 9660 image */
|
int padding; /* number of bytes to add after ISO 9660 image */
|
||||||
|
int do_stream_recording;
|
||||||
|
|
||||||
int keep_boot_image;
|
int keep_boot_image;
|
||||||
int patch_isolinux_image;
|
int patch_isolinux_image;
|
||||||
@ -158,6 +160,11 @@ struct XorrisO { /* the global context of xorriso */
|
|||||||
/* XORRISO options */
|
/* XORRISO options */
|
||||||
int allow_graft_points;
|
int allow_graft_points;
|
||||||
|
|
||||||
|
int allow_restore; /* 0= disallowed, 1=allowed, 2=device files allowed */
|
||||||
|
int do_concat_split; /* 1= restore complete split file directories as
|
||||||
|
regular files
|
||||||
|
*/
|
||||||
|
|
||||||
int dialog;
|
int dialog;
|
||||||
|
|
||||||
|
|
||||||
@ -257,6 +264,8 @@ struct XorrisO { /* the global context of xorriso */
|
|||||||
|
|
||||||
int find_compare_result; /* 1=everything matches , 0=mismatch , -1=error */
|
int find_compare_result; /* 1=everything matches , 0=mismatch , -1=error */
|
||||||
|
|
||||||
|
struct PermiteM *perm_stack; /* Temporarily altered dir access permissions */
|
||||||
|
|
||||||
/* result (stdout, R: ) */
|
/* result (stdout, R: ) */
|
||||||
char result_line[5*SfileadrL];
|
char result_line[5*SfileadrL];
|
||||||
int result_line_counter;
|
int result_line_counter;
|
||||||
@ -386,6 +395,28 @@ int Xorriso_update_interpreter(struct XorrisO *xorriso, void *boss_iter,
|
|||||||
|
|
||||||
int Xorriso_path_is_excluded(struct XorrisO *xorriso, char *path, int flag);
|
int Xorriso_path_is_excluded(struct XorrisO *xorriso, char *path, int flag);
|
||||||
|
|
||||||
|
/* @param flag bit0= long format
|
||||||
|
bit1= do not print count of nodes
|
||||||
|
bit2= du format
|
||||||
|
bit3= print directories as themselves (ls -d)
|
||||||
|
*/
|
||||||
|
int Xorriso_lsx_filev(struct XorrisO *xorriso, char *wd,
|
||||||
|
int filec, char **filev, off_t boss_mem, int flag);
|
||||||
|
|
||||||
|
/*
|
||||||
|
@param flag >>> bit0= remove whole sub tree: rm -r
|
||||||
|
bit1= remove empty directory: rmdir
|
||||||
|
bit2= recursion: do not reassure in mode 2 "tree"
|
||||||
|
bit3= this is for overwriting and not for plain removal
|
||||||
|
bit4= count deleted files in xorriso->pacifier_count
|
||||||
|
bit5= with bit0 only remove directory content, not the directory
|
||||||
|
@return <=0 = error
|
||||||
|
1 = removed leaf file object
|
||||||
|
2 = removed directory or tree
|
||||||
|
3 = did not remove on user revocation
|
||||||
|
*/
|
||||||
|
int Xorriso_rmx(struct XorrisO *xorriso, off_t boss_mem, char *path, int flag);
|
||||||
|
|
||||||
|
|
||||||
int Sfile_str(char target[SfileadrL], char *source, int flag);
|
int Sfile_str(char target[SfileadrL], char *source, int flag);
|
||||||
|
|
||||||
@ -403,6 +434,26 @@ int Sfile_destroy_argv(int *argc, char ***argv, int flag);
|
|||||||
*/
|
*/
|
||||||
int Sfile_count_components(char *path, int flag);
|
int Sfile_count_components(char *path, int flag);
|
||||||
|
|
||||||
|
/*
|
||||||
|
@param flag
|
||||||
|
bit0= return -1 if file is missing
|
||||||
|
bit1= return a hardlink with siblings as type 5
|
||||||
|
bit2= evaluate eventual link target rather than the link object itself
|
||||||
|
bit3= return a socket or a char device as types 7 or 8 rather than 0
|
||||||
|
@return
|
||||||
|
0=unknown
|
||||||
|
1=regular
|
||||||
|
2=directory
|
||||||
|
3=symbolic link
|
||||||
|
4=named pipe
|
||||||
|
5=multiple hardlink (with bit1)
|
||||||
|
6=block device
|
||||||
|
7=socket (with bit3)
|
||||||
|
8=character device (with bit3)
|
||||||
|
*/
|
||||||
|
int Sfile_type(char *filename, int flag);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char *Text_shellsafe(char *in_text, char *out_text, int flag);
|
char *Text_shellsafe(char *in_text, char *out_text, int flag);
|
||||||
|
|
||||||
@ -486,6 +537,42 @@ int Splitpart__parse(char *name, int *partno, int *total_parts,
|
|||||||
int Splitpart__compose(char *adr, int partno, int total_parts,
|
int Splitpart__compose(char *adr, int partno, int total_parts,
|
||||||
off_t offset, off_t bytes, off_t total_bytes, int flag);
|
off_t offset, off_t bytes, off_t total_bytes, int flag);
|
||||||
|
|
||||||
|
int Splitparts_sort(struct SplitparT *o, int count, int flag);
|
||||||
|
|
||||||
|
struct LstrinG {
|
||||||
|
char *text;
|
||||||
|
struct LstrinG *prev,*next;
|
||||||
|
};
|
||||||
|
|
||||||
|
int Lstring_destroy(struct LstrinG **lstring, int flag);
|
||||||
|
|
||||||
|
int Lstring_destroy_all(struct LstrinG **lstring, int flag);
|
||||||
|
|
||||||
|
/*
|
||||||
|
@param flag Bitfield for control purposes
|
||||||
|
bit0= insert before link rather than after it
|
||||||
|
bit1= do not copy data (e.g. because *data is invalid)
|
||||||
|
*/
|
||||||
|
int Lstring_new_binary(struct LstrinG **lstring, char *data, int data_len,
|
||||||
|
struct LstrinG *link, int flag);
|
||||||
|
|
||||||
|
/*
|
||||||
|
@param flag Bitfield for control purposes
|
||||||
|
bit0= insert before link rather than after it
|
||||||
|
*/
|
||||||
|
int Lstring_new(struct LstrinG **lstring, char *text, struct LstrinG *link,
|
||||||
|
int flag);
|
||||||
|
|
||||||
|
int Lstring_append_binary(struct LstrinG **entry, char *data, int data_len,
|
||||||
|
int flag);
|
||||||
|
|
||||||
|
|
||||||
|
int Permstack_push(struct PermiteM **o, char *disk_path, struct stat *stbuf,
|
||||||
|
int flag);
|
||||||
|
|
||||||
|
int Permstack_pop(struct PermiteM **o, struct PermiteM *stopper,
|
||||||
|
struct XorrisO *xorriso, int flag);
|
||||||
|
|
||||||
|
|
||||||
#endif /* Xorriso_private_includeD */
|
#endif /* Xorriso_private_includeD */
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2008.05.15.192118"
|
#define Xorriso_timestamP "2008.06.02.070301"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -21,7 +21,7 @@ struct FindjoB;
|
|||||||
*/
|
*/
|
||||||
#define xorriso_libisoburn_req_major 0
|
#define xorriso_libisoburn_req_major 0
|
||||||
#define xorriso_libisoburn_req_minor 1
|
#define xorriso_libisoburn_req_minor 1
|
||||||
#define xorriso_libisoburn_req_micro 5
|
#define xorriso_libisoburn_req_micro 8
|
||||||
|
|
||||||
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
|
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
|
||||||
|
|
||||||
@ -225,5 +225,26 @@ int Xorriso_identify_split(struct XorrisO *xorriso, char *iso_adr,
|
|||||||
struct SplitparT **parts, int *count,
|
struct SplitparT **parts, int *count,
|
||||||
struct stat *total_stbuf, int flag);
|
struct stat *total_stbuf, int flag);
|
||||||
|
|
||||||
|
/* @param flag bit0= node is valid, do not resolve path
|
||||||
|
bit1= insist in complete collection of part files
|
||||||
|
*/
|
||||||
|
int Xorriso_is_split(struct XorrisO *xorriso, char *path, void *node,
|
||||||
|
int flag);
|
||||||
|
|
||||||
|
|
||||||
|
/* @param flag
|
||||||
|
>>> bit0= mkdir: graft in as empty directory, not as copy from iso
|
||||||
|
bit1= do not report copied files
|
||||||
|
bit2= -follow, -not_*: this is not a command parameter
|
||||||
|
??? <<< bit3= use offset and cut_size for cut_out_node
|
||||||
|
bit4= return 3 on rejection by exclusion or user
|
||||||
|
bit5= if directory then do not add sub tree
|
||||||
|
bit6= this is a copy action: do not fake times and ownership
|
||||||
|
@return <=0 = error , 1 = added leaf file object , 2 = added directory ,
|
||||||
|
3 = rejected
|
||||||
|
*/
|
||||||
|
int Xorriso_restore(struct XorrisO *xorriso,
|
||||||
|
char *img_path, char *disk_path, int flag);
|
||||||
|
|
||||||
#endif /* Xorrisoburn_includeD */
|
#endif /* Xorrisoburn_includeD */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user