Compare commits

..

4 Commits

Author SHA1 Message Date
a21d632153 Tagged release of libisoburn 0.2.8 2008-10-15 13:20:58 +00:00
5eae306db2 Documented changes and release timestamp 2008-10-12 12:40:18 +00:00
8f10ec3032 Version leap to 0.2.8 2008-10-12 12:35:57 +00:00
1dac61c338 Preparing release 2008-10-12 08:50:20 +00:00
26 changed files with 910 additions and 8124 deletions

View File

@ -1,11 +1,11 @@
Mario Danic <mario.danic@gmail.com>,
Vreixo Formoso <metalpain2002@yahoo.es>
Thomas Schmitt <scdbackup@gmx.net>
libisoburn is Copyright (C) 2007-2009 Vreixo Formoso, Thomas Schmitt
xorriso is Copyright (C) 2007-2009 Thomas Schmitt
libisofs (if included) is Copyright (C) 2007-2009 Vreixo Formoso, Mario Danic
libisoburn is Copyright (C) 2007-2008 Vreixo Formoso, Thomas Schmitt
xorriso is Copyright (C) 2007-2008 Thomas Schmitt
libisofs (if included) is Copyright (C) 2007-2008 Vreixo Formoso, Mario Danic
libburn (if included) is Copyright (C) 2002-2006 Derek Foreman, Ben Jansens
and Copyright (C) 2006-2009 Mario Danic, Thomas Schmitt
and Copyright (C) 2006-2008 Mario Danic, Thomas Schmitt
This program is free software; you can redistribute it and/or modify

View File

@ -46,12 +46,8 @@ bin_PROGRAMS = \
# cat xorriso/xorriso_buildstamp.h
xorriso_xorriso_CPPFLAGS = -Ilibisoburn
xorriso_xorriso_CFLAGS = -DXorriso_with_maiN \
$(READLINE_DEF) $(LIBACL_DEF) $(XATTR_DEF)
xorriso_xorriso_LDADD = libisoburn/libisoburn.la -lisofs -lburn \
$(THREAD_LIBS) $(LIBBURN_ARCH_LIBS)
xorriso_xorriso_CFLAGS = -DXorriso_with_maiN -DXorriso_with_regeX $(READLINE_DEF)
xorriso_xorriso_LDADD = libisoburn/libisoburn.la -lisofs -lburn $(THREAD_LIBS)
xorriso_xorriso_SOURCES = \
xorriso/xorriso.h \
xorriso/xorriso_private.h \
@ -156,8 +152,6 @@ man_MANS = xorriso/xorriso.1
EXTRA_DIST = \
libisoburn-1.pc.in \
version.h.in \
doc/comments \
doc/doxygen.conf.in \
README \
AUTHORS \
CONTRIBUTORS \

21
README
View File

@ -4,8 +4,8 @@
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.3.4.pl00.tar.gz
Copyright (C) 2006-2009 Vreixo Formoso, Thomas Schmitt.
http://files.libburnia-project.org/releases/libisoburn-0.2.8.pl00.tar.gz
Copyright (C) 2006-2008 Vreixo Formoso, Thomas Schmitt.
Provided under GPL version 2.
------------------------------------------------------------------------------
@ -18,8 +18,7 @@ The price for that is thorough specialization on data files in ISO-9660
filesystem images. So libisoburn is not suitable for audio (CD-DA) or any
other CD layout which does not entirely consist of ISO-9660 sessions.
Currently it is supported on Linux with kernels >= 2.4 and on FreeBSD versions
with ATAPI/CAM support enabled in the kernel, see atapicam(4).
Currently it is only supported on Linux with kernels >= 2.4.
By using this software you agree to the disclaimer at the end of this text:
"... without even the implied warranty ..."
@ -27,18 +26,18 @@ By using this software you agree to the disclaimer at the end of this text:
Compilation, First Glimpse, Installation
Dynamic library and compile time header requirements for libisoburn-0.3.4 :
- libburn.so.4 , version libburn-0.6.0 or higher
- libisofs.so.6 , version libisofs-0.6.14 or higher
Dynamic library and compile time header requirements for libisoburn-0.2.8 :
- libburn.so.4 , version libburn-0.5.4 or higher
- libisofs.so.6 , version libisofs-0.6.10 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time. So compile in the oldest possible installation
setup unless you have reason to enforce a newer bug fix level.
Obtain libisoburn-0.3.4.pl00.tar.gz, take it to a directory of your choice
Obtain libisoburn-0.2.8.pl00.tar.gz, take it to a directory of your choice
and do:
tar xzf libisoburn-0.3.4.pl00.tar.gz
cd libisoburn-0.3.4
tar xzf libisoburn-0.2.8.pl00.tar.gz
cd libisoburn-0.2.8
Within that directory execute:
@ -156,7 +155,7 @@ libburnia-project.org
By Mario Danic <mario.danic@gmail.com>,
Vreixo Formoso <metalpain2002@yahoo.es>
Thomas Schmitt <scdbackup@gmx.net>
Copyright (C) 2006-2009 Mario Danic, Vreixo Formoso, Thomas Schmitt.
Copyright (C) 2006-2008 Mario Danic, Vreixo Formoso, Thomas Schmitt.
libburnia-project.org is inspired by and in other components still containing
parts of old

View File

@ -1,4 +1,4 @@
AC_INIT([libisoburn], [0.3.4], [http://libburnia-project.org])
AC_INIT([libisoburn], [0.2.8], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@ -8,7 +8,7 @@ AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE([subdir-objects])
dnl Hint: Search list for version code aspects:
dnl /AC_INIT(
dnl /AC_INT(
dnl /ISOBURN_.*_VERSION
dnl /LT_.*
dnl /LIB.*_REQUIRED
@ -20,8 +20,8 @@ dnl LT_CURREN, LT_AGE, LT_REVISION where SONAME becomes LT_CURRENT - LT_AGE
dnl
dnl These three are only copies to provide libtool with unused LT_RELEASE
ISOBURN_MAJOR_VERSION=0
ISOBURN_MINOR_VERSION=3
ISOBURN_MICRO_VERSION=4
ISOBURN_MINOR_VERSION=2
ISOBURN_MICRO_VERSION=8
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
AC_SUBST(ISOBURN_MAJOR_VERSION)
@ -33,16 +33,16 @@ dnl Libtool versioning
dnl Generate libisoburn.so.1.x.y
dnl SONAME will become LT_CURRENT - LT_AGE
dnl
dnl ts A90301
dnl This is the release version 0.3.4 = libisoburn.so.1.23.0
dnl ts A80920
dnl This is the release version 0.2.8 = libisoburn.so.1.17.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 = 24 - 23 = 1 . Library name = libisoburn.so.1.23.0
dnl SONAME = 18 - 17 = 1 . Library name = libisoburn.so.1.17.0
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
LT_CURRENT=24
LT_AGE=23
LT_CURRENT=18
LT_AGE=17
LT_REVISION=0
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
@ -70,10 +70,6 @@ if test ! $ac_cv_func_fseeko; then
AC_ERROR([Libburn requires largefile support.])
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, , )
AC_PROG_LIBTOOL
AC_SUBST(LIBTOOL_DEPS)
LIBTOOL="$LIBTOOL --silent"
@ -106,41 +102,12 @@ else
fi
AC_SUBST(READLINE_DEF)
AC_ARG_ENABLE(libacl,
[ --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.
dnl If not, erase this macro which would enable use of acl_to_text and others
LIBACL_DEF="-DLibisofs_with_aaip_acL"
dnl The empty yes case obviously causes -lacl to be linked
AC_CHECK_HEADER(sys/acl.h, AC_CHECK_LIB(acl, acl_to_text, , LIBACL_DEF= ), LIBACL_DEF= )
else
LIBACL_DEF=
fi
AC_SUBST(LIBACL_DEF)
AC_ARG_ENABLE(xattr,
[ --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.
dnl If not, erase this macro which would enable use of listxattr and others
XATTR_DEF="-DLibisofs_with_aaip_xattR"
AC_CHECK_HEADER(attr/xattr.h, AC_CHECK_LIB(c, listxattr, X= , XATTR_DEF= ), XATTR_DEF= )
else
XATTR_DEF=
fi
AC_SUBST(XATTR_DEF)
AC_CHECK_HEADER(libburn/libburn.h)
AC_CHECK_HEADER(libisofs/libisofs.h)
dnl Check for proper library versions
LIBBURN_REQUIRED=0.6.0
LIBISOFS_REQUIRED=0.6.14
LIBBURN_REQUIRED=0.5.4
LIBISOFS_REQUIRED=0.6.10
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)

View File

@ -1,58 +0,0 @@
/**
@author Mario Danic, Vreixo Formoso, Thomas Schmitt
@mainpage Libisoburn Documentation Index
@section intro Introduction
Libburnia is an open-source project for reading, mastering and writing
optical discs. This page is about its capability to read, manipulate, and
write ISO 9660 filesystems with Rock Ridge extensions. Media can be optical
media or filesystem objects.
Our scope is currently Linux 2.4 and 2.6, or FreeBSD .
libisoburn is an add-on to libburn and libisofs which coordinates both and
also allows to grow ISO-9660 filesystem images on multi-session media as well
as on overwriteable media via the same API.
All media peculiarities are handled automatically.
xorriso is an application of all three libraries which creates, loads,
manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions.
Manipulation is not only adding or overwriting of files but also deletion,
renaming, and attribute changing. An incremental backup feature is provided.
See xorriso/README for more
SONAME:
libisoburn.so.1 (since 0.1.0, February 2008).
@section using Using the libraries
Our build system is based on autotools.
User experience tells us that you will need at least autotools version 1.7.
To build libisoburn go into its toplevel directory and execute
- ./bootstrap (needed if you downloaded from SVN)
- ./configure
- make
To make the libraries accessible for running resp. developing applications
- make install
Read libisoburn/libisoburn.h for a description of the API.
See also README, xorriso/README, and the man page xorriso/xorriso.1 which
gives an idea of the capabilities provided by Libburnia.
You will also have to install and understand the two libraries of the
Libburnia project which provide fundamental services:
libburn is the library by which preformatted data get onto optical media.
See libburn/libburn.h for its API description.
libisofs is the library to handle ISO 9660 filesystems with Rock Ridge
extensions. Its API is described in libisofs/libisofs.h .
*/

View File

@ -6,7 +6,7 @@
*/
/* libburn wrappers for libisoburn
Copyright 2007 - 2009 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007 - 2008 Thomas Schmitt, <scdbackup@gmx.net>
*/
/* <<< A70929 : hardcoded CD-RW with fabricated -msinfo
@ -24,7 +24,6 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <time.h>
#include <regex.h>
#ifndef Xorriso_standalonE
@ -83,11 +82,11 @@ int isoburn_initialize(char msg[1024], int flag)
iso_lib_header_version_minor
iso_lib_header_version_micro
If the header is too old then the following code shall cause failure of
libisoburn compilation rather than to allow production of a program with
cdrskin compilation rather than to allow production of a program with
unpredictable bugs or memory corruption.
The compiler messages supposed to appear in this case are:
error: 'LIBISOFS_MISCONFIGURATION' undeclared (first use in this function)
error: 'INTENTIONAL_ABORT_OF_COMPILATION__HEADERFILE_libisofs_dot_h_TOO_OLD__SEE_libisoburn_dot_h_AND_burn_wrap_dot_h' undeclared (first use in this function)
error: 'INTENTIONAL_ABORT_OF_COMPILATION__HEADERFILE_libisofs_dot_h_TOO_OLD__SEE_libisoburn_dot_h_and_burn_wrap_dot_h' undeclared (first use in this function)
error: 'LIBISOFS_MISCONFIGURATION_' undeclared (first use in this function)
*/
/* The indendation is an advise of man gcc to help old compilers ignoring */
@ -103,7 +102,7 @@ int isoburn_initialize(char msg[1024], int flag)
#ifdef Isoburn_libisofs_dot_h_too_olD
LIBISOFS_MISCONFIGURATION = 0;
INTENTIONAL_ABORT_OF_COMPILATION__HEADERFILE_libisofs_dot_h_TOO_OLD__SEE_libisoburn_dot_h_AND_burn_wrap_dot_h = 0;
INTENTIONAL_ABORT_OF_COMPILATION__HEADERFILE_libisofs_dot_h_TOO_OLD__SEE_libisoburn_dot_h_and_burn_wrap_dot_h = 0;
LIBISOFS_MISCONFIGURATION_ = 0;
#endif
@ -265,8 +264,6 @@ int isoburn_is_intermediate_dvd_rw(struct burn_drive *d, int flag)
bit3= if the drive reports a -ROM profile then try to read
table of content by scanning for ISO image headers.
bit4= do not emulate TOC on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external filesystems
*/
static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
int flag)
@ -292,7 +289,6 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
(*o)->msgs_submit= libisoburn_default_msgs_submit;
(*o)->msgs_submit_handle= libisoburn_default_msgs_submit_handle;
(*o)->msgs_submit_flag= libisoburn_default_msgs_submit_flag;
iso_image_set_ignore_aclea((*o)->image, (flag >> 5 ) & 3);
#ifdef Hardcoded_cd_rW
/* <<< A70929 : hardcoded CD-RW with fabricated -msinfo */
@ -385,8 +381,6 @@ ex:
(depending on media type and drive state this might
help or it might make the resulting toc even worse)
bit4= do not emulate TOC on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external filesystems
*/
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
char *adr, int flag)
@ -417,7 +411,7 @@ int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
goto ex;
drive_grabbed= 1;
ret= isoburn_welcome_media(&o, (*drive_infos)[0].drive,
(flag & (8 | 16 | 32 | 64)) | !!(flag&2));
(flag & 24) | !!(flag&2));
if(ret<=0)
goto ex;
@ -1047,9 +1041,7 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
}
ret= isoburn_read_iso_head_parse(d, buffer+32*1024, image_blocks, info,
info_mode);
if(ret<=0)
return(ret);
return(1);
}
@ -1517,14 +1509,12 @@ int isoburn_drive_set_msgs_submit(struct burn_drive *d,
/* @param flag bit0= with adr_mode 3: adr_value might be 16 blocks too high
bit1= insist in seeing a disc object with at least one session
bit2= with adr_mode 4: use adr_value as regular expression
*/
int isoburn_set_msc1(struct burn_drive *d, int adr_mode, char *adr_value,
int flag)
{
int ret, num_sessions, num_tracks, adr_num, i, j, total_tracks;
int lba, best_lba, size, re_valid= 0;
int lba, best_lba, size;
char volid[33], msg[160];
struct isoburn *o;
struct isoburn_toc_disc *disc= NULL;
@ -1532,8 +1522,6 @@ int isoburn_set_msc1(struct burn_drive *d, int adr_mode, char *adr_value,
struct isoburn_toc_track **tracks= NULL;
static char mode_names[][20]= {"auto", "session", "track", "lba", "volid"};
static int max_mode_names= 4;
regex_t re;
regmatch_t match[1];
ret= isoburn_find_emulator(&o, d, 0);
if(ret<0)
@ -1542,7 +1530,7 @@ int isoburn_set_msc1(struct burn_drive *d, int adr_mode, char *adr_value,
return(-1);
adr_num= atoi(adr_value);
if(adr_mode!=3 || (flag & 2)) {
if(adr_mode!=3) {
disc= isoburn_toc_drive_get_disc(d);
if(disc==NULL) {
not_found:;
@ -1601,13 +1589,6 @@ not_found:;
}
} else if(adr_mode==4) {
/* search for volume id that is equal to adr_value */
if(flag & 4) {
ret= regcomp(&re, adr_value, 0);
if(ret != 0)
flag&= ~4;
else
re_valid= 1;
}
best_lba= -1;
for(i=0; i<num_sessions; i++) {
tracks= isoburn_toc_session_get_tracks(sessions[i], &num_tracks);
@ -1618,14 +1599,8 @@ not_found:;
ret= isoburn_read_iso_head(d, lba, &size, volid, 1);
if(ret<=0)
continue;
if(flag & 4) {
ret= regexec(&re, volid, 1, match, 0);
if(ret != 0)
continue;
} else {
if(strcmp(volid, adr_value)!=0)
continue;
}
best_lba= lba;
}
}
@ -1643,64 +1618,7 @@ unknown_mode:;
ex:;
if(disc!=NULL)
isoburn_toc_disc_free(disc);
if((flag & 4) && re_valid)
regfree(&re);
return(ret);
}
int isoburn_get_mount_params(struct burn_drive *d,
int adr_mode, char *adr_value,
int *lba, int *track, int *session,
char volid[33], int flag)
{
int msc1_mem, ret, total_tracks, num_sessions, num_tracks, i, j, track_lba;
int size, is_iso= 0;
struct isoburn *o;
struct isoburn_toc_disc *disc= NULL;
struct isoburn_toc_session **sessions= NULL;
struct isoburn_toc_track **tracks= NULL;
*lba= *track= *session= -1;
volid[0]= 0;
ret= isoburn_find_emulator(&o, d, 0);
if(ret < 0 || o == NULL)
return(-1);
msc1_mem= o->fabricated_msc1;
ret= isoburn_set_msc1(d, adr_mode, adr_value, 2 | (flag & 4));
if(ret <= 0)
return(ret);
*lba= o->fabricated_msc1;
disc= isoburn_toc_drive_get_disc(d);
if(disc==NULL)
{ret= -1; goto ex;} /* cannot happen because checked by isoburn_set_msc1 */
sessions= isoburn_toc_disc_get_sessions(disc, &num_sessions);
if(sessions==NULL || num_sessions<=0)
{ret= -1; goto ex;} /* cannot happen because checked by isoburn_set_msc1 */
total_tracks= 0;
for(i=0; i<num_sessions && *session < 0; i++) {
tracks= isoburn_toc_session_get_tracks(sessions[i], &num_tracks);
if(tracks==NULL)
continue;
for(j= 0; j<num_tracks && *track < 0; j++) {
total_tracks++;
isoburn_get_track_lba(tracks[j], &track_lba, 0);
if(track_lba == *lba) {
*track= total_tracks;
*session= i + 1;
}
}
}
ret= isoburn_read_iso_head(d, *lba, &size, volid, 1);
if(ret <= 0)
volid[0]= 0;
else
is_iso= 1;
ex:;
o->fabricated_msc1= msc1_mem;
return(2 - is_iso);
}

View File

@ -1,7 +1,7 @@
/*
data source for libisoburn.
Copyright 2007 - 2009 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
Copyright 2007 - 2008 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
and Thomas Schmitt <scdbackup@gmx.net>
*/

View File

@ -6,7 +6,7 @@
/*
Class core of libisoburn.
Copyright 2007 - 2009 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
Copyright 2007 - 2008 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
Thomas Schmitt <scdbackup@gmx.net>
*/
@ -353,7 +353,6 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
IsoWriteOpts *wopts= NULL;
enum burn_disc_status state;
int ret, fifo_chunks, lba, nwa, i, new_img, early_indev_release;
uint32_t data_start= -1;
size_t buffer_size= 0, buffer_free= 0;
char msg[160];
@ -405,7 +404,6 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
iso_write_opts_set_rockridge(wopts, opts->rockridge);
iso_write_opts_set_joliet(wopts, opts->joliet);
iso_write_opts_set_iso1999(wopts, opts->iso1999);
iso_write_opts_set_aaip(wopts, opts->aaip);
iso_write_opts_set_omit_version_numbers(wopts, opts->omit_version_numbers);
iso_write_opts_set_allow_deep_paths(wopts, opts->allow_deep_paths);
iso_write_opts_set_allow_longer_paths(wopts, opts->allow_longer_paths);
@ -415,10 +413,6 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
iso_write_opts_set_allow_full_ascii(wopts, opts->allow_full_ascii);
iso_write_opts_set_relaxed_vol_atts(wopts, 1);
iso_write_opts_set_joliet_longer_paths(wopts, opts->joliet_longer_paths);
iso_write_opts_set_always_gmt(wopts, opts->always_gmt);
iso_write_opts_set_rrip_version_1_10(wopts, opts->rrip_version_1_10);
iso_write_opts_set_dir_rec_mtime(wopts, opts->dir_rec_mtime);
iso_write_opts_set_aaip_susp_1_10(wopts, opts->aaip_susp_1_10);
iso_write_opts_set_sort_files(wopts, opts->sort_files);
iso_write_opts_set_replace_mode(wopts, opts->replace_dir_mode,
opts->replace_file_mode, opts->replace_uid, opts->replace_gid);
@ -472,16 +466,6 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
isoburn_data_source_shutdown(in_o->iso_data_source, 0);
}
#ifdef Libisofs_has_iwo_get_data_starT
ret= iso_write_opts_get_data_start(wopts, &data_start, 0);
#else
ret= ISO_ERROR;
#endif
opts->data_start_lba= -1;
if(ret > 0 && data_start <= 0x7FFFFFFF)
opts->data_start_lba= data_start;
/* TODO check return values for failure. propertly clean-up on error */
out_o->iso_source= wsrc;
@ -642,9 +626,6 @@ int isoburn_ropt_new(struct isoburn_read_opts **new_o, int flag)
o->norock= 0;
o->nojoliet= 0;
o->noiso1999= 1;
o->noaaip= 1;
o->noacl= 1;
o->noea= 1;
o->preferjoliet= 0;
o->uid= geteuid();
o->gid= getegid();
@ -678,9 +659,6 @@ int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
o->noiso1999= !!(ext&4);
o->preferjoliet= !!(ext&8);
o->pretend_blank= !!(ext&16);
o->noaaip= !!(ext & 32);
o->noacl= !!(ext & 64);
o->noea= !!(ext & 128);
return(1);
}
@ -688,8 +666,7 @@ int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
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->preferjoliet)<<3) | ((!!o->pretend_blank)<<4);
return(1);
}
@ -796,10 +773,6 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
o->allow_lowercase= 0;
o->allow_full_ascii= 0;
o->joliet_longer_paths= 0;
o->always_gmt= 0;
o->rrip_version_1_10= 0;
o->dir_rec_mtime= 0;
o->aaip_susp_1_10= 0;
o->sort_files= 0;
o->replace_dir_mode= 0;
o->replace_file_mode= 0;
@ -809,10 +782,9 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
o->file_mode= 0444;
o->uid= 0;
o->gid= 0;
o->output_charset= NULL;
o->output_charset= 0;
o->fifo_size= 4*1024*1024;
o->effective_lba= -1;
o->data_start_lba= -1;
return(1);
}
@ -846,15 +818,13 @@ int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext)
o->rockridge= !!(ext&1);
o->joliet= !!(ext&2);
o->iso1999= !!(ext&4);
o->aaip= !!(ext & 32);
return(1);
}
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext)
{
*ext= (!!o->rockridge) | ((!!o->joliet)<<1) | ((!!o->iso1999)<<2) |
((!!o->aaip) << 5);
*ext= (!!o->rockridge) | ((!!o->joliet)<<1) | ((!!o->iso1999)<<2);
return(1);
}
@ -869,10 +839,6 @@ int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax)
o->allow_lowercase= !!(relax&32);
o->allow_full_ascii= !!(relax&64);
o->joliet_longer_paths= !!(relax&128);
o->always_gmt= !!(relax & isoburn_igopt_always_gmt);
o->rrip_version_1_10= !!(relax & isoburn_igopt_rrip_version_1_10);
o->dir_rec_mtime= !!(relax & isoburn_igopt_dir_rec_mtime);
o->aaip_susp_1_10= !!(relax & isoburn_igopt_aaip_susp_1_10);
return(1);
}
@ -882,9 +848,7 @@ int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax)
*relax= (!!o->omit_version_numbers) | ((!!o->allow_deep_paths)<<1) |
((!!o->allow_longer_paths)<<2) | ((!!o->max_37_char_filenames)<<3) |
((!!o->no_force_dots)<<4) | ((!!o->allow_lowercase)<<5) |
((!!o->allow_full_ascii)<<6) | ((!!o->joliet_longer_paths)<<7) |
((!!o->always_gmt)<<8) | ((!!o->rrip_version_1_10)<<9) |
((!!o->dir_rec_mtime)<<10) | ((!!o->aaip_susp_1_10)<<11);
((!!o->allow_full_ascii)<<6) | ((!!o->joliet_longer_paths)<<7);
return(1);
}
@ -987,9 +951,3 @@ int isoburn_igopt_get_effective_lba(struct isoburn_imgen_opts *o, int *lba)
}
int isoburn_igopt_get_data_start(struct isoburn_imgen_opts *o, int *lba)
{
*lba= o->data_start_lba;
return(1);
}

View File

@ -250,12 +250,6 @@ struct isoburn_read_opts {
unsigned int norock:1; /*< Do not read Rock Ridge extensions */
unsigned int nojoliet:1; /*< Do not read Joliet extensions */
unsigned int noiso1999:1; /*< Do not read ISO 9660:1999 enhanced tree */
/* ts A90121 */
unsigned int noaaip:1; /* Do not read AAIP for ACL and EA */
unsigned int noacl:1; /* Do not read ACL from external file objects */
unsigned int noea:1; /* Do not read XFS-style EA from externals */
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. */
@ -308,9 +302,6 @@ struct isoburn_imgen_opts {
unsigned int joliet :1;
unsigned int iso1999 :1;
/* ts A90121 */
unsigned int aaip:1; /* Write eventual AAIP info containing ACL and EA */
/* relaxed constraints */
/*
@ -366,31 +357,6 @@ struct isoburn_imgen_opts {
*/
unsigned int joliet_longer_paths :1;
/**
* Store timestamps as GMT rather than in local time.
*/
unsigned int always_gmt :1;
/**
* Write Rock Ridge info as of specification RRIP-1.10 rather than
* RRIP-1.12: signature "RRIP_1991A" rather than "IEEE_1282",
* field PX without file serial number
*/
unsigned int rrip_version_1_10 :1;
/**
* Store as ECMA-119 Directory Record timestamp the mtime
* of the source rather than the image creation time.
*/
unsigned int dir_rec_mtime :1;
/**
* Write AAIP as extension according to SUSP 1.10 rather than SUSP 1.12.
* I.e. without announcing it by an ER field and thus without the need
* to preceed the RRIP fields by an ES and to preceed the AA field by ES.
*/
unsigned int aaip_susp_1_10 :1;
unsigned int sort_files:1;
/**< If files should be sorted based on their weight. */
@ -436,13 +402,6 @@ struct isoburn_imgen_opts {
If >=0: Valid block number. Block size is always 2 KiB.
*/
int effective_lba;
/** Output value: Block address of data section start as predicted by
libisofs.
If < 16: Invalid
If >=16: Valid block number. Block size is always 2 KiB.
*/
int data_start_lba;
};

View File

@ -6,7 +6,7 @@
/*
libisofs related functions of libisoburn.
Copyright 2007 - 2009 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
Copyright 2007 - 2008 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
Thomas Schmitt <scdbackup@gmx.net>
*/
@ -27,8 +27,6 @@
#endif /* Xorriso_standalonE */
#define Libisoburn_with_aaiP yes
#include "isoburn.h"
#include "libisoburn.h"
@ -168,8 +166,6 @@ create_blank_image:;
iso_image_ref(*image); /*protects object from premature free*/
}
}
iso_image_set_ignore_aclea(*image,
(!!(read_opts->noacl)) | ((!!read_opts->noea) << 1) );
return 1;
}
@ -202,11 +198,6 @@ create_blank_image:;
/* Important: do not return until iso_read_opts_free() */
iso_read_opts_set_start_block(ropts, ms_block);
iso_read_opts_set_no_rockridge(ropts, read_opts->norock);
#ifdef Libisoburn_with_aaiP
iso_read_opts_set_no_aaip(ropts, read_opts->noaaip);
#endif /* Libisoburn_with_aaiP */
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);

View File

@ -2,7 +2,7 @@
/*
API definition of libisoburn.
Copyright 2007-2009 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
Copyright 2007-2008 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
and Thomas Schmitt <scdbackup@gmx.net>
*/
@ -124,22 +124,6 @@ One should inquire isoburn_drive_wrote_well() to learn about overall success.
Finally one must call isoburn_activate_session() which will complete any
eventual multi-session emulation.
Application Constraints
Applications shall include libisofs/libisofs.h , libburn/libburn.h and this
file itself: libisoburn/libisoburn.h .
They shall link with -lisofs -lburn -lisoburn or with the .o files emerging
from building those libraries from their sources.
Applications must use 64 bit off_t, e.g. on 32-bit Linux by defining
#define _LARGEFILE_SOURCE
#define _FILE_OFFSET_BITS 64
or take special precautions to interface with the library by 64 bit integers
where above .h files prescribe off_t. Not to use 64 bit file i/o will keep
the application from producing and processing ISO images of more than 2 GB
size.
*/
@ -216,15 +200,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 14
#define isoburn_libisofs_req_micro 10
/** 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 6
#define isoburn_libburn_req_micro 0
#define isoburn_libburn_req_minor 5
#define isoburn_libburn_req_micro 4
/** The minimum version of libisofs to be used with this version of libisoburn
@ -259,8 +243,8 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
@since 0.1.0
*/
#define isoburn_header_version_major 0
#define isoburn_header_version_minor 3
#define isoburn_header_version_micro 4
#define isoburn_header_version_minor 2
#define isoburn_header_version_micro 8
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.
@ -352,8 +336,7 @@ int isoburn_set_msgs_submit(int (*msgs_submit)(void *handle, int error_code,
(cdrom/burner). Thus use with driveno 0 only. On failure
the array has no valid elements at all.
The returned array should be freed via burn_drive_info_free()
when the drive is no longer needed. But before this is done
one has to call isoburn_drive_release(drive_infos[0].drive).
when the drive is no longer needed.
@param adr The persistent address of the desired drive.
@param load 1 attempt to load the disc tray. 0 no attempt,rather failure.
@return 1 = success , 0 = drive not found , <0 = other error
@ -370,8 +353,7 @@ int isoburn_drive_scan_and_grab(struct burn_drive_info *drive_infos[],
(cdrom/burner). Thus use with driveno 0 only. On failure
the array has no valid elements at all.
The returned array should be freed via burn_drive_info_free()
when the drive is no longer needed. But before this is done
one has to call isoburn_drive_release(drive_infos[0].drive).
when the drive is no longer needed.
@param adr The persistent address of the desired drive.
@param flag bit0= attempt to load the disc tray.
Else: failure if not loaded.
@ -383,9 +365,6 @@ int isoburn_drive_scan_and_grab(struct burn_drive_info *drive_infos[],
(depending on media type and drive this might
help or it might make the resulting toc even worse)
bit4= do not emulate table of content on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external
filesystems
@return 1 = success , 0 = drive not found , <0 = other error
*/
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
@ -396,7 +375,6 @@ int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
Wrapper for: burn_drive_grab()
@since 0.1.0
@param drive The drive to grab. E.g. drive_infos[1].drive .
Call isoburn_drive_release(drive) when it it no longer needed.
@param load 1 attempt to load the disc tray. 0 no attempt, rather failure.
@return 1 success, <=0 failure
*/
@ -472,14 +450,12 @@ void isoburn_disc_erase(struct burn_drive *drive, int fast);
3= adr_value itself is the lba to be used
4= start lba of last session with volume id
given by adr_value
@param adr_value A string describing the value to be eventually used.
@parm adr_value A string describing the value to be eventually used.
@param flag Bitfield for control purposes.
bit0= @since 0.2.2
with adr_mode 3: adr_value might be 16 blocks too high
(e.g. -C stemming from growisofs). Probe for ISO head
at adr_value-16 and eventually adjust setting.
bit1= insist in seeing a disc object with at least one session
bit2= with adr_mode 4: use adr_value as regular expression
*/
int isoburn_set_msc1(struct burn_drive *d, int adr_mode, char *adr_value,
int flag);
@ -624,35 +600,6 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
int *image_blocks, char *info, int flag);
/** Try to convert the given entity address into various entity addresses
which would describe it.
Note: Sessions and tracks are counted beginning with 1, not with 0.
@since 0.3.2
@param drive The drive where msc1 is to be set
@param adr_mode Determines how to interpret the input adr_value.
If adr_value shall represent a number then decimal ASCII
digits are expected.
0= start lba of last session in TOC, ignore adr_value
1= start lba of session number given by adr_value
2= start lba of track given number by adr_value
3= adr_value itself is the lba to be used
4= start lba of last session with volume id
given by adr_value
@param adr_value A string describing the value to be eventually used.
@param lba returns the block address of the entity, -1 means invalid
@param track returns the track number of the entity, -1 means invalid
@param session returns the session number of the entity, -1 means invalid
@param volid returns the volume id of the entity if it is a ISO session
@param flag Bitfield for control purposes.
bit2= with adr_mode 4: use adr_value as regular expression
@return <=0 error , 1 ok, ISO session, 2 ok, not an ISO session
*/
int isoburn_get_mount_params(struct burn_drive *d,
int adr_mode, char *adr_value,
int *lba, int *track, int *session,
char volid[33], int flag);
/* ----------------------------------------------------------------------- */
/*
@ -701,18 +648,6 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
tree is used. If you prefer using Joliet, set this to 1.
bit4= pretend_blank
Always create empty image.Ignore any image on input drive.
bit5= noaaip
@since 0.3.4
Do not load AAIP information from image. This information
eventually contains ACL or XFS-style Extended Attributes.
bit6= noacl
@since 0.3.4
Do not obtain ACL from external filesystem objects (e.g.
local filesystem files).
bit7= noea
@since 0.3.4
Do not obtain XFS-style Extended Attributes from external
filesystem objects (e.g. local filesystem files).
@return 1 success, <=0 failure
*/
#define isoburn_ropt_norock 1
@ -720,10 +655,6 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
#define isoburn_ropt_noiso1999 4
#define isoburn_ropt_preferjoliet 8
#define isoburn_ropt_pretend_blank 16
#define isoburn_ropt_noaaip 32
#define isoburn_ropt_noacl 64
#define isoburn_ropt_noea 128
int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext);
int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext);
@ -799,13 +730,6 @@ int isoburn_ropt_get_input_charset(struct isoburn_read_opts *o,
#define isoburn_ropt_has_joliet 2
#define isoburn_ropt_has_iso1999 4
#define isoburn_ropt_has_el_torito 8
/* ts A90122 */
/* >>> to be implemented:
#define isoburn_ropt_has_acl 64
#define isoburn_ropt_ihas_ea 128
*/
int isoburn_ropt_get_size_what(struct isoburn_read_opts *o,
uint32_t *size, int *has_what);
@ -873,16 +797,11 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level);
Weaker than RockRidge, but also readable with Linux.
bit2= iso1999
This is rather exotic. Better do not surprise the readers.
bit5= aaip
The libisofs specific SUSP based extension of ECMA-119 which
can encode ACL and XFS-style Extended Attributes.
@return 1 success, <=0 failure
*/
#define isoburn_igopt_rockridge 1
#define isoburn_igopt_joliet 2
#define isoburn_igopt_iso1999 4
/* ts A90122 */
#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);
@ -923,27 +842,6 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
bit7= joliet_longer_paths
Allow paths in the Joliet tree to have more than
240 characters.
bit8= always_gmt
Write timestamps as GMT although the specs prescribe local
time with eventual non-zero timezone offset. Negative
timezones (west of GMT) can trigger bugs in some operating
systems which typically appear in mounted ISO images as if
the timezone shift from GMT was applied twice
(e.g. in New York 22:36 becomes 17:36).
bit9= rrip_version_1_10
Write Rock Ridge info as of specification RRIP-1.10 rather
than RRIP-1.12: signature "RRIP_1991A" rather than
"IEEE_1282", field PX without file serial number.
bit10= dir_rec_mtime
Store as ECMA-119 Directory Record timestamp the mtime
of the source rather than the image creation time.
bit11= aaip_susp_1_10
Write AAIP fields without announcing AAIP by an ER field and
without distinguishing RRIP fields from the AAIP field by
prefixed ES fields. This saves 5 to 10 bytes per file and
might avoid problems with readers which only accept RRIP.
SUSP-1.10 allows it, SUSP-1.12 frowns on it.
@return 1 success, <=0 failure
*/
#define isoburn_igopt_omit_version_numbers 1
@ -954,10 +852,6 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
#define isoburn_igopt_allow_lowercase 32
#define isoburn_igopt_allow_full_ascii 64
#define isoburn_igopt_joliet_longer_paths 128
#define isoburn_igopt_always_gmt 256
#define isoburn_igopt_rrip_version_1_10 512
#define isoburn_igopt_dir_rec_mtime 1024
#define isoburn_igopt_aaip_susp_1_10 2048
int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax);
int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax);
@ -1060,21 +954,6 @@ int isoburn_igopt_get_fifo_size(struct isoburn_imgen_opts *o, int *fifo_size);
int isoburn_igopt_get_effective_lba(struct isoburn_imgen_opts *o, int *lba);
/** Obtain after image preparation the lowest block address of file content
data. Failure can occur if libisofs is too old to provide this information,
if the result exceeds 31 bit, or if the call is made before image
preparation.
This value cannot be set by the application but only be inquired.
@since 0.3.4
@param o The option set to work on
@param lba The block number of the session start on media.
<0 means that no address has been determined yet.
@return 1 success, <=0 failure
*/
int isoburn_igopt_get_data_start(struct isoburn_imgen_opts *o, int *lba);
/* ----------------------------------------------------------------------- */
/* End of Options for image generation */
/* ----------------------------------------------------------------------- */
@ -1346,7 +1225,7 @@ void isoburn_disc_write(struct burn_write_opts *o, struct burn_disc *disc);
Hint: If only burn_write_opts and not burn_drive is known, then the drive
can be obtained by burn_write_opts_get_drive().
@since 0.1.0
@param d The drive to which the track with the fifo gets burned.
@parm d The drive to which the track with the fifo gets burned.
@param size The total size of the fifo
@param free_bytes The current free capacity of the fifo
@param status_text Returns a pointer to a constant text, see below

View File

@ -4,8 +4,8 @@
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.3.4.pl00.tar.gz
Copyright (C) 2006-2009 Thomas Schmitt, provided under GPL version 2.
http://scdbackup.sourceforge.net/xorriso-0.2.8.pl00.tar.gz
Copyright (C) 2006-2008 Thomas Schmitt, provided under GPL version 2.
------------------------------------------------------------------------------
@ -16,8 +16,7 @@ information of existing ISO images and it writes the session results to
optical media or to filesystem objects.
Vice versa xorriso is able to restore file objects from ISO 9660 filesystems.
Currently it is supported on Linux with kernels >= 2.4 and on FreeBSD versions
with ATAPI/CAM support enabled in the kernel, see atapicam(4).
Currently it is only supported on Linux with kernels >= 2.4.
A special property of xorriso is that it needs neither an external ISO 9660
formatter program nor an external burn program for CD or DVD but rather
@ -33,20 +32,14 @@ The most simple way to get xorriso from source code is the xorriso standalone
tarball.
Prerequisites:
The tarball contains anything that is needed except the following system
components:
libc, libpthread
plus on FreeBSD: libiconv, libcam
Optional at compile time are:
libreadline and the readline-dev headers make dialog mode more convenient.
on Linux: libacl and libacl-devel allow getting and setting ACLs.
If they were present at compile time, then the optional libraries have to
be present at runtime, too.
The tarball contains anything that is needed except libc and libpthread.
libreadline and the readline-dev headers will make dialog mode more convenient,
but are not mandatory.
Obtain xorriso-0.3.4.pl00.tar.gz, take it to a directory of your choice and do:
Obtain xorriso-0.2.8.pl00.tar.gz, take it to a directory of your choice and do:
tar xzf xorriso-0.3.4.pl00.tar.gz
cd xorriso-0.3.4
tar xzf xorriso-0.2.8.pl00.tar.gz
cd xorriso-0.2.8
Within that directory execute:
@ -60,8 +53,8 @@ which you may strip to reduce it in size
strip ./xorriso/xorriso
You may copy or move it to a directory where it can be found by the shell,
or you may execute xorriso at the place where it was built,
or you may execute as superuser:
you may execute xorriso at the place where it was built, or you may execute
as superuser:
make install
For general concepts, options and usage examples see
@ -87,9 +80,6 @@ development package is installed, then rather build xorriso by:
make clean ; make
Never omit the "make clean" command after switching libreadline enabling.
If you want xorriso to report a "Build timestamp" with its option -version:
make buildstamped
Drives and Disk File Objects
@ -129,13 +119,9 @@ Better try to unmount an eventually mounted media before a write run.
Besides true optical drives, xorriso can also address disk files as input or
output drives. By default paths to files under /dev are accepted only if the
device represents a real optical drive. Other device files may be addressed
by prepending "stdio:" to the path.
output drives. The addresses of the disk files have to be preceded by "stdio:".
Like:
xorriso -dev stdio:/dev/sdb ...more arguments...
This rule may be changed by xorriso option -drive_class.
Prefix "mmc:" causes a path to be accepted only if it is a real optical drive.
xorriso -dev stdio:/tmp/pseudo_drive ...more arguments...
Testing
@ -206,9 +192,9 @@ and a matching dynamically linked xorriso binary.
This binary is leaner but depends on properly installed libraries of suitable
revision.
Dynamic library and compile time header requirements for libisoburn-0.3.4 :
- libburn.so.4 , version libburn-0.6.0 or higher
- libisofs.so.6 , version libisofs-0.6.14 or higher
Dynamic library and compile time header requirements for libisoburn-0.2.8 :
- libburn.so.4 , version libburn-0.5.4 or higher
- libisofs.so.6 , version libisofs-0.6.10 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.
@ -237,7 +223,7 @@ libburnia-project.org
By Mario Danic <mario.danic@gmail.com>,
Vreixo Formoso <metalpain2002@yahoo.es>
Thomas Schmitt <scdbackup@gmx.net>
Copyright (C) 2006-2009 Mario Danic, Vreixo Formoso, Thomas Schmitt.
Copyright (C) 2006-2008 Mario Danic, Vreixo Formoso, Thomas Schmitt.
libburnia-project.org is inspired by and in other components still containing
parts of old

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
#!/bin/sh
# compile_xorriso.sh
# Copyright 2005 - 2009 Thomas Schmitt, scdbackup@gmx.net, GPL
# Copyright 2005 - 2008 Thomas Schmitt, scdbackup@gmx.net, GPL
#
# Not intended for general use in production installations !
# Rather use: ./bootstrap ; ./configure ; make
@ -10,7 +10,7 @@
# It is to be executed in a common parent of the directories given with
# $isofs $isoburn $burn $xorr
isofs=./nglibisofs-develop/libisofs/libisofs_libisofs_la-
isofs=./nglibisofs-develop/libisofs
burn=./libburn-develop/libburn
isoburn=./libisoburn-develop/libisoburn
xorr=./libisoburn-develop/xorriso
@ -59,32 +59,30 @@ do
done
libisofs=
libisofs="$libisofs $isofs"buffer.o
libisofs="$libisofs $isofs"builder.o
libisofs="$libisofs $isofs"data_source.o
libisofs="$libisofs $isofs"ecma119.o
libisofs="$libisofs $isofs"ecma119_tree.o
libisofs="$libisofs $isofs"eltorito.o
libisofs="$libisofs $isofs"filesrc.o
libisofs="$libisofs $isofs"fs_image.o
libisofs="$libisofs $isofs"fs_local.o
libisofs="$libisofs $isofs"fsource.o
libisofs="$libisofs $isofs"image.o
libisofs="$libisofs $isofs"iso1999.o
libisofs="$libisofs $isofs"joliet.o
libisofs="$libisofs $isofs"libiso_msgs.o
libisofs="$libisofs $isofs"messages.o
libisofs="$libisofs $isofs"node.o
libisofs="$libisofs $isofs"rockridge.o
libisofs="$libisofs $isofs"rockridge_read.o
libisofs="$libisofs $isofs"stream.o
libisofs="$libisofs $isofs"tree.o
libisofs="$libisofs $isofs"util.o
libisofs="$libisofs $isofs"util_htable.o
libisofs="$libisofs $isofs"util_rbtree.o
libisofs="$libisofs $isofs"system_area.o
libisofs="$libisofs $isofs"make_isohybrid_mbr.o
libisofs="$libisofs $isofs"aaip_0_2.o
libisofs="$libisofs $isofs"/buffer.o
libisofs="$libisofs $isofs"/builder.o
libisofs="$libisofs $isofs"/data_source.o
libisofs="$libisofs $isofs"/ecma119.o
libisofs="$libisofs $isofs"/ecma119_tree.o
libisofs="$libisofs $isofs"/eltorito.o
libisofs="$libisofs $isofs"/filesrc.o
libisofs="$libisofs $isofs"/fs_image.o
libisofs="$libisofs $isofs"/fs_local.o
libisofs="$libisofs $isofs"/fsource.o
libisofs="$libisofs $isofs"/image.o
libisofs="$libisofs $isofs"/iso1999.o
libisofs="$libisofs $isofs"/joliet.o
libisofs="$libisofs $isofs"/libiso_msgs.o
libisofs="$libisofs $isofs"/messages.o
libisofs="$libisofs $isofs"/node.o
libisofs="$libisofs $isofs"/rockridge.o
libisofs="$libisofs $isofs"/rockridge_read.o
libisofs="$libisofs $isofs"/stream.o
libisofs="$libisofs $isofs"/tree.o
libisofs="$libisofs $isofs"/util.o
libisofs="$libisofs $isofs"/util_htable.o
libisofs="$libisofs $isofs"/util_rbtree.o
echo "Version timestamp : $(sed -e 's/#define Xorriso_timestamP "//' -e 's/"$//' "$xorr"/xorriso_timestamp.h)"
@ -92,7 +90,7 @@ date -u '+#define Xorriso_build_timestamP "%Y.%m.%d.%H%M%S"' >"$xorr"/xorriso_bu
echo "Build timestamp : $(sed -e 's/#define Xorriso_build_timestamP "//' -e 's/"$//' "$xorr"/xorriso_buildstamp.h)"
echo "compiling program $xorr/xorriso.c $static_opts $debug_opts $def_opts"
cc -I. -DXorriso_with_maiN $def_libreadline \
cc -I. -DXorriso_with_maiN -DXorriso_with_regeX $def_libreadline \
$warn_opts \
$static_opts \
$debug_opts \
@ -141,8 +139,7 @@ cc -I. -DXorriso_with_maiN $def_libreadline \
\
$link_libreadline \
\
-lpthread \
-lacl
-lpthread
ret=$?
if test "$ret" = 0

View File

@ -1,4 +1,4 @@
AC_INIT([xorriso], [0.3.4], [http://libburnia-project.org])
AC_INIT([xorriso], [0.2.8], [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=6
BURN_MICRO_VERSION=3
BURN_MINOR_VERSION=5
BURN_MICRO_VERSION=5
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=15
LIBISOFS_MICRO_VERSION=10
AC_SUBST(LIBISOFS_MAJOR_VERSION)
AC_SUBST(LIBISOFS_MINOR_VERSION)
AC_SUBST(LIBISOFS_MICRO_VERSION)
@ -43,10 +43,6 @@ if test ! $ac_cv_func_fseeko; then
AC_ERROR([Libburn requires largefile support.])
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, , )
AC_PROG_LIBTOOL
AC_SUBST(LIBTOOL_DEPS)
LIBTOOL="$LIBTOOL --silent"
@ -116,35 +112,6 @@ fi
AC_SUBST(READLINE_DEF)
AC_ARG_ENABLE(libacl,
[ --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.
dnl If not, erase this macro which would enable use of acl_to_text and others
LIBACL_DEF="-DLibisofs_with_aaip_acL"
dnl The empty yes case obviously causes -lacl to be linked
AC_CHECK_HEADER(sys/acl.h, AC_CHECK_LIB(acl, acl_to_text, , LIBACL_DEF= ), LIBACL_DEF= )
else
LIBACL_DEF=
fi
AC_SUBST(LIBACL_DEF)
AC_ARG_ENABLE(xattr,
[ --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.
dnl If not, erase this macro which would enable use of listxattr and others
XATTR_DEF="-DLibisofs_with_aaip_xattR"
AC_CHECK_HEADER(attr/xattr.h, AC_CHECK_LIB(c, listxattr, X= , XATTR_DEF= ), XATTR_DEF= )
else
XATTR_DEF=
fi
AC_SUBST(XATTR_DEF)
AC_CONFIG_FILES([
Makefile
version.h

View File

@ -51,7 +51,7 @@ then
-e 's/<b>Libburn drives:<\/b>/\&nbsp;<BR><b>Libburn drives:<\/b>/' \
-e 's/^-dev /\&nbsp;\&nbsp;-dev /' \
-e 's/^-devices /\&nbsp;\&nbsp;-devices /' \
-e 's/<b>Rock Ridge, POSIX, X\/Open, El Torito, ACL,/\&nbsp;<BR><b>Rock Ridge, POSIX, X\/Open, El Torito, ACL,/' \
-e 's/<b>Rock Ridge, POSIX, X\/Open, and El Torito:<\/b>/\&nbsp;<BR><b>Rock Ridge, POSIX, X\/Open, and El Torito:<\/b>/' \
-e 's/<b>Command processing:<\/b>/\&nbsp;<BR><b>Command processing:<\/b>/' \
-e 's/<b>Dialog, Readline, Result pager:<\/b>/\&nbsp;<BR><b>Dialog, Readline, Result pager:<\/b>/' \
-e 's/<b>Aquiring source and target drive:<\/b>/\&nbsp;<BR><b>Aquiring source and target drive:<\/b><BR>\&nbsp;<BR>/' \
@ -65,7 +65,6 @@ then
-e 's/<b>Settings for result writing:<\/b>/\&nbsp;<BR><b>Settings for result writing:<\/b><BR>\&nbsp;<BR>/' \
-e 's/^706k = 706kB/\&nbsp;\&nbsp;706k = 706kB/' \
-e 's/^5540k = 5540kB/\&nbsp;\&nbsp;5540k = 5540kB/' \
-e 's/<b>Character sets:<\/b>/\&nbsp;<BR><b>Character sets:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>Exception processing:<\/b>/\&nbsp;<BR><b>Exception processing:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>El Torito bootable ISO images:<\/b>/\&nbsp;<BR><b>El Torito bootable ISO images:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>Dialog mode control:<\/b>/\&nbsp;<BR><b>Dialog mode control:<\/b><BR>\&nbsp;<BR>/' \

View File

@ -1,7 +1,7 @@
#!/bin/sh
# make_xorriso_standalone.sh
# Copyright 2008 - 2009 Thomas Schmitt, scdbackup@gmx.net, GPL
# Copyright 2008 Thomas Schmitt, scdbackup@gmx.net, GPL
#
# Not intended for general use in production installations !
#
@ -25,7 +25,7 @@
current_dir=$(pwd)
lone_dir="$current_dir"/"xorriso-standalone"
xorriso_rev=0.3.4
xorriso_rev=0.2.8
# For unstable uploads:
# xorriso_pl=""
# For stable releases:
@ -145,11 +145,9 @@ copy_files \
create_dir "$lone_dir"/libisofs
create_dir "$lone_dir"/libisofs/filters
create_dir "$lone_dir"/doc
goto_dir "$current_dir"/nglibisofs-develop
copy_files libisofs/*.[ch] "$lone_dir"/libisofs
copy_files libisofs/filters/*.[ch] "$lone_dir"/libisofs/filters
copy_files doc/susp_aaip*.txt "$lone_dir"/doc
copy_files COPYRIGHT "$lone_dir"/libisofs
# To get a common version.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
/* Command line oriented batch and dialog tool which creates, loads,
manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2009 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2008 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2.
@ -263,11 +263,6 @@ int Xorriso_lst_destroy_all(struct Xorriso_lsT **lstring, int flag);
/* Option -abort_on */
int Xorriso_option_abort_on(struct XorrisO *xorriso, char *severity, int flag);
/* Option -acl "on"|"off" */
int Xorriso_option_acl(struct XorrisO *xorriso, char *mode, int flag);
/* Option -add */
/* @param flag bit0=do not report the added item
bit1=do not reset pacifier, no final pacifier message
@ -287,25 +282,6 @@ int Xorriso_option_alter_date(struct XorrisO *xorriso,
char *time_type, char *timestring,
int argc, char **argv, int *idx, int flag);
/* Option -application_id */
int Xorriso_option_application_id(struct XorrisO *xorriso, char *name,
int flag);
/* Option -as */
/* @param flag bit0=do not report the added item
bit1=do not reset pacifier, no final pacifier message
*/
int Xorriso_option_as(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
/* Option -assert_volid */
int Xorriso_option_assert_volid(struct XorrisO *xorriso, char *pattern,
char *severity, int flag);
/* Option -backslash_codes */
int Xorriso_option_backslash_codes(struct XorrisO *xorriso, char *mode,
int flag);
/* Option -ban_stdio_write */
int Xorriso_option_ban_stdio_write(struct XorrisO *xorriso, int flag);
@ -325,12 +301,6 @@ int Xorriso_option_cdi(struct XorrisO *xorriso, char *iso_rr_path, int flag);
/* Option -cdx */
int Xorriso_option_cdx(struct XorrisO *xorriso, char *disk_path, int flag);
/* Option -charset */
/* @param flag bit0= set in_charset
bit1= set out_charset
*/
int Xorriso_option_charset(struct XorrisO *xorriso, char *name, int flag);
/* Option -check_media */
int Xorriso_option_check_media(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag);
@ -411,16 +381,9 @@ int Xorriso_option_devices(struct XorrisO *xorriso, int flag);
/* Option -dialog "on"|"off" */
int Xorriso_option_dialog(struct XorrisO *xorriso, char *mode, int flag);
/* Option -disk_dev_ino "on"|"off" */
int Xorriso_option_disk_dev_ino(struct XorrisO *xorriso, char *mode, int flag);
/* Option -disk_pattern "on"|"ls"|"off" */
int Xorriso_option_disk_pattern(struct XorrisO *xorriso, char *mode, int flag);
/* Option -drive_class */
int Xorriso_option_drive_class(struct XorrisO *xorriso,
char *d_class, char *pattern, int flag);
/* Option -dummy "on"|"off" */
int Xorriso_option_dummy(struct XorrisO *xorriso, char *mode, int flag);
@ -469,12 +432,6 @@ int Xorriso_option_find(struct XorrisO *xorriso, int argc, char **argv,
/* Option -fs */
int Xorriso_option_fs(struct XorrisO *xorriso, char *size, int flag);
/* Option -getfacl alias -getfacli, -getfacl_r alias -getfacl_ri */
/* @param flag bit0=recursive -getfacl_r
*/
int Xorriso_option_getfacli(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag);
/* Option -gid */
int Xorriso_option_gid(struct XorrisO *xorriso, char *gid, int flag);
@ -555,13 +512,6 @@ int Xorriso_option_mark(struct XorrisO *xorriso, char *mark, int flag);
int Xorriso_option_mkdiri(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
/* Option -mount */
/* @param bit0= print mount command to result channel rather than performing it
*/
int Xorriso_option_mount(struct XorrisO *xorriso, char *dev, char *adr_mode,
char *adr, char *cmd, int flag);
/* Option -mv alias -mvi */
int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
@ -572,8 +522,7 @@ int Xorriso_option_no_rc(struct XorrisO *xorriso, int flag);
/* Option -not_leaf */
int Xorriso_option_not_leaf(struct XorrisO *xorriso, char *pattern, int flag);
/* Option -not_list , -quoted_not_list */
/* @param flag bit0= -quoted_not_list */
/* Option -not_list */
int Xorriso_option_not_list(struct XorrisO *xorriso, char *adr, int flag);
/* Option -not_paths */
@ -604,8 +553,7 @@ int Xorriso_option_page(struct XorrisO *xorriso, int len, int width, int flag);
int Xorriso_option_paste_in(struct XorrisO *xorriso, char *iso_rr_path,
char *disk_path, char *start, char *count, int flag);
/* Option -path_list , -quoted_path_list */
/* @param flag bit0= -quoted_path_list */
/* Option -path-list */
int Xorriso_option_path_list(struct XorrisO *xorriso, char *adr, int flag);
/* Option -pathspecs */
@ -640,10 +588,6 @@ int Xorriso_option_pwdx(struct XorrisO *xorriso, int flag);
/* Option -reassure "on"|"tree"|"off" */
int Xorriso_option_reassure(struct XorrisO *xorriso, char *mode, int flag);
/* Option -relax_compliance */
int Xorriso_option_relax_compliance(struct XorrisO *xorriso, char *mode,
int flag);
/* Option -report_about */
int Xorriso_option_report_about(struct XorrisO *xorriso, char *severity,
int flag);
@ -673,26 +617,6 @@ int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode,
/* Option -session_log */
int Xorriso_option_session_log(struct XorrisO *xorriso, char *path, int flag);
/* Option -setfacl_list alias -setfacl_listi */
int Xorriso_option_setfacl_listi(struct XorrisO *xorriso, char *disk_path,
int flag);
/* Option -setfacl alias -setfacli , -setfacl_r alias -setfacl_ri */
/* @param flag bit0=recursive -setfacl_r
*/
int Xorriso_option_setfacli(struct XorrisO *xorriso, char *acl_text,
int argc, char **argv, int *idx, int flag);
/* Options -setfattr alias -setfattri, -setfattr_r alias -setfattr_ri */
/* @param flag bit0=recursive -setfattr_r
*/
int Xorriso_option_setfattri(struct XorrisO *xorriso, char *name, char *value,
int argc, char **argv, int *idx, int flag);
/* Option -setfattr_list alias -setfattr_listi */
int Xorriso_option_setfattr_listi(struct XorrisO *xorriso, char *path,
int flag);
/* Option -speed */
int Xorriso_option_speed(struct XorrisO *xorriso, char *speed, int flag);
@ -741,8 +665,6 @@ int Xorriso_option_version(struct XorrisO *xorriso, int flag);
/* Option -volid */
int Xorriso_option_volid(struct XorrisO *xorriso, char *volid, int flag);
/* Option -xattr "on"|"off" */
int Xorriso_option_xattr(struct XorrisO *xorriso, char *mode, int flag);
#endif /* Xorriso_includeD */

View File

@ -2,7 +2,7 @@
<HEAD>
<META NAME="description" CONTENT="xorriso, creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions">
<META NAME="keywords" CONTENT="xorriso, libburn, libburnia, burn, CD, DVD, ISO, ISO 9660, RockRidge, Rock Ridge, Linux, FreeBSD, recording, burning, CD-R, CD-RW, DVD-R, DVD-RW, DVD+RW, DVD+R, DVD+R DL, BD-RE, BD-R, 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">
<TITLE>xorriso homepage english</TITLE>
</HEAD>
@ -14,7 +14,7 @@
<P><H2> Homepage of </H2>
<H1> xorriso </H1>
<H2>ISO 9660 Rock Ridge Filesystem Manipulator for Linux and FreeBSD</H2>
<H2>ISO 9660 Rock Ridge Filesystem Manipulator for Linux</H2>
</CENTER>
<P>
@ -48,16 +48,10 @@ and to MMC-5 for DVD or BD).
<DT>Linux with kernel 2.4 or higher (and libc, of course) :</DT>
<DD>With kernel 2.4 an ATA drive has to be under ide-scsi emulation.</DD>
<DD>With kernel 2.6 the drive should not be under ide-scsi.</DD>
<DT>or FreeBSD (with libc, of course) :</DT>
<DD>ATAPI/CAM support has to be enabled in the kernel, see atapicam(4).</DD>
<DD>libcam has to be installed.</DD>
<DD>libiconv has to be installed.</DD>
<DT>libpthread</DT>
<DD>is supposed to be a standard system component.</DD>
<DT>libreadline and libreadline-dev</DT>
<DD>are optional and eventually make dialog more convenient.</DD>
<DT>libacl and libacl-devel</DT>
<DD>are optional and eventually allow on Linux to get and set ACLs.</DD>
</DL>
</P>
@ -66,16 +60,15 @@ and to MMC-5 for DVD or BD).
GPL software included:<BR>
</H2>
<DL>
<DT>libburn-0.6.3</DT>
<DD>reads and writes data from and to CD, DVD, BD.</DD>
<DT>libburn-0.5.5</DT>
<DD>reads and writes data from and to CD, DVD, BD-RE.</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.15</DT>
<DT>libisofs-0.6.10</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.3.4</DT>
<DD>(By Vreixo Formoso and Mario Danic from team of libburnia-project.org)</DD>
<DT>libisoburn-0.2.8</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>
@ -86,8 +79,7 @@ cdrecord and mkisofs.</A>
</P>
<P>
This program has been tested on Intel/AMD Linux
and on FreeBSD systems.<BR>
This program system has been tested on Intel/AMD Linux systems only.<BR>
For ports to other usable systems <A HREF="#contact">contact us</A>.
</P>
@ -97,7 +89,7 @@ For ports to other usable systems <A HREF="#contact">contact us</A>.
<H2>Special features:</H2>
<UL>
<LI>
ISO 9660 formatter and burner for CD, DVD, BD are fixely integrated.
ISO 9660 formatter and burner for CD, DVD, BD-RE are fixely integrated.
</LI>
<LI>
Operates on an existing ISO image or creates a new one.
@ -116,7 +108,7 @@ Writes result as completely new image or as add-on session
to optical media or filesystem objects.
</LI>
<LI>
Can activate ISOLINUX boot images by El Torito boot record and by MBR.
Can activate ISOLINUX boot images by El Torito boot record.
</LI>
<LI>
Can perform multi-session tasks as emulation of mkisofs and cdrecord.
@ -125,12 +117,6 @@ Can perform multi-session tasks as emulation of mkisofs and cdrecord.
Can restore single files and whole trees from ISO image to disk filesystem.
</LI>
<LI>
Can record and restore ACL and xattr of disk files.
</LI>
<LI>
Can issue commands to mount older sessions on Linux or FreeBSD.
</LI>
<LI>
Can check media for damages and copy readable blocks to disk.
</LI>
<LI>
@ -138,7 +124,7 @@ 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-R, BD-RE.
CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R DL, DVD+RW, DVD-RAM, BD-RE.
</LI>
<LI>
Reads its instructions from command line arguments, dialog, and batch files.
@ -153,7 +139,6 @@ Provides navigation commands for interactive ISO image manipulation.
<P>
<H2>Command Examples:</H2>
<DL>
<DT>Get an overview of drives and their addresses</DT>
<DD>#<KBD>&nbsp;xorriso -devices</KBD></DD>
<DD><KBD>...</KBD></DD>
@ -272,22 +257,18 @@ already been done by a previous -commit.</DT>
<HR>
</DT>
<DT>The following command performs incremental backup.
It can be run on blank media to create a 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 old ISO copies
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.
<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
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 by help of mount option "session=" from CD-R[W],
by help of "sbsector=" from other media.
So this constitutes true incremental backup.
<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.
The copies will be complete, except all file names ending
with ".o" or ".swp" which are excluded by options -not_leaf.
</DT>
<DD>$<KBD>&nbsp;xorriso -acl on -xattr on -disk_dev_ino on \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -assert_volid 'PROJECTS_MAIL_*' FATAL \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -dev /dev/sr0 \</KBD></DD>
<DD>$<KBD>&nbsp;xorriso -dev /dev/sr0 \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -not_leaf '*.o' -not_leaf '*.swp' \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -update_r /home/thomas/open_source_projects /open_source_projects \</KBD></DD>
@ -298,35 +279,6 @@ Files with names ending by ".o" or ".swp" are excluded by options -not_leaf.
<HR>
</DT>
<DT>
Operating systems usually mount the most recent session on media.
xorriso can issue the appropriate mount commands for older sessions.
First get an overview of the sessions on disk:
</DT>
<DD>$<KBD>&nbsp;xorriso -outdev /dev/sr0 -toc</KBD></DD>
<PRE>
TOC layout : Idx , sbsector , Size , Volume Id
ISO session : 1 , 0 , 104719s , PROJECTS_MAIL_2008_08_10_231435
ISO session : 2 , 106928 , 6785s , PROJECTS_MAIL_2008_08_14_184548
...
ISO session : 76 , 820384 , 11035s , PROJECTS_MAIL_2009_01_04_191150
</PRE>
<DT>
Then become superuser and let xorriso mount the session of August 14, 2008
to directory /mnt:
</DT>
<DD>#<KBD>
&nbsp;xorriso -osirrox on -mount /dev/sr0 volid '*_2008_08_14_*' /mnt
</KBD></DD>
<DT>
To be later unmounted by: <KBD>umount /mnt</KBD>
</DT>
<DT>
<HR>
</DT>
<DT>
After the user has already created a suitable file tree on disk
and copied the ISOLINUX files into subdirectory ./boot/isolinux of
@ -335,26 +287,20 @@ that tree, xorriso can burn an El Torito bootable media:
<DD>$<KBD>&nbsp;xorriso -outdev /dev/sr0 -blank as_needed \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -map /home/me/ISOLINUX_prepared_tree / \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -boot_image isolinux dir=/boot/isolinux</KBD></DD>
<DT>
An additional MBR is generated if the file isolinux.bin is modern enough
(syslinux version 3.72) and ready for "isohybrid". An MBR enables booting
from hard disk or USB stick.
<HR>
</DT>
<DT>ISO images may not only be stored on optical media but also in
regular disk files or block devices for full multi-session operation.
The prefix &quot;stdio:&quot; indicates that normal file operations are
desired rather than MMC drive commands:
</DT>
<DD>$<KBD>&nbsp;xorriso -dev /tmp/regular_file ...other.options...</DD>
<DT>
A default setting for safety reasons requires that files below /dev/
need prefix &quot;stdio:&quot; if they do not lead to MMC burner devices.
Be cautious not to overwrite your hard disk instead of your USB stick:
</DT>
<DD>$<KBD>&nbsp;xorriso -dev stdio:/dev/sdb ...other.options...</DD>
<DD>$<KBD>&nbsp;xorriso -dev stdio:/tmp/regular_file ...other.options...</DD>
<DT>Other file types are suitable only for writing but not for reading:</DT>
<DD>$<KBD>&nbsp;xorriso -outdev /tmp/named_pipe ...other.options...</DD>
<DD>$<KBD>&nbsp;xorriso -outdev stdio:/tmp/named_pipe ...other.options...</DD>
<DT>In batch mode it is possible to operate xorriso in a pipeline
with an external consumer of the generated ISO image. Any message
@ -386,8 +332,7 @@ One may switch from mkisofs emulation to xorriso's own command mode:
<DT>If for any reason the reading operating system mishandles the ISO image
or some files in it, one may enable reverse operation of xorriso and copy
files or trees to disk:
<DD>$<KBD>&nbsp;xorriso -acl on -xattr on \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -indev /dev/sr0 \</KBD></DD>
<DD>$<KBD>&nbsp;xorriso -indev /dev/sr0 \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -osirrox on \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -cpx '/pictures/private/horses*/*buttercup*' \</KBD></DD>
<DD><KBD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /home/her/buttercup_dir -- \</KBD>
@ -407,6 +352,10 @@ files or trees to disk:
<DD>$<KBD>&nbsp;<A HREF="man_1_xorriso.html">man xorriso</A></KBD></DD>
</DL>
Testers wanted who are willing to risk some double layer DVD media or
are interested in using BD-R media.
</P>
<HR>
@ -414,8 +363,8 @@ files or trees to disk:
<P>
<DL>
<DT><H3>Download as source code (see README):</H3></DT>
<DD><A HREF="xorriso-0.3.4.pl00.tar.gz">xorriso-0.3.4.pl00.tar.gz</A>
(1175 KB).
<DD><A HREF="xorriso-0.2.8.pl00.tar.gz">xorriso-0.2.8.pl00.tar.gz</A>
(1050 KB).
</DD>
</DL>
</DD>
@ -441,32 +390,26 @@ an <A HREF="http://www.opensource.org/">Open Source</A> approved license</DD>
<HR>
<P>
Bug fixes towards xorriso-0.3.2.pl00:
Bug fixes towards xorriso-0.2.6.pl00:
<UL>
<LI>BD-R were not correctly finalized</LI>
<LI>A potential buffer overflow has been fixed</LI>
<LI>-follow "link" attributed random target filenames to looping links</LI>
<LI>-as mkisofs -iso-level was accused to be an unknown option</LI>
<!--
<LI>- none -</LI>
-->
</UL>
</P>
<P>
Enhancements towards previous stable version xorriso-0.3.2.pl00:
Enhancements towards previous stable version xorriso-0.2.4.pl00:
<UL>
<LI>New option -acl controls import and export of ACLs</LI>
<LI>New options -getfacl, -getfacl_r, -setfacl , -setfacl_r , -setfacl_list</LI>
<LI>New -find tests -has_acl, -has_no_acl, new -find actions getfacl, setfacl
</LI>
<LI>New option -xattr controls import and export of Extended Attributes</LI>
<LI>New options -getfattr, -getfattr_r, -setfattr, -setfattr_r, -setfattr_list
</LI>
<LI>New -find tests -has_xattr, -has_aaip, new -find actions getfattr, setfattr
</LI>
<LI>New -as mkisofs options --acl and --xattr</LI>
<LI>New option -disk_dev_ino can substantially accelerate incremental backups
<LI>Ability to write and maintain bootable ISO images based on ISOLINUX</LI>
<LI>New ./configure option --disable-libreadline to make binary more portable
</LI>
</UL>
</P>
@ -474,15 +417,15 @@ Enhancements towards previous stable version xorriso-0.3.2.pl00:
<P>
<DL>
<DT><H3>Development snapshot, version 0.3.5 :</H3></DT>
<DD>Bug fixes towards xorriso-0.3.4.pl00:
<DT><H3>Development snapshot, version 0.2.9 :</H3></DT>
<DD>Bug fixes towards xorriso-0.2.8.pl00:
<UL>
<LI>- none yet -</LI>
<!--
-->
</UL>
</DD>
<DD>Enhancements towards stable version 0.3.4.pl00:
<DD>Enhancements towards stable version 0.2.8.pl00:
<UL>
<LI>- none yet -</LI>
<!--
@ -490,9 +433,9 @@ Enhancements towards previous stable version xorriso-0.3.2.pl00:
</UL>
</DD>
<DD>&nbsp;</DD>
<DD><A HREF="README_xorriso_devel">README 0.3.5</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.3.5 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.3.5)</A></DD>
<DD><A HREF="README_xorriso_devel">README 0.2.9</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.2.9 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.2.9)</A></DD>
<DD>&nbsp;</DD>
<DT>If you want to distribute development versions of xorriso, then use
this tarball which produces static linking between xorriso and the
@ -502,8 +445,8 @@ libburnia libraries.
installation see README)
</DD>
<DD>
<A HREF="xorriso-0.3.5.tar.gz">xorriso-0.3.5.tar.gz</A>
(1160 KB).
<A HREF="xorriso-0.2.9.tar.gz">xorriso-0.2.9.tar.gz</A>
(1050 KB).
</DD>
<DT>A dynamically linked development version of xorriso can be obtained
from repositories of

View File

@ -16,10 +16,9 @@ xorriso_xorriso_CPPFLAGS = -I./libburn -I./libisofs -I./libisoburn -I./xorriso
# No readline in the vanilla version because the necessary headers
# are in a separate readline-development package.
xorriso_xorriso_CFLAGS = -DXorriso_standalonE -DXorriso_with_maiN \
$(READLINE_DEF) $(LIBACL_DEF) $(XATTR_DEF)
xorriso_xorriso_CFLAGS = -DXorriso_standalonE -DXorriso_with_maiN -DXorriso_with_regeX $(READLINE_DEF)
xorriso_xorriso_LDADD = $(THREAD_LIBS) $(LIBBURN_ARCH_LIBS)
xorriso_xorriso_LDADD = $(THREAD_LIBS)
# This looks quite ugly with make install: xorriso.c is compiled twice again
@ -97,11 +96,6 @@ xorriso_xorriso_SOURCES = \
libisofs/filter.h \
libisofs/filter.c \
libisofs/filters/xor_encrypt.c \
libisofs/system_area.h \
libisofs/system_area.c \
libisofs/make_isohybrid_mbr.c \
libisofs/aaip_0_2.h \
libisofs/aaip_0_2.c \
\
libburn/async.c \
libburn/async.h \
@ -228,9 +222,6 @@ EXTRA_DIST = \
INSTALL \
xorriso/changelog.txt \
xorriso/xorriso_buildstamp_none.h \
$(man_MANS) \
libisofs/aaip-os-dummy.c \
libisofs/aaip-os-linux.c \
libisofs/aaip-os-freebsd.c
$(man_MANS)

View File

@ -2,7 +2,7 @@
/* Command line oriented batch and dialog tool which creates, loads,
manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2009 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2008 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2.
@ -18,7 +18,7 @@
#ifndef Xorriso_private_includeD
#define Xorriso_private_includeD yes
#define Xorriso_program_versioN "0.3.4"
#define Xorriso_program_versioN "0.2.8"
/** The source code release timestamp */
#include "xorriso_timestamp.h"
@ -34,7 +34,11 @@
#define Xorriso_build_timestamP "-none-given-"
#endif
/* Because regex_t is mentioned in struct XorrisO */
#ifdef Xorriso_with_regeX
#include <regex.h>
#endif /* Xorriso_with_regeX */
#define Smem_malloC malloc
@ -100,14 +104,6 @@ struct XorrisO { /* the global context of xorriso */
/* >>> put libisofs aspects here <<< */
int do_joliet;
int do_aaip; /* bit0= ACL in , bit1= ACL out , bit2= EA in , bit3= EA out
bit4= record dev,inode , bit5= check dev,inode
bit6= omit content check if dev,inode check is conclusive
bit7= omit dev check mit bit5
*/
int relax_compliance; /* opaque bitfield to be set by xorrisoburn */
int do_follow_pattern;
int do_follow_param;
int do_follow_links;
@ -127,11 +123,8 @@ struct XorrisO { /* the global context of xorriso */
char volid[33];
int volid_default;
char loaded_volid[33];
char assert_volid[SfileadrL];
char assert_volid_sev[80];
char publisher[129];
char application_id[129];
char session_logfile[SfileadrL];
int session_lba;
@ -139,10 +132,6 @@ struct XorrisO { /* the global context of xorriso */
/* >>> put libburn/isoburn aspects here */
struct Xorriso_lsT *drive_blacklist;
struct Xorriso_lsT *drive_greylist;
struct Xorriso_lsT *drive_whitelist;
int toc_emulation_flag; /* bit0= bit3 for isoburn_drive_aquire()
scan -ROM profiles for ISO sessions
bit1= bit4 for isoburn_drive_aquire()
@ -169,7 +158,6 @@ struct XorrisO { /* the global context of xorriso */
char indev[SfileadrL];
void *in_drive_handle; /* interpreted only by xorrisoburn.c */
void *in_volset_handle; /* interpreted only by xorrisoburn.c */
char *in_charset; /* The charset to interpret the filename bytes */
int volset_change_pending; /* whether -commit would make sense */
int no_volset_present; /* set to 1 on first failure */
@ -180,7 +168,6 @@ struct XorrisO { /* the global context of xorriso */
char outdev[SfileadrL];
void *out_drive_handle; /* interpreted only by xorrisoburn.c */
char *out_charset; /* The charset to produce the filename bytes for */
int dev_fd_1; /* The fd which substitutes for /dev/fd/1 and is
connected to externaly perveived stdout.
*/
@ -196,13 +183,7 @@ struct XorrisO { /* the global context of xorriso */
int speed; /* in libburn units : 1000 bytes/second , 0 = Max, -1 = Min */
int fs; /* fifo size in 2048 byte chunks : at most 1 GB */
int padding; /* number of bytes to add after ISO 9660 image */
int alignment; /* if > 0 : image size alignment in 2048 byt blocks */
/* <<< not sure whether to keep this after libisofs will have
learned to pad up MBR images to full MB */
int do_stream_recording; /* 0=no, 1=yes, 2=for data, not for dir
>=16 means yes with number as start LBA */
int do_stream_recording;
int keep_boot_image;
int patch_isolinux_image;
@ -213,12 +194,7 @@ struct XorrisO { /* the global context of xorriso */
*/
char boot_image_cat_path[SfileadrL];
off_t boot_image_load_size;
int boot_image_isohybrid; /* 0=off , 1=auto , 2=on , 3=force */
/* LBA of boot image after image loading */
int loaded_boot_bin_lba;
/* Path of the catalog node after image loading */
char loaded_boot_cat_path[SfileadrL];
/* XORRISO options */
int allow_graft_points;
@ -233,18 +209,6 @@ struct XorrisO { /* the global context of xorriso */
int dialog; /* 0=off , 1=single-line , 2=multi-line */
int bsl_interpretation;
/* whether to run input through Sfile_bsl_interpreter():
bit0-1= dialog and quoted file reading
0= no interpretation, leave unchanged
1= only inside double quotes
2= outside single quotes
3= everywhere
bit2-3= reserved as future expansion of bit0-1
bit4= interpretation within program start arguments
bit5= perform backslash encoding with results
bit6= perform backslash encoding with info texts
*/
/* Pattern matching facility. It still carries legacy from scdbackup/askme.c
but is fully functional for xorriso.
@ -320,8 +284,10 @@ struct XorrisO { /* the global context of xorriso */
char eternal_problem_status_text[20];
/* temporary search facilities */
#ifdef Xorriso_with_regeX
regex_t *re;
regmatch_t match[1];
#endif /* Xorriso_with_regeX */
char **re_constants;
int re_count;
int re_fill;
@ -391,7 +357,7 @@ int Xorriso_regexec(struct XorrisO *xorriso, char *to_match, int *failed_at,
int Xorriso_prepare_expansion_pattern(struct XorrisO *xorriso, char *pattern,
int flag);
int Xorriso__mode_to_perms(mode_t st_mode, char perms[11], int flag);
int Xorriso__mode_to_perms(mode_t st_mode, char perms[10], int flag);
int Xorriso_much_too_long(struct XorrisO *xorriso, int len, int flag);
@ -535,90 +501,6 @@ int Xorriso_spotlist_to_sectormap(struct XorrisO *xorriso,
int Xorriso_toc_to_string(struct XorrisO *xorriso, char **toc_text, int flag);
/* @param flag bit0+1= what to aquire after giving up outdev
0=none, 1=indev, 2=outdev, 3=both
*/
int Xorriso_reaquire_outdev(struct XorrisO *xorriso, int flag);
/* Opens the -check_media data copy in for reading and writing
*/
int Xorriso_open_job_data_to(struct XorrisO *xorriso,
struct CheckmediajoB *job, int flag);
int Xorriso_no_findjob(struct XorrisO *xorriso, char *cmd, int flag);
int Xorriso_make_mount_cmd(struct XorrisO *xorriso, char *cmd,
int lba, int track, int session, char *volid,
char *devadr, char result[SfileadrL], int flag);
/* @param flag bit0= use env_path to find the desired program
*/
int Xorriso_execv(struct XorrisO *xorriso, char *cmd, char *env_path,
int *status, int flag);
int Xorriso_is_in_patternlist(struct XorrisO *xorriso,
struct Xorriso_lsT *patternlist, char *path, int flag);
char *Xorriso_get_pattern(struct XorrisO *xorriso,
struct Xorriso_lsT *patternlist, int index, int flag);
/* Normalize ACL and sort apart "access" ACL from "default" ACL.
*/
int Xorriso_normalize_acl_text(struct XorrisO *xorriso, char *in_text,
char **access_acl_text, char **default_acl_text, int flag);
int Xorriso_path_setfattr(struct XorrisO *xorriso, void *in_node, char *path,
char *name, size_t value_length, char *value, int flag);
int Sfile_str(char target[SfileadrL], char *source, int flag);
double Sfile_microtime(int flag);
int Sfile_add_to_path(char path[SfileadrL], char *addon, int flag);
int Sfile_scale(double value, char *result, int siz, double thresh, int flag);
int Sfile_destroy_argv(int *argc, char ***argv, int flag);
/*
bit0= do not ignore trailing slash
bit1= do not ignore empty components (other than the empty root name)
*/
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);
/* @param flag bit0= only encode inside quotes
bit1= encode < 32 outside quotes except 7, 8, 9, 10, 12, 13
bit2= encode in any case above 126
bit3= encode in any case shellsafe:
<=42 , 59, 60, 62, 63, 92, 94, 96, >=123
*/
int Sfile_bsl_encoder(char **result, char *text, size_t text_len, int flag);
struct Xorriso_lsT {
char *text;
struct Xorriso_lsT *prev,*next;
@ -671,6 +553,50 @@ int Xorriso_lst_append_binary(struct Xorriso_lsT **entry,
int Xorriso_lst_destroy(struct Xorriso_lsT **lstring, int flag);
/* Opens the -check_media data copy in for reading and writing
*/
int Xorriso_open_job_data_to(struct XorrisO *xorriso,
struct CheckmediajoB *job, int flag);
int Sfile_str(char target[SfileadrL], char *source, int flag);
double Sfile_microtime(int flag);
int Sfile_add_to_path(char path[SfileadrL], char *addon, int flag);
int Sfile_scale(double value, char *result, int siz, double thresh, int flag);
int Sfile_destroy_argv(int *argc, char ***argv, int flag);
/*
bit0= do not ignore trailing slash
bit1= do not ignore empty components (other than the empty root name)
*/
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);
int Sort_argv(int argc, char **argv, int flag);
@ -683,9 +609,6 @@ char *Ftypetxt(mode_t st_mode, int flag);
*/
char *Ftimetxt(time_t t, char timetext[40], int flag);
int System_uname(char **sysname, char **release, char **version,
char **machine, int flag);
struct DirseQ;
@ -701,12 +624,6 @@ int Linkitem_reset_stack(struct LinkiteM **o, struct LinkiteM *to, int flag);
struct FindjoB;
int Findjob_new(struct FindjoB **o, char *start_path, int flag);
int Findjob_destroy(struct FindjoB **job, int flag);
/* @return 0=no match , 1=match , <0 = error
*/
int Findjob_test(struct FindjoB *job, char *name,
@ -719,7 +636,7 @@ int Findjob_get_action(struct FindjoB *o, int flag);
/* @return <0 error, >=0 see xorriso.c struct FindjoB.action
*/
int Findjob_get_action_parms(struct FindjoB *o, char **target, char **text_2,
int Findjob_get_action_parms(struct FindjoB *o, char **target,
uid_t *user, gid_t *group,
mode_t *mode_and, mode_t *mode_or,
int *type, time_t *date, struct FindjoB **subjob,
@ -745,32 +662,13 @@ int Findjob_set_action_ad(struct FindjoB *o, int type, time_t date, int flag);
int Findjob_set_start_path(struct FindjoB *o, char *start_path, int flag);
int Findjob_set_action_found_path(struct FindjoB *o, int flag);
int Findjob_get_start_path(struct FindjoB *o, char **start_path, int flag);
int Findjob_set_lba_range(struct FindjoB *o, int start_lba, int count,
int flag);
int Findjob_get_lba_damage_filter(struct FindjoB *o, int *start_lba,
int *end_lba, int *damage_filter, int flag);
int Findjob_get_commit_filter(struct FindjoB *o, int *commit_filter, int flag);
int Findjob_get_acl_filter(struct FindjoB *o, int *acl_filter, int flag);
int Findjob_get_xattr_filter(struct FindjoB *o, int *xattr_filter, int flag);
int Findjob_get_aaip_filter(struct FindjoB *o, int *aaip_filter, int flag);
int Findjob_set_wanted_node(struct FindjoB *o, void *wanted_node, int flag);
int Findjob_get_wanted_node(struct FindjoB *o, void **wanted_node, int flag);
int Findjob_set_found_path(struct FindjoB *o, char *path, int flag);
int Findjob_get_found_path(struct FindjoB *o, char **path, int flag);
struct SplitparT;
@ -859,12 +757,5 @@ int Sectorbitmap_get_layout(struct SectorbitmaP *o,
int Sectorbitmap_copy(struct SectorbitmaP *from, struct SectorbitmaP *to,
int flag);
/* bit0= append (text!=NULL) */
int Sregex_string(char **handle, char *text, int flag);
/* @param flag bit0= only test expression whether compilable
*/
int Sregex_match(char *pattern, char *text, int flag);
#endif /* Xorriso_private_includeD */

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.03.01.103001"
#define Xorriso_timestamP "2008.10.12.120001"

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
a command line oriented batch and dialog tool which creates, loads,
manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2009 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2008 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2.
@ -18,8 +18,8 @@
/* The minimum version of libisoburn to be used with this version of xorriso
*/
#define xorriso_libisoburn_req_major 0
#define xorriso_libisoburn_req_minor 3
#define xorriso_libisoburn_req_micro 4
#define xorriso_libisoburn_req_minor 2
#define xorriso_libisoburn_req_micro 8
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
@ -52,16 +52,9 @@ int Xorriso__text_to_sev(char *severity_name, int *severity_number,int flag);
/* @param flag bit0=report about output drive
bit1=short report form
bit2=do not try to read ISO heads
bit3=report to info channel (else to result channel)
*/
int Xorriso_toc(struct XorrisO *xorriso, int flag);
/* @param flag bit0= no output if no boot record was found
bit3= report to info channel (else to result channel)
*/
int Xorriso_show_boot_info(struct XorrisO *xorriso, int flag);
int Xorriso_show_devices(struct XorrisO *xorriso, int flag);
int Xorriso_tell_media_space(struct XorrisO *xorriso,
@ -74,14 +67,10 @@ int Xorriso_tell_media_space(struct XorrisO *xorriso,
int Xorriso_blank_media(struct XorrisO *xorriso, int flag);
/* @param flag bit0= try to achieve faster formatting
bit1= use parameter size (else use default size)
bit2= do not re-aquire drive
bit7= by_index mode:
bit8 to bit15 contain the index of the format to use.
@return 0=failure, did not touch media , -1=failure, altered media
1=success, altered media , 2=success, did not touch media
*/
int Xorriso_format_media(struct XorrisO *xorriso, off_t size, int flag);
int Xorriso_format_media(struct XorrisO *xorriso, int flag);
/* @return <=0 error, 1 success
*/
@ -211,15 +200,9 @@ int Xorriso_burn_track(struct XorrisO *xorriso, off_t write_start_address,
int Xorriso_get_profile(struct XorrisO *xorriso, int *profile_number,
char profile_name[80], int flag);
#ifdef NIX
/* @param flag bit0= do not mark image as changed */
int Xorriso_set_publisher(struct XorrisO *xorriso, char *name, int flag);
/* @param flag bit0= do not mark image as changed */
int Xorriso_set_application_id(struct XorrisO *xorriso, char *name, int flag);
#endif /* NIX */
/* @param flag bit0= node_pt is a valid ISO object handle, ignore pathname
*/
@ -304,11 +287,6 @@ int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize,
char *head_buffer, struct CheckmediajoB *job,
int flag);
int Xorriso_get_local_charset(struct XorrisO *xorriso, char **name, int flag);
int Xorriso_set_local_charset(struct XorrisO *xorriso, char *name, int flag);
struct CheckmediajoB {
int use_dev; /* 0= use indev , 1= use outdev , 2= use sector map*/
@ -361,77 +339,6 @@ int Xorriso_extract_cut(struct XorrisO *xorriso,
off_t img_offset, off_t bytes, int flag);
int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
int flag);
/* @return 1=ok 2=ok, is default setting */
int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024],
int flag);
/**
@param flag bit0= print mount command to result channel rather than
performing it
*/
int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode,
char *adr_value, char *cmd, int flag);
int Xorriso_auto_driveadr(struct XorrisO *xorriso, char *adr, char *result,
int flag);
/* @param node Opaque handle to IsoNode which is to be inquired instead of
path if it is not NULL.
@param path is used as address if node is NULL.
@param acl_text if acl_text is not NULL, then *acl_text will be set to the
ACL text (without comments) of the file object. In this
case it finally has to be freed by the caller.
@param flag bit0= do not report to result but only retrieve ACL text
bit1= just check for existence of ACL, do not allocate and
set acl_text but return 1 or 2
@return 2 ok, no ACL available, eventual *acl_text will be NULL
1 ok, ACL available, eventual *acl_text stems from malloc()
<=0 error
*/
int Xorriso_getfacl(struct XorrisO *xorriso, void *node,
char *path, char **acl_text, int flag);
int Xorriso_getfattr(struct XorrisO *xorriso, void *in_node, char *path,
char **attr_text, int flag);
/* Calls iso_image_set_ignore_aclea() according to xorriso->do_aaip */
int Xorriso_set_ignore_aclea(struct XorrisO *xorriso, int flag);
/* @param node Opaque handle to IsoNode which is to be manipulated
instead of path if it is not NULL.
@param path is used as address if node is NULL.
@param access_text "access" ACL in long text form
@param default_text "default" ACL in long text form
@param flag Unused yet, submit 0
@return >0 success , <=0 failure
*/
int Xorriso_setfacl(struct XorrisO *xorriso, void *in_node, char *path,
char *access_text, char *default_text, int flag);
int Xorriso_get_attrs(struct XorrisO *xorriso, void *in_node, char *path,
size_t *num_attrs, char ***names,
size_t **value_lengths, char ***values, int flag);
int Xorriso_setfattr(struct XorrisO *xorriso, void *in_node, char *path,
size_t num_attrs, char **names,
size_t *value_lengths, char **values, int flag);
int Xorriso_record_dev_inode(struct XorrisO *xorriso, char *disk_path,
dev_t dev, ino_t ino,
void *in_node, char *iso_path, int flag);
int Xorriso_local_getfacl(struct XorrisO *xorriso, char *disk_path,
char **text, int flag);
/* A pseudo file type for El-Torito bootsectors as in man 2 stat :
For now take the highest possible value.
*/