Compare commits

...

37 Commits
1.3.0 ... 1.3.2

Author SHA1 Message Date
2a7bb408bf Promoted branch to tag 2013-08-07 14:52:52 +00:00
3e26f4d7b1 Documented changes and release timestamp 2013-08-07 11:29:21 +00:00
ffb6d431aa Version leap to libisoburn-1.3.2 2013-08-07 11:24:45 +00:00
cdb32048c0 Branching for libisoburn release 1.3.2 2013-08-07 10:43:28 +00:00
318b993a8a Changed default setting of -application_use from 0x00 to 0x20 2013-08-04 17:23:58 +00:00
2729b2955d Updated change log and web page 2013-08-04 10:32:00 +00:00
6916e1d9b8 Bug fix: -as mkisofs -help in dialog mode with pager did not end on request 2013-08-04 10:24:59 +00:00
c3e801a6c8 New -as mkisofs option --application_use 2013-08-04 10:23:14 +00:00
32caf54a70 New command -application_use 2013-08-04 10:21:14 +00:00
f8ba453762 Adapted text output of configure option --enable-dvd-obs-64k 2013-08-04 10:13:53 +00:00
7e0521b6d2 Corrected line breaks in man xorrisofs example about isohybrid 2013-08-01 09:55:20 +00:00
379d270121 Updated change log and web page 2013-07-22 20:31:18 +00:00
fefda9c182 Bug fix: readline history was spammed by -msg_op parsing and pipe loops 2013-07-06 11:01:42 +00:00
cf24917670 Bug fix: Missing or empty parameter with -dus was interpreted as "*" rather than "." 2013-07-05 16:40:46 +00:00
b8b7bca113 Corrected a typo in change logs 2013-07-05 07:41:34 +00:00
26d1d476d1 Updated change log and web page 2013-07-05 07:28:19 +00:00
6901450e44 Integrating frontend/sh_on_named_pipes.sh into docs and delivery system 2013-07-04 10:47:26 +00:00
88a7d6ce66 New frontend demo skript frontend/sh_on_named_pipes.sh 2013-07-04 10:01:00 +00:00
5f7c0d0372 Extended new command -named_pipe_loop by mode parameter 2013-07-04 09:47:13 +00:00
c4d11a3905 Comitting file that was missing in rev 5101 2013-07-02 12:37:35 +00:00
7ae6b24934 New -msg_op opcdoes "parse_silently" and "parse_bulk_silently" 2013-07-02 09:28:57 +00:00
3574bffaf5 Requiring libburn-1.3.1 2013-07-01 18:10:09 +00:00
0974b9047b Making use of new libburn option to ignore SIGPIPE 2013-07-01 18:07:20 +00:00
aa51bde75c New command -sh_style_result 2013-07-01 18:06:39 +00:00
76cd101944 New command -named_pipe_loop 2013-06-30 16:00:40 +00:00
2e1851e908 Small fix in xorriso-tcltk help text 2013-06-30 09:20:42 +00:00
e3cc065c5f New -format mode "without_spare" (for BD-RE) 2013-06-27 12:56:20 +00:00
2626dc249e Updated change log and web page 2013-06-02 11:52:12 +00:00
bd23218d02 Letting -as mkisofs -gui cause a higher frequency of pacifier messages 2013-06-02 11:27:44 +00:00
c23e8eeac0 New -pacifier behavior code "interval=" 2013-06-02 11:25:07 +00:00
31c2cc2495 Bug fix: -backslash_codes "with_program_arguments" was interpreted too late 2013-05-30 19:26:07 +00:00
c479eb0c0c New -as mkisofs options --sort-weight-list and --sort-weight-patterns 2013-05-28 17:58:01 +00:00
db040c6e42 Corrected statement about sort weight of files which are loaded from ISO image 2013-05-24 11:17:51 +00:00
b454ffeef7 Bug fix: -find -exec "sort_weight" did not mark the image as having pending chanBug fix: -find -exec "sort_weight" did not mark the image as having pending changes 2013-05-24 11:13:16 +00:00
8e5ff3fff4 Corrected release number in make_xorriso_standalone.sh 2013-05-17 19:53:06 +00:00
b6d38ded61 Updated change log and web page 2013-05-17 19:38:04 +00:00
c7980dad52 Version leap to libisoburn-1.3.1 2013-05-17 19:35:35 +00:00
44 changed files with 2558 additions and 460 deletions

View File

@ -1,4 +1,23 @@
SVN trunk (to become libisoburn-1.3.0.tar.gz or higher)
libisoburn-1.3.2.tar.gz Wed Aug 07 2013
===============================================================================
* Bug fix: -find -exec "sort_weight" did not mark the image as having
pending changes
* Bug fix: -backslash_codes "with_program_arguments" was interpreted too late
* Bug fix: Missing or empty parameter with -dus was interpreted as "*" rather
than "."
* Bug fix: readline history was spammed by -msg_op parsing and pipe loops
* Bug fix: xorriso aborted on SIGCONT, SIGTSTP, SIGTTIN, SIGTTOU
* Improved granularity of SCSI log time measurement, now with timestamp
* New -pacifier behavior code "interval="
* New -as mkisofs options --sort-weight-list and --sort-weight-patterns
* New -format mode "without_spare" (for BD-RE)
* New command -named_pipe_loop
* New command -sh_style_result
* New -msg_op opcodes "parse_silently" and "parse_bulk_silently"
* New command -application_use and new -as mkisofs option --application_use
libisoburn-1.3.0.tar.gz Fri May 17 2013
===============================================================================
* Bug fix: Disk paths with components '.' or '..' could be mistaken for
directories.
@ -15,7 +34,6 @@ SVN trunk (to become libisoburn-1.3.0.tar.gz or higher)
* New -as mkisofs options --grub2-mbr , --grub2-boot-info , --grub2-sparc-core
* New -hardlinks mode "lsl_count" / "no_lsl_count"
libisoburn-1.2.8.tar.gz Mon Mar 18 2013
===============================================================================
* Bug fix: -tell_media_space altered the pointers to MD5 of data files

View File

@ -252,6 +252,7 @@ EXTRA_DIST = \
frontend/frontend_pipes_xorriso.c \
frontend/README-tcltk \
frontend/xorriso-tcltk \
frontend/sh_on_named_pipes.sh \
README \
AUTHORS \
CONTRIBUTORS \

19
README
View File

@ -4,7 +4,7 @@
libisoburn and xorriso. 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-1.2.8.tar.gz
http://files.libburnia-project.org/releases/libisoburn-1.3.2.tar.gz
Copyright (C) 2006-2009 Vreixo Formoso,
Copyright (C) 2006-2013 Thomas Schmitt.
Provided under GPL version 2 or later.
@ -35,17 +35,17 @@ By using this software you agree to the disclaimer at the end of this text:
Compilation, First Glimpse, Installation
Dynamic library and compile time header requirements for libisoburn-1.2.8 :
- libburn.so.4 , version libburn-1.2.8 or higher
- libisofs.so.6 , version libisofs-1.2.8 or higher
Dynamic library and compile time header requirements for libisoburn-1.3.2 :
- libburn.so.4 , version libburn-1.3.2 or higher
- libisofs.so.6 , version libisofs-1.3.2 or higher
libisoburn and xorriso will not start with libraries which are older than their
include headers seen at compile time.
Obtain libisoburn-1.2.8.tar.gz, take it to a directory of your choice
Obtain libisoburn-1.3.2.tar.gz, take it to a directory of your choice
and do:
tar xzf libisoburn-1.2.8.tar.gz
cd libisoburn-1.2.8
tar xzf libisoburn-1.3.2.tar.gz
cd libisoburn-1.3.2
Within that directory execute:
@ -176,12 +176,15 @@ xorriso distro package does not install it, you may get it directly from
http://libburnia-project.org/export/head/libisoburn/trunk/frontend/xorriso-tcltk
Further there is the C program frontend/frontend_pipes_xorriso.c which
forks a xorriso process and shows the same communication gestures as
forks a xorriso process and shows similar communication gestures as
xorriso-tcltk.
In particular it connects to xorriso via two pipes, sends commands, waits
for all replies of a command, picks info out of the xorriso message sieve,
and parses reply message lines into words.
The bash script frontend/sh_on_named_pipes.sh forks a xorriso process and
operates it via two named pipes which it creates.
Drives and Disk File Objects

View File

@ -1,4 +1,4 @@
AC_INIT([libisoburn], [1.2.9], [http://libburnia-project.org])
AC_INIT([libisoburn], [1.3.2], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@ -23,8 +23,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=1
ISOBURN_MINOR_VERSION=2
ISOBURN_MICRO_VERSION=9
ISOBURN_MINOR_VERSION=3
ISOBURN_MICRO_VERSION=2
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
@ -37,16 +37,16 @@ dnl Libtool versioning
dnl Generate libisoburn.so.1.x.y
dnl SONAME will become LT_CURRENT - LT_AGE
dnl
dnl ts B30318
dnl ### This is the release version 1.2.8 = libisoburn.so.1.85.0
dnl This is the development version after above stable release
dnl ts B30807
dnl This is the release version 1.3.2 = libisoburn.so.1.89.0
dnl ### This is the development version after above stable release
dnl LT_CURRENT++, LT_AGE++ have not happened yet.
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
dnl
dnl SONAME = 86 - 85 = 1 . Library name = libisoburn.so.1.85.0
dnl SONAME = 90 - 89 = 1 . Library name = libisoburn.so.1.89.0
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
LT_CURRENT=86
LT_AGE=85
LT_CURRENT=90
LT_AGE=89
LT_REVISION=0
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
@ -302,14 +302,14 @@ AC_SUBST(LFRONT_SUID_DEF)
AC_ARG_ENABLE(dvd-obs-64k,
[ --enable-dvd-obs-64k 64 KB default size for xorriso DVD/BD writing, default=no],
[ --enable-dvd-obs-64k 64 KB default size for xorriso DVD writing, default=no],
, enable_dvd_obs_64=no)
if test x$enable_dvd_obs_64k = xyes; then
XORRISO_DVD_OBS_64K="-DXorriso_dvd_obs_default_64K"
echo "enabled xorriso write size default 64 KB on DVD and BD"
echo "enabled xorriso write size default 64 KB on DVD"
else
XORRISO_DVD_OBS_64K=
echo "disabled xorriso write size default 64 KB on DVD and BD"
echo "disabled xorriso write size default 64 KB on DVD"
fi
AC_SUBST(XORRISO_DVD_OBS_64K)
@ -372,8 +372,8 @@ if test x$enable_pkg_check_modules = xyes; then
dnl If PKG_CHECK_MODULES is to be used after this if-block,
dnl then it might be necessary to perform PKG_PROG_PKG_CONFIG before the block.
LIBBURN_REQUIRED=1.2.8
LIBISOFS_REQUIRED=1.2.8
LIBBURN_REQUIRED=1.3.2
LIBISOFS_REQUIRED=1.3.2
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)
if test x$LIBCDIO_DEF = x; then

304
frontend/sh_on_named_pipes.sh Executable file
View File

@ -0,0 +1,304 @@
#!/bin/bash
#
# Demo of a shell frontend that communicates with a xorriso slave via
# two named pipes.
#
# This script creates two named pipes and starts xorriso with command
# -named_pipes_loop cleanup /tmp/xorriso_stdin_pipe_$$ xorriso_stdin_pipe_$$ -
# Its main loop prompts the user for commands, sends them to xorriso,
# receives the replies, and parses them by xorriso command
# -msg_op parse_silently. The resulting words are printed to stdout.
#
# xorriso removes the two pipes when it finishes execution of -named_pipes_loop
# regularly. (E.g. because of commands -end or -rollback_end or because of
# name loop control message "end_named_pipe_loop".)
# The vanishing of the pipe files tells this script that xorriso is gone.
#
#
# Copyright (C) 2013
# Thomas Schmitt <scdbackup@gmx.net>, libburnia-project.org
# Provided under BSD license: Use, modify, and distribute as you like.
#
# What xorriso program to use
xorriso=xorriso
if test o"$1" = o"-xorriso"
then
xorriso="$2"
fi
# Version of xorriso and minimum requirement by this script
export xorriso_version=
export xorriso_version_req=1.3.1
# Info about the xorriso slave process
export xorriso_is_running=0
export xorriso_pid=0
export xorriso_will_end=0
# Will be set to 1 before this script ends normally
export normal_end=0
# ---------------- An interpreter for quoted xorriso replies ----------------
# xorriso commands like -lsl wrap filenames into quotation marks in order
# to unambigously represent any character byte except the 0-byte.
# This piece of code parses input strings into words by letting xorriso
# command -msg_op "parse_silently" do the hard work.
# The input strings should be composed by concatenating input lines with
# newline characters inbetween. Begin by submitting a single line (without
# newline at its end) and retry with an appended further line, if
# xorriso_parse
# returns 1. See below xorriso_cmd_and_handle_result() for an example.
# The parsed reply words.
# Valid are reply_array[0] to reply_array[reply_count-1)]
export reply_array
export reply_count
# Interpret reply of -msg_op parse
xorriso_recv_parse_reply() {
reply_count=0
unset reply_array
export reply_array
ret=-1
read ret
if test "$ret" -lt 0 -o -z "$ret"
then
echo "Unexpected text as first reply line of -msg_op parse" >&2
xorriso_is_running=0
return 2
fi
test "$ret" = 0 && return "1"
read num_strings
string_count=0
while true
do
test "$string_count" -ge "$num_strings" && break
read num_lines
line_count=0
acc=
while true
do
test "$line_count" -ge "$num_lines" && break
read line
test "$line_count" -gt 0 && acc="$acc"$'\n'
acc="$acc""$line"
line_count=$(($line_count + 1))
done
reply_array["$string_count"]="$acc"
string_count=$(($string_count + 1))
done
reply_count="$num_strings"
return 0
}
# Parse a quoted multi-line string into words
xorriso_parse() {
# $1 : The string which shall be parsed
# $2 : The number of concatenated input lines (= number of newlines + 1)
# return: 0= array is valid , 1= line incomplete , 2= other error
test "$xorriso_is_running" = 0 && return 1
xorriso_send_cmd "msg_op parse_silently "'"'"'' '' 0 0 $2"'"'$'\n'"$1" || \
return 2
xorriso_recv_parse_reply <"$result_pipe" || xorriso_is_running=0
ret=$?
test "$xorriso_is_running" = 0 && ret=2
return "$ret"
}
# ------------- End of interpreter for quoted xorriso replies --------------
# Send one or more command lines to xorriso
xorriso_send_cmd() {
# $1 : the lines to send
# >>> is it possible to have a timeout on echo ?
if test -p "$cmd_pipe"
then
echo -E "$1" >"$cmd_pipe"
else
xorriso_is_running=0
return 1
fi
}
# Make filenames safe for transport by wrapping them in quotes and
# escaping quotes in their text
xorriso_esc() {
echo -n "'"
echo -n "$1" | sed -e "s/'/'"'"'"'"'"'"'/g"
echo -n "'"
}
# A handler function for xorriso_cmd_and_handle_result
xorriso_reply_to_stdout() {
echo "${reply_array[*]}"
}
# Let a handler inspect the result lines of a xorriso command line
xorriso_cmd_and_handle_result() {
# $1: handler command word and possibly argument words
# $2: command line for xorriso
if test "$xorriso_is_running" = 0
then
return 1
fi
handler="$1"
xorriso_send_cmd "$2" || return 1
res=$(cat "$result_pipe")
ret=$?
if test "$xorriso_will_end" = 1 -o "$xorriso_is_running" = 0 -o "$ret" -ne 0
then
test -n "$res" && echo -n "$res"
xorriso_is_running=0
test "$ret" = 0 || return 1
return 0
fi
test -z "$res" && return 0
echo "$res" | \
while read line
do
line_count=1
while true
do
xorriso_parse "$line" "$line_count"
ret=$?
test "$ret" = 0 && break
if test "$ret" = 2
then
return 1
fi
read addon
line="$line"$'\n'"$addon"
line_count=$(expr "$line_count" + 1)
done
# One can now make use of reply_array[0...(reply_count-1)]
$handler
done
return 0
}
# Execute -version and let xorriso_version_handler interpret reply
xorriso_check_version() {
lookfor='^xorriso version : '
xorriso_version=$("$xorriso" -version 2>/dev/null | grep "$lookfor" | \
sed -e "s/${lookfor}//")
ret=$?
if test "$ret" -ne 0 -o "$xorriso_version" = ""
then
echo "SORRY: Program run '${xorriso}' -version did not yield a result." >&2
echo >&2
exit 2
fi
smallest=$((echo "$xorriso_version_req" ; echo "$xorriso_version" ) | \
sort | head -1)
test "$smallest" = "$xorriso_version_req" && return 0
echo "SORRY: xorriso version too old: ${xorriso_version} . Need at least xorriso-${xorriso_version_req} ." >&2
echo >&2
exit 2
}
# To be executed on exit
xorriso_cleanup() {
send_end_cmd=0
if test -p "$cmd_pipe" -a "$xorriso_is_running" = 1
then
if test "$normal_end" = 0
then
echo "Checking whether xorriso is still running ..." >&2
set -x
# Give xorriso time to abort
sleep 1
if ps | grep '^'"$xorriso_pid" >/dev/null
then
# >>> try to further confirm xorriso identity
send_end_cmd=1
fi
else
send_end_cmd=1
fi
fi
test "$normal_end" = 0 && set -x
if test "$send_end_cmd" = 1
then
echo "Sending xorriso an -end command ..." >&2
xorriso_send_cmd "end" && \
test -p "$result_pipe" && cat "$result_pipe" >/dev/null
fi
test -p "$cmd_pipe" && rm "$cmd_pipe"
test -p "$result_pipe" && rm "$result_pipe"
}
# ---------------------------------- main ---------------------------------
# Choose pipe names
export cmd_pipe=/tmp/xorriso_stdin_pipe_$$
export result_pipe=/tmp/xorriso_stdout_pipe_$$
# Check the program whether it is modern enough
xorriso_check_version "$xorriso"
# Prepare for then end of this script
trap xorriso_cleanup EXIT
# Create the pipes and start xorriso
mknod "$cmd_pipe" p
mknod "$result_pipe" p
"$xorriso" -abort_on NEVER -for_backup \
-named_pipe_loop cleanup:buffered "$cmd_pipe" "$result_pipe" "-" &
xorriso_pid=$!
xorriso_is_running=1
# Get a sign of life from xorriso before issueing the loop prompt
xorriso_cmd_and_handle_result xorriso_reply_to_stdout \
"print_info 'xorriso process ${xorriso_pid} started by $0'"
echo >&2
# Now get commands from the user, send them to xorriso and display them
# via the simple handler xorriso_reply_to_stdout()
while test "$xorriso_is_running" = 1
do
if test -p "$cmd_pipe"
then
echo -n "xorriso> " >&2
else
echo "$0 : Lost contact to xorriso process $xorriso_pid" >&2
xorriso_is_running=0
break
fi
read line
if echo "$line" | grep '^-*end$' >/dev/null
then
break
fi
if echo "$line" | grep '^-*rollback_end$' >/dev/null
then
xorriso_will_end=1
fi
xorriso_cmd_and_handle_result xorriso_reply_to_stdout "$line"
done
# Prevent set -x in the exit handler
normal_end=1

View File

@ -19,7 +19,7 @@
# And, well, a graphical widget set would be nice.
set own_version "1.2.9"
set own_version "1.3.2"
# Minimum version of xorriso to be used as backend process.
# Older versions of xorriso do not offer commands -msg_op and -launch_frontend
@ -4512,7 +4512,7 @@ The GUI window is separated into three main areas:
- Hit the Return key in the text field or double click on a name in the
browser to initiate the extraction run.
If a \"yes/no\" window pops up, consider well whether you are up to
to shooting your own foot right now.
shooting your own foot right now.
Enable the \"Overwrite hard disk files\" switch only if you are really
sure that the files from ISO are better than the ones on hard disk.

View File

@ -241,16 +241,16 @@ void isoburn_version(int *major, int *minor, int *micro);
@since 0.1.0
*/
#define isoburn_libisofs_req_major 1
#define isoburn_libisofs_req_minor 2
#define isoburn_libisofs_req_micro 8
#define isoburn_libisofs_req_minor 3
#define isoburn_libisofs_req_micro 2
/** 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 1
#define isoburn_libburn_req_minor 2
#define isoburn_libburn_req_micro 8
#define isoburn_libburn_req_minor 3
#define isoburn_libburn_req_micro 2
/** The minimum compile time requirements of libisoburn towards libjte are
the same as of a suitable libisofs towards libjte.
@ -304,8 +304,8 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
@since 0.1.0
*/
#define isoburn_header_version_major 1
#define isoburn_header_version_minor 2
#define isoburn_header_version_micro 9
#define isoburn_header_version_minor 3
#define isoburn_header_version_micro 2
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.

View File

@ -146,6 +146,7 @@ Xorriso_option_add_plainly;
Xorriso_option_alter_date;
Xorriso_option_append_partition;
Xorriso_option_application_id;
Xorriso_option_application_use;
Xorriso_option_as;
Xorriso_option_assert_volid;
Xorriso_option_auto_charset;
@ -234,6 +235,7 @@ Xorriso_option_move;
Xorriso_option_msg_op;
Xorriso_option_mvi;
Xorriso_option_no_rc;
Xorriso_option_named_pipe_loop;
Xorriso_option_not_leaf;
Xorriso_option_not_list;
Xorriso_option_not_mgt;
@ -275,6 +277,7 @@ Xorriso_option_setfacl_listi;
Xorriso_option_setfattri;
Xorriso_option_setfattr_listi;
Xorriso_option_set_filter;
Xorriso_option_sh_style_result;
Xorriso_option_signal_handling;
Xorriso_option_sleep;
Xorriso_option_speed;

View File

@ -4,7 +4,7 @@
GNU xorriso. By Thomas Schmitt <scdbackup@gmx.net>
Derived from and supported by libburnia-project.org, published via:
http://www.gnu.org/software/xorriso/xorriso_eng.html
http://www.gnu.org/software/xorriso/xorriso-1.2.9.tar.gz
http://www.gnu.org/software/xorriso/xorriso-1.3.2.tar.gz
Provided under GPL version 3 or later. No warranty.
------------------------------------------------------------------------------
@ -46,10 +46,10 @@ Optional at compile time are:
If they were present at compile time, then the optional libraries have to
be present at runtime, too.
Obtain xorriso-1.2.9.tar.gz, take it to a directory of your choice and do:
Obtain xorriso-1.3.2.tar.gz, take it to a directory of your choice and do:
tar xzf xorriso-1.2.9.tar.gz
cd xorriso-1.2.9
tar xzf xorriso-1.3.2.tar.gz
cd xorriso-1.3.2
Within that directory execute:
@ -174,6 +174,9 @@ In particular it connects to xorriso via two pipes, sends commands, waits
for all replies of a command, picks info out of the xorriso message sieve,
and parses reply message lines into words.
The bash script frontend/sh_on_named_pipes.sh forks a xorriso process and
operates it via two named pipes which it creates.
Drives and Disk File Objects
@ -356,9 +359,9 @@ and a matching dynamically linked xorriso binary.
This binary is very lean but depends on properly installed libraries of
suitable revision.
Dynamic library and compile time header requirements for libisoburn-1.2.8 :
- libburn.so.4 , version libburn-1.2.8 or higher
- libisofs.so.6 , version libisofs-1.2.8 or higher
Dynamic library and compile time header requirements for libisoburn-1.3.2 :
- libburn.so.4 , version libburn-1.3.2 or higher
- libisofs.so.6 , version libisofs-1.3.2 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time. So compile in the oldest possible installation
setup unless you have reason to enforce a newer bug fix level.

View File

@ -107,7 +107,6 @@ int Xorriso_lst_new(struct Xorriso_lsT **lstring, char *text,
bit0= Return new object address in *entry
bit1= do not copy data (e.g. because *data is invalid)
bit2= attach data directly by pointer rather than by copying
bit2= attach data directly by pointer rather than by copying
@return <=0 error, 1 ok
*/
int Xorriso_lst_append_binary(struct Xorriso_lsT **entry,

View File

@ -173,6 +173,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->copyright_file[0]= 0;
m->biblio_file[0]= 0;
m->abstract_file[0]= 0;
strcpy(m->application_use, " ");
m->session_logfile[0]= 0;
m->session_lba= -1;
m->session_blocks= 0;
@ -294,7 +295,9 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->do_restore_sort_lba= 0;
m->do_strict_acl= 0;
m->dialog= 0;
m->buffered_dialog= NULL;
m->bsl_interpretation= 0;
m->sh_style_result= 0;
m->search_mode= 0;
m->structured_search= 1;
m->do_iso_rr_pattern= 1;
@ -307,6 +310,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->hfsplus_hidings= NULL;
m->disk_excl_mode= 1;
m->use_stdin= 0;
m->tolerate_stdin_eof= 0;
m->result_page_length= 0;
m->result_page_width= 80;
m->mark_text[0]= 0;

View File

@ -14389,28 +14389,578 @@ xorriso/xorrecord.1
xorriso/xorrecord.info
Version leap to libisoburn-1.2.9
19 Mar 2013 []
19 Mar 2013 [5011]
ChangeLog
xorriso/changelog.txt
Documented changes and release timestamp
20 Mar 2013 [5012]
svn move -m Promoted branch to tag
http://svn.libburnia-project.org/libisoburn/branches/1.2.8
http://svn.libburnia-project.org/libisoburn/tags/1.2.8
------------------------------------ cycle - xorriso-1.2.9 -
------------------------------------ cycle - xorriso-1.2.9 - 2013.03.18.204322
[]
2013.04.13.064738 [5017]
libisoburn/libisoburn.h
libisoburn/isoburn.c
New options bit with isoburn_igopt_set_system_area() for GRUB2 MBR patching
2013.04.13.074117 [5018]
xorriso/xorriso_private.h
xorriso/opts_a_c.c
xorriso/iso_img.c
xorriso/write_run.c
New -boot_image bootspecs grub2_mbr= and grub2_boot_info=
2013.04.13.074309 [5019]
xorriso/emulators.c
New -as mkisofs options --grub2-mbr and --grub2-boot-info
------------------------------------ cycle - xorriso-1.2.9 - 2013.04.13.074309
* New options bit with isoburn_igopt_set_system_area() for GRUB2 MBR patching
* New -boot_image bootspecs grub2_mbr= and grub2_boot_info=
* New -as mkisofs options --grub2-mbr and --grub2-boot-info
2013.04.13.144946 [5020]
xorriso/iso_tree.c
Bug fix: Disk paths with components '.' or '..' could be mistaken for directories
2013.04.13.205230 [5021]
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/opts_a_c.c
xorriso/iso_img.c
xorriso/write_run.c
New -boot_image bootspec grub2_sparc_core=
2013.04.13.205450 [5022]
xorriso/emulators.c
New -as mkisofs option --grub2-sparc-core
------------------------------------ cycle - xorriso-1.2.9 - 2013.04.13.205450
2013.04.14.174539 [5023]
xorriso/iso_img.c
xorriso/text_io.c
Reporting grub2_mbr= with -status -boot_image
2013.04.14.174902 [5024]
xorriso/opts_d_h.c
xorriso/emulators.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
xorriso/xorrisofs.texi
xorriso/xorrisofs.info
xorriso/xorrisofs.1
Updated man page and help texts about new features
2013.04.16.124331 [5025]
xorriso/iso_img.c
Recognizing grub2_mbr= on image load
17 Apr 2013 [5026]
xorriso/xorriso_eng.html
ChangeLog
Updated change log and web page
------------------------------------ cycle - xorriso-1.2.9 -
------------------------------------ cycle - xorriso-1.2.9 - 2013.04.16.124331
* New -boot_image bootspecs grub2_mbr= and grub2_boot_info=
* New -boot_image bootspec grub2_sparc_core=
* New -as mkisofs options --grub2-mbr , --grub2-boot-info , --grub2-sparc-core
* Bug fix: Disk paths with components '.' or '..' could be mistaken for directories
[]
2013.05.03.135424 [5027]
xorriso/emulators.c
Letting -as cdrecord -help point to man xorrecord rather than to man xorriso
2013.05.06.161651 [5028]
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/opts_d_h.c
xorriso/opts_i_o.c
xorriso/text_io.c
New -hardlinks mode "lsl_count" / "no_lsl_count"
06 May 2013 [5029]
frontend/xorriso-tcltk
Starting up xorriso-tcltk with -hardlinks "on" if xorriso version >= 1.3.0
07 May 2013 [5030]
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Documented new -hardlinks mode
07 May 2013 [5031]
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
xorriso/xorrecord.texi
xorriso/xorrecord.info
xorriso/xorrecord.1
Clarification that xorriso does neither audio CD nor official video DVD
07 May 2013 [5032]
xorriso/xorriso_eng.html
ChangeLog
Updated change log and web page
------------------------------------ cycle - xorriso-1.2.9 -
------------------------------------ cycle - xorriso-1.2.9 - 2013.05.07.185653
* New -hardlinks mode "lsl_count" / "no_lsl_count"
07 May 2013 [5033]
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Small improvement in layout of xorriso info page
10 May 2013 [5037]
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Corrected two examples in man xorriso
10 May 2013 [5038]
xorriso/xorrisofs.texi
xorriso/xorrisofs.info
xorriso/xorrisofs.1
Corrected bold printing of three options in man xorrisofs
2013.05.13.123951 [5039]
xorriso/write_run.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
xorriso/xorrisofs.texi
xorriso/xorrisofs.info
xorriso/xorrisofs.1
Bug fix: -as mkisofs -print-size failed with -isohybrid-mbr and a single boot image
13 May 2013 [5040]
xorriso/xorriso_eng.html
ChangeLog
Updated change log and web page
------------------------------------ cycle - xorriso-1.2.9 - 2013.05.13.123951
* Bug fix: -as mkisofs -print-size failed with -isohybrid-mbr and a single boot image
2013.05.16.070643 [5041]
xorriso/emulators.c
Ignoring -as mkisofs options -gui and -sort
2013.05.16.070643 [5042]
xorriso/emulators.c
Bug fix: -as mkisofs -path-list did not switch to --no-emul-toc by default
16 May 2013 [5043]
xorriso/xorriso_eng.html
ChangeLog
Updated change log and web page
------------------------------------ cycle - xorriso-1.2.9 - 2013.05.16.070643
* Bug fix: -as mkisofs -path-list did not switch to --no-emul-toc by default
2013.05.17.140001 [5049]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README_gnu_xorriso
xorriso/xorriso.h
xorriso/xorrisoburn.h
xorriso/xorriso_main.c
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
frontend/xorriso-tcltk
xorriso/xorriso_timestamp.h
xorriso/xorriso.texi
xorriso/xorriso.1
xorriso/xorriso.info
xorriso/xorrisofs.texi
xorriso/xorrisofs.1
xorriso/xorrisofs.info
xorriso/xorrecord.texi
xorriso/xorrecord.1
xorriso/xorrecord.info
Version leap to libisoburn-1.3.0
17 May [5050]
ChangeLog
xorriso/changelog.txt
Documented changes and release timestamp
----------------------------------- release - xorriso-1.3.0 - 2013.05.17.140001
* New -boot_image bootspecs grub2_mbr= and grub2_boot_info=
* New -boot_image bootspec grub2_sparc_core=
* New -as mkisofs options --grub2-mbr , --grub2-boot-info , --grub2-sparc-core
* Bug fix: Disk paths with components '.' or '..' could be mistaken for
directories
* New -hardlinks mode "lsl_count" / "no_lsl_count"
* Bug fix: -as mkisofs -print-size failed with -isohybrid-mbr and a single
boot image
* Bug fix: -as mkisofs -path-list did not switch to --no-emul-toc by default
2013.05.17.193457 [5055]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README_gnu_xorriso
xorriso/xorriso.h
xorriso/xorrisoburn.h
xorriso/xorriso_main.c
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
frontend/xorriso-tcltk
xorriso/xorriso_timestamp.h
xorriso/xorriso.texi
xorriso/xorriso.1
xorriso/xorriso.info
xorriso/xorrisofs.texi
xorriso/xorrisofs.1
xorriso/xorrisofs.info
xorriso/xorrecord.texi
xorriso/xorrecord.1
xorriso/xorrecord.info
Version leap to libisoburn-1.3.1
17 May 2013 [5056]
ChangeLog
xorriso/changelog.txt
Updated change log and web page
17 May 2013 [5057]
xorriso/make_xorriso_standalone.sh
Corrected release number in make_xorriso_standalone.sh
17 May 2013 [5058]
svn move -m 'Promoted branch to tag'
------------------------------------ cycle - xorriso-1.3.1 - 2013.05.17.193457
2013.05.24.111243 [5072]
xorriso/iso_manip.c
Bug fix: -find -exec "sort_weight" did not mark the image as having pending changes
24 May 2013 [5073]
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Corrected statement about sort weight of files which are loaded from ISO image
2013.05.28.175212 [5075]
xorriso/xorrisoburn.h
xorriso/emulators.c
xorriso/iso_manip.c
xorriso/disk_ops.c
xorriso/iso_tree.c
xorriso/xorrisofs.texi
xorriso/xorrisofs.info
xorriso/xorrisofs.1
New -as mkisofs options --sort-weight-list and --sort-weight-patterns
2013.05.30.192537 [5078]
xorriso/xorriso.h
xorriso/parse_exec.c
xorriso/sfile.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Bug fix: -backslash_codes "with_program_arguments" was interpreted too late
2013.06.02.112441 [5079]
xorriso/opts_p_z.c
xorriso/write_run.c
xorriso/text_io.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
New -pacifier behavior code "interval="
2013.06.02.112720 [5085]
xorriso/emulators.c
xorriso/xorrisofs.texi
xorriso/xorrisofs.info
xorriso/xorrisofs.1
Letting -as mkisofs -gui cause a higher frequency of pacifier messages
02 Jun 2013 [5086]
ChangeLog
xorriso/xorriso_eng.html
xorriso/changelog.txt
Updated change log and web page
------------------------------------ cycle - xorriso-1.3.1 - 2013.06.02.112720
* Bug fix: -find -exec "sort_weight" did not mark the image as having pending changes
* Bug fix: -backslash_codes "with_program_arguments" was interpreted too late
* New -pacifier behavior code "interval="
* New -as mkisofs options --sort-weight-list and --sort-weight-patterns
------------------------------------ cycle - xorriso-1.3.1 - 2013.06.10.083720
(Improved granularity of SCSI log time measurement, SCSI log timestamps)
2013.06.27.125407 [5092]
xorriso/opts_a_c.c
xorriso/write_run.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
New -format mode "without_spare" (for BD-RE)
30 Jun 2013 [5095]
frontend/xorriso-tcltk
Small fix in xorriso-tcltk help text
2013.06.30.160008 [5096]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/parse_exec.c
xorriso/opts_d_h.c
xorriso/opts_i_o.c
xorriso/text_io.h
xorriso/text_io.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
libisoburn/libisoburn.ver
New command -named_pipe_loop
2013.07.01.180608 [5098]
xorriso/xorriso.h
xorriso/base_obj.c
xorriso/parse_exec.c
xorriso/opts_a_c.c
xorriso/opts_d_h.c
xorriso/opts_p_z.c
xorriso/disk_ops.c
xorriso/iso_tree.c
xorriso/iso_manip.c
xorriso/text_io.h
xorriso/text_io.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
libisoburn/libisoburn.ver
New command -sh_style_result
2013.07.01.180652 [5099]
xorriso/lib_mgt.c
Making use of new libburn option to ignore SIGPIPE
01 Jul 2013 [5100]
configure.ac
libisoburn/libisoburn.h
Requiring libburn-1.3.1
2013.07.02.092827 [5101]
xorriso/opts_d_h.c
xorriso/opts_i_o.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
New -msg_op opcdoes "parse_silently" and "parse_bulk_silently"
2013.07.02.123642 [5102]
xorriso/text_io.c
Comitting file that was missing in rev 5101
2013.07.04.094640 [5103]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/parse_exec.c
xorriso/opts_d_h.c
xorriso/opts_i_o.c
xorriso/text_io.c
xorriso/aux_objects.h
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Extended new command -named_pipe_loop by mode parameter
04 Jul 2013 [5104]
frontend/sh_on_named_pipes.sh
New frontend demo skript frontend/sh_on_named_pipes.sh
04 Jul 2013 [5105]
README
Makefile.am
xorriso/README_gnu_xorriso
xorriso/make_xorriso_standalone.sh
xorriso/xorriso_makefile_am.txt
Integrating frontend/sh_on_named_pipes.sh into docs and delivery system
2013.07.05.072400 [5106]
ChangeLog
xorriso/xorriso_eng.html
xorriso/changelog.txt
Updated change log and web page
05 Jul 2013 [5107]
ChangeLog
xorriso/xorriso_eng.html
xorriso/changelog.txt
Corrected a typo in change logs
------------------------------------ cycle - xorriso-1.3.1 - 2013.07.05.072400
* New -format mode "without_spare" (for BD-RE)
* New command -named_pipe_loop
* New -msg_op opcodes "parse_silently" and "parse_bulk_silently"
2013.07.05.164001 [5108]
xorriso/xorriso.h
xorriso/opts_i_o.c
Bug fix: Missing or empty parameter with -dus was interpreted as "*" rather than "."
2013.07.06.110101 [5109]
xorriso/opts_d_h.c
xorriso/text_io.c
Bug fix: readline history was spammed by -msg_op parsing and pipe loops
22 Jul 2013 [5113]
ChangeLog
xorriso/xorriso_eng.html
xorriso/changelog.txt
Updated change log and web page
------------------------------------ cycle - xorriso-1.3.1 - 2013.07.22.202742
* Bug fix: Missing or empty parameter with -dus was interpreted as "*" rather than "."
* Bug fix: readline history was spammed by -msg_op parsing and pipe loops
* Bug fix: (libburn) xorriso aborted on SIGCONT, SIGTSTP, SIGTTIN, SIGTTOU
01 Aug 2013 [5115]
xorriso/xorrisofs.texi
xorriso/xorrisofs.1
Corrected line breaks in man xorrisofs example about isohybrid
2013.08.04.101212 [5117]
configure.ac
xorriso/configure_ac.txt
Adapted text output of configure option --enable-dvd-obs-64k
2013.08.04.102038 [5118]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/parse_exec.c
xorriso/opts_a_c.c
xorriso/opts_d_h.c
xorriso/write_run.c
xorriso/text_io.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
libisoburn/libisoburn.ver
New command -application_use
2013.08.04.102243 [5119]
xorriso/emulators.c
xorriso/xorrisofs.texi
xorriso/xorrisofs.info
xorriso/xorrisofs.1
New -as mkisofs option --application_use
2013.08.04.102418 [5120]
xorriso/emulators.c
Bug fix: -as mkisofs -help in dialog mode with pager did not end on request
04 Aug 2013 [5121]
ChangeLog
xorriso/xorriso_eng.html
xorriso/changelog.txt
Updated change log and web page
------------------------------------ cycle - xorriso-1.3.1 - 2013.08.04.102418
* New command -application_use and new -as mkisofs option --application_use
07 Aug 2013 [5129]
copy -m Branching for libisoburn release 1.3.2
http://svn.libburnia-project.org/libisoburn/trunk
http://svn.libburnia-project.org/libisoburn/branches/1.3.2
2013.08.04.172325 [5123]
xorriso/base_obj.c
xorriso/text_io.c
Changed default setting of -application_use from 0x00 to 0x20
2013.08.07.110001 [5130]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README_gnu_xorriso
xorriso/xorriso.h
xorriso/xorrisoburn.h
xorriso/xorriso_main.c
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
frontend/xorriso-tcltk
xorriso/xorriso_timestamp.h
xorriso/xorriso.texi
xorriso/xorriso.1
xorriso/xorriso.info
xorriso/xorrisofs.texi
xorriso/xorrisofs.1
xorriso/xorrisofs.info
xorriso/xorrecord.texi
xorriso/xorrecord.1
xorriso/xorrecord.info
Version leap to libisoburn-1.3.2
[]
ChangeLog
xorriso/changelog.txt
Documented changes and release timestamp
----------------------------------- release - xorriso-1.3.2 - 2013.08.07.110001
* Bug fix: -find -exec "sort_weight" did not mark the image as having
pending changes
* Bug fix: -backslash_codes "with_program_arguments" was interpreted too late
* Bug fix: Missing or empty parameter with -dus was interpreted as "*" rather
than "."
* Bug fix: readline history was spammed by -msg_op parsing and pipe loops
* Bug fix: xorriso aborted on SIGCONT, SIGTSTP, SIGTTIN, SIGTTOU
* Improved granularity of SCSI log time measurement, now with timestamp
* New -pacifier behavior code "interval="
* New -as mkisofs options --sort-weight-list and --sort-weight-patterns
* New -format mode "without_spare" (for BD-RE)
* New command -named_pipe_loop
* New command -sh_style_result
* New -msg_op opcodes "parse_silently" and "parse_bulk_silently"
* New command -application_use and new -as mkisofs option --application_use
[]
ChangeLog
xorriso/xorriso_eng.html
xorriso/changelog.txt
Updated change log and web page
------------------------------------ cycle - xorriso-1.3.3 -
[]
ChangeLog
xorriso/xorriso_eng.html
xorriso/changelog.txt
Updated change log and web page
------------------------------------ cycle - xorriso-1.3.3 -
@ -14424,18 +14974,37 @@ Important: When adding a public API function then add its name to file
===============================================================================
- make optional use of ttk::treeview instead of BWidget (needs Tk 8.5)
- GRUB2 patching
-as mkisofs \
-hfsplus \
-no-pad \
-o /u/test/test.iso \
--protective-msdos-label \
--grub2-mbr /u/test/grub2/zero_mbr \
-c /BOOT.cat \
-b /img1 \
-boot-info-table -no-emul-boot -boot-load-size 4 \
--grub2-boot-info \
-eltorito-alt-boot \
-b /img2 \
-boot-info-table -no-emul-boot -boot-load-size 4 \
/u/test/grub2/
--grub2-sparc-core /boot/grub/sparc64-ieee1275/core.img
-as mkisofs \
-no-pad \
-o /u/test/test.iso \
-sparc-boot "" \
-G /u/test/grub2/zero_mbr \
--grub2-sparc-core /img1 \
/u/test/grub2/
>>> make optional use of ttk::treeview instead of BWidget (needs Tk 8.5)
>>> The call of Xorriso_remake_hln_array() lasts long even after small
image changes:
-indev /dvdbuffer/samstag.iso -mv /3DDAT /X -- lsl / --
----------------------------------------------------- libcdio on MS-Windows
consider to let -x choose a drive automatically at the
sequence position of -dev, if there are commands which would need
a drive.
@ -14444,8 +15013,6 @@ a drive.
----------------------------------------------------- ISOHYBRID
>>> make experiments with gdisk
>>> mjg PC-BIOS, Mac :
+ New -as mkisofs options -isoybrid-gpt-basdat, -isoybrid-gpt-hfsplus, -isoybrid-apm-hfsplus
@ -14698,7 +15265,6 @@ That "allow" gets changed from "to do something" to "for [doing] something".
- recognize at load time
-chrp-boot
- needs HFS
- where to get specs ?
------------------------------------------------- For Solaris

View File

@ -3,7 +3,7 @@
# Copyright (c) 2007 - 2013 Thomas Schmitt <scdbackup@gmx.net>
# Provided under GPL version 2 or later.
AC_INIT([xorriso], [1.2.9], [http://libburnia-project.org])
AC_INIT([xorriso], [1.3.2], [http://libburnia-project.org])
AC_PREREQ([2.50])
AC_CANONICAL_HOST
@ -22,15 +22,15 @@ AH_TEMPLATE([Xorriso_standalonE], [Define to prepare sources for statically link
AC_DEFINE([Xorriso_standalonE], [])
BURN_MAJOR_VERSION=1
BURN_MINOR_VERSION=2
BURN_MICRO_VERSION=9
BURN_MINOR_VERSION=3
BURN_MICRO_VERSION=2
AC_SUBST(BURN_MAJOR_VERSION)
AC_SUBST(BURN_MINOR_VERSION)
AC_SUBST(BURN_MICRO_VERSION)
LIBISOFS_MAJOR_VERSION=1
LIBISOFS_MINOR_VERSION=2
LIBISOFS_MICRO_VERSION=9
LIBISOFS_MINOR_VERSION=3
LIBISOFS_MICRO_VERSION=2
AC_SUBST(LIBISOFS_MAJOR_VERSION)
AC_SUBST(LIBISOFS_MINOR_VERSION)
AC_SUBST(LIBISOFS_MICRO_VERSION)
@ -409,16 +409,16 @@ then
fi
AH_TEMPLATE([Xorriso_dvd_obs_default_64K], [Define to make 64 KB default size for DVD/BD writing])
AH_TEMPLATE([Xorriso_dvd_obs_default_64K], [Define to make 64 KB default size for DVD writing])
AC_ARG_ENABLE(dvd-obs-64k,
[ --enable-dvd-obs-64k 64 KB default size for DVD/BD writing, default=no],
[ --enable-dvd-obs-64k 64 KB default size for DVD writing, default=no],
, enable_dvd_obs=no)
if test x$enable_dvd_obs_64k = xyes; then
XORRISO_DVD_OBS_64K="-DXorriso_dvd_obs_default_64K"
echo "enabled xorriso write size default 64 KB on DVD and BD"
echo "enabled xorriso write size default 64 KB on DVD"
else
XORRISO_DVD_OBS_64K=
echo "disabled xorriso write size default 64 KB on DVD and BD"
echo "disabled xorriso write size default 64 KB on DVD"
fi
if test x$XORRISO_DVD_OBS_64K = x-DXorriso_dvd_obs_default_64K
then

View File

@ -544,9 +544,12 @@ revoke_sorting:;
report_size= sub_size/1024;
if(report_size*1024<sub_size)
report_size++;
if(xorriso->sh_style_result)
sprintf(xorriso->result_line, "%-7.f ",(double) (report_size));
else
sprintf(xorriso->result_line, "%7.f ",(double) (report_size));
sprintf(xorriso->result_line+strlen(xorriso->result_line), "%s\n",
Text_shellsafe(show_path, sfe, 0));
Xorriso_esc_filepath(xorriso,show_path, sfe, 0));
Xorriso_result(xorriso, 0);
}
@ -848,7 +851,7 @@ int Xorriso_lsx_filev(struct XorrisO *xorriso, char *wd,
if(filec>1) {
strcpy(xorriso->result_line, "\n");
Xorriso_result(xorriso,0);
Text_shellsafe(filev[i], xorriso->result_line, 0);
Xorriso_esc_filepath(xorriso,filev[i], xorriso->result_line, 0);
strcat(xorriso->result_line, ":\n");
Xorriso_result(xorriso,0);
}
@ -894,14 +897,17 @@ int Xorriso_lsx_filev(struct XorrisO *xorriso, char *wd,
if(ret==0)
continue;
}
if(xorriso->sh_style_result)
sprintf(rpt, "%-7.f ",(double) (size/1024));
else
sprintf(rpt, "%7.f ",(double) (size/1024));
}
if(link_target[0]) {
Text_shellsafe(filev[i], xorriso->result_line, 1);
Xorriso_esc_filepath(xorriso,filev[i], xorriso->result_line, 1);
strcat(xorriso->result_line, " -> ");
Text_shellsafe(link_target, xorriso->result_line, 1 | 2);
Xorriso_esc_filepath(xorriso,link_target, xorriso->result_line, 1 | 2);
} else {
Text_shellsafe(filev[i], xorriso->result_line, 1);
Xorriso_esc_filepath(xorriso,filev[i], xorriso->result_line, 1);
}
strcat(xorriso->result_line, "\n");
Xorriso_result(xorriso, 0);
@ -1225,7 +1231,7 @@ int Xorriso_findx_action(struct XorrisO *xorriso, struct FindjoB *job,
} else if(action == 44) { /* list_extattr */
ret= Xorriso_list_extattr(xorriso, NULL, abs_path, show_path, target, 2);
} else {
Text_shellsafe(show_path, xorriso->result_line, 0);
Xorriso_esc_filepath(xorriso,show_path, xorriso->result_line, 0);
strcat(xorriso->result_line, "\n");
Xorriso_result(xorriso, 0);
ret= 1;
@ -1775,7 +1781,7 @@ int Xorriso_afile_fopen(struct XorrisO *xorriso,
if(fp==NULL){
if(!(flag&1)) {
sprintf(xorriso->info_text,
"Failed to open file '%s' in %s mode\n", filename, mode);
"Failed to open file '%s' in %s mode", filename, mode);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
}
return(0);

View File

@ -587,7 +587,8 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
""
};
static char arg1_options[][41]= {
"-abstract", "-A", "-appid", "-biblio", "-b", "-B", "-boot-load-seg",
"-abstract", "-A", "-appid", "--application_use",
"-biblio", "-b", "-B", "-boot-load-seg",
"-boot-load-size", "-C", "-c", "-check-session", "-copyright",
"-dir-mode", "-eltorito-id", "-eltorito-selcrit",
"-file-mode", "-G", "-gid", "-hide", "-hide-list",
@ -619,7 +620,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-partition_sec_hd", "-partition_cyl_align", "-untranslated_name_len",
"-rr_reloc_dir", "-hfsplus-serial-no", "-prep-boot-part", "-efi-boot-part",
"-hfsplus-block-size", "-apm-block-size", "--grub2-mbr",
"--grub2-sparc-core",
"--grub2-sparc-core", "--sort-weight-list", "--sort-weight-patterns",
""
};
static char arg2_options[][41]= {
@ -676,7 +677,7 @@ int Xorriso_genisofs_ignore(struct XorrisO *xorriso, char *whom,
"-L", "-no-bak", "-no-cache-inodes",
"-no-split-symlink-components", "-no-split-symlink-fields", "-nobak",
"-force-rr", "-T",
"-no-iso-translate", "-gui",
"-no-iso-translate",
""
};
static char ignored_arg1_options[][41]= {
@ -774,6 +775,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" --quoted_path_list FILE File with list of quoted pathnames to process",
" -print-size Print estimated filesystem size and exit",
" -quiet Run quietly",
" -gui Switch behaviour for GUI",
" -R, -rock Generate Rock Ridge directory information",
" -r, -rational-rock Generate rationalized Rock Ridge directory information",
" --norock Disable Rock Ridge. (Strongly discouraged !)",
@ -792,6 +794,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -abstract FILE Set Abstract filename",
" -biblio FILE Set Bibliographic filename",
" -copyright FILE Set Copyright filename",
" --application_use CHAR|PATH Set content of Application Use field",
" -jigdo-jigdo FILE Produce a jigdo .jigdo file as well as the .iso",
" -jigdo-template FILE Produce a jigdo .template file as well as the .iso",
" -jigdo-min-file-size SIZE Minimum size for a file to be listed in the jigdo file",
@ -850,6 +853,8 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" isolinux_mbr=on|auto|off Control eventual isohybrid MBR generation",
#endif
" --sort-weight NUMBER FILE Set LBA weight number to file or file tree",
" --sort-weight-list DISKFILE Read list of NUMBER FILE pairs for --sort-weight",
" --sort-weight-patterns DISKFILE --sort-weight-list with pattern expansion",
" --stdio_sync on|off|number Control forced output to disk files",
" --no-emul-toc Save 64 kB size on random access output files",
" --emul-toc Multi-session history on such output files",
@ -876,7 +881,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
Xorriso_option_report_about(xorriso, "NOTE", 0);
for(i= 0; strcmp(helptext[i], "@End_of_helptexT@")!=0; i++) {
sprintf(xorriso->info_text, "%s\n", helptext[i]);
Xorriso_info(xorriso, 1);
Xorriso_info(xorriso, 1 | 2);
}
Xorriso_option_report_about(xorriso, ra_text, 0);
return(1);
@ -1143,10 +1148,10 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
int root_seen= 0, do_md5_mem, option_d= 0, arg_count;
mode_t mode_and, mode_or;
int with_boot_image= 0, with_cat_path= 0, with_emul_toc= 0;
int old_root_md5= 1, old_root_dev= 0, old_root_ino= 1;
int old_root_md5= 1, old_root_dev= 0, old_root_ino= 1, sort_file_pattern= 0;
int *weight_list= NULL, weight_count= 0;
int *delay_opt_list= NULL, delay_opt_count= 0;
char *sfe= NULL, *adr= NULL, ra_text[80], *pathspec= NULL;
char *sfe= NULL, *adr= NULL, ra_text[80], *pathspec= NULL, *sort_file= NULL;
char *ept, *add_pt, *eff_path= NULL, *indev= NULL, msc[80], *cpt;
char *old_root= NULL, *argpt, *hargv[1];
char *boot_path, partno_text[8], *iso_rr_pt, *disk_pt, *rpt, *wpt;
@ -1161,6 +1166,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
Xorriso_alloc_meM(eff_path, char, SfileadrL);
Xorriso_alloc_meM(indev, char, SfileadrL+8);
Xorriso_alloc_meM(old_root, char, SfileadrL);
Xorriso_alloc_meM(sort_file, char, SfileadrL);
for(i= 0; i<argc; i++) {
if(strcmp(argv[i], "-log-file") == 0 ||
@ -1207,7 +1213,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
if(xorriso->boot_image_cat_path[0])
with_cat_path= -1;
adr[0]= indev[0]= msc[0]= old_root[0]= 0;
adr[0]= indev[0]= msc[0]= old_root[0]= sort_file[0]= 0;
for(i= 0; i<argc; i++) {
ret= Xorriso_genisofs_strip_dash(xorriso, argv[i], &argpt, 0);
if(ret <= 0)
@ -1409,6 +1415,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
xorriso->no_emul_toc|= 1;
} else if(strcmp(argpt, "-log-file") == 0) {
/* already handled before this loop */;
} else if(strcmp(argpt, "-gui") == 0) {
xorriso->pacifier_interval= 0.25;
} else {
if(argv[i][0] == '-') {
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1,
@ -1659,6 +1667,7 @@ not_enough_args:;
strcmp(argpt, "-p")==0 || strcmp(argpt, "-preparer")==0 ||
strcmp(argpt, "-P")==0 || strcmp(argpt, "-publisher")==0 ||
strcmp(argpt, "-A")==0 || strcmp(argpt, "-appid")==0 ||
strcmp(argpt, "--application_use")==0 ||
strcmp(argpt, "-sysid")==0 ||
strcmp(argpt, "-biblio")==0 ||
strcmp(argpt, "-copyright")==0 ||
@ -1687,6 +1696,8 @@ not_enough_args:;
ret= Xorriso_option_copyright_file(xorriso, argv[i], 0);
else if(strcmp(argpt, "-abstract")==0)
ret= Xorriso_option_abstract_file(xorriso, argv[i], 0);
else if(strcmp(argpt, "--application_use")==0)
ret= Xorriso_option_application_use(xorriso, argv[i], 0);
if(ret<=0)
goto problem_handler_2;
} else if(strcmp(argpt, "-m")==0 || strcmp(argpt, "-exclude")==0 ||
@ -1787,6 +1798,15 @@ not_enough_args:;
i+= 2;
/* memorize for find runs after pathspecs have been added */
weight_list[weight_count++]= i - 2;
} else if(strcmp(argpt, "--sort-weight-list") == 0 ||
strcmp(argpt, "--sort-weight-patterns") == 0) {
if(i + 1 >= argc)
goto not_enough_args;
i++;
if(Sfile_str(sort_file, argv[i], 0) <= 0)
{ret= -1; goto ex;}
sort_file_pattern= (strcmp(argpt, "--sort-weight-patterns") == 0);
} else if(strcmp(argpt, "-z")==0 ||
strcmp(argpt, "-transparent-compression")==0) {
/* was already handled in first argument scan */;
@ -2025,6 +2045,9 @@ rr_reloc_dir:;
} else if(strcmp(argpt, "-log-file") == 0) {
/* was already handled before this loop */;
} else if(strcmp(argpt, "-gui") == 0) {
/* was already handled in first argument scan */;
} else if(argpt[0]=='-' && argpt[1]!=0) {
ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1,
&option_d, &iso_level, &lower_r, ra_text, 1);
@ -2184,6 +2207,12 @@ problem_handler_2:;
goto ex;
}
if(sort_file[0]) {
ret= Xorriso_apply_sort_file(xorriso, sort_file, sort_file_pattern);
if(ret<=0)
goto ex;
}
for(j= 0; j < weight_count; j++) {
i= weight_list[j];
/* find argv[i+2] -exec sort_weight argv[i+1] */

View File

@ -2565,6 +2565,7 @@ int Xorriso_findi_action(struct XorrisO *xorriso, struct FindjoB *job,
ret= Xorriso_mkisofs_lower_r(xorriso, node, 0);
} else if(action == 38) { /* sort_weight */
iso_node_set_sort_weight(node, type);
Xorriso_set_change_pending(xorriso, 0);
} else if(action == 39) { /* hide */
Xorriso_set_hidden(xorriso, node, NULL, type, 0);
} else if(action == 40) { /* estimate_size */
@ -2675,7 +2676,7 @@ int Xorriso_findi_action(struct XorrisO *xorriso, struct FindjoB *job,
ret= 1;
} else { /* includes : 15 in_iso */
Text_shellsafe(show_path, xorriso->result_line, 0);
Xorriso_esc_filepath(xorriso, show_path, xorriso->result_line, 0);
strcat(xorriso->result_line, "\n");
Xorriso_result(xorriso, 0);
ret= 1;
@ -3953,3 +3954,85 @@ int Xorriso_get_blessing(struct XorrisO *xorriso, IsoNode *node,
}
/* @param flag bit0= use file addresses as search patterns
*/
int Xorriso_apply_sort_file(struct XorrisO *xorriso, char *path, int flag)
{
int ret, linecount= 0, filec= 0, zero, i;
FILE *fp= NULL;
char *sret, *line= NULL, *spt, *tpt, *patterns[1], **filev= NULL;
char *sort_weight_args[4];
off_t mem= 0;
IsoImage *volume;
Xorriso_alloc_meM(line, char, SfileadrL);
ret= Xorriso_get_volume(xorriso, &volume, 0);
if(ret<=0)
goto ex;
ret= Xorriso_afile_fopen(xorriso, path, "rb", &fp, 2);
if(ret <= 0)
{ret= 0; goto ex;}
while(1) {
sret= Sfile_fgets_n(line, SfileadrL - 1, fp, 0);
if(sret == NULL) {
if(ferror(fp))
{ret= 0; goto ex;}
break;
}
linecount++;
/* Find first space or tab */
spt= strchr(line, ' ');
tpt= strchr(line, '\t');
if(spt == NULL || (tpt != NULL && tpt < spt))
spt= tpt;
if(spt == NULL) {
sprintf(xorriso->info_text,
"No space or tab character found in line %d of sort weight file ",
linecount);
Text_shellsafe(path, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto ex;
}
*spt= 0;
patterns[0]= spt + 1;
if(flag & 1) {
/* Obtain list of matching files */
ret= Xorriso_expand_pattern(xorriso, 1, patterns, 0,
&filec, &filev, &mem, 4);
if(ret <= 0)
{ret= 0; goto ex;}
} else {
filec= 1;
}
/* Apply weight to file or directory tree */
for(i= 0; i < filec; i++) {
zero= 0;
if(flag & 1) {
sort_weight_args[0]= filev[i];
} else {
sort_weight_args[0]= patterns[0];
}
sort_weight_args[1]= "-exec";
sort_weight_args[2]= "sort_weight";
sort_weight_args[3]= line;
ret= Xorriso_option_find(xorriso, 4, sort_weight_args, &zero, 2);
if(ret <= 0)
{ret= 0; goto ex;}
}
if(flag & 1)
Sfile_destroy_argv(&filec, &filev, 0);
}
ret= 1;
ex:
if(fp != NULL)
fclose(fp);
Xorriso_free_meM(line);
Sfile_destroy_argv(&filec, &filev, 0);
return(ret);
}

View File

@ -1448,9 +1448,12 @@ much_too_long:;
report_size= sub_size/1024;
if(report_size*1024<sub_size)
report_size++;
if(xorriso->sh_style_result)
sprintf(xorriso->result_line, "%-7.f ",(double) (report_size));
else
sprintf(xorriso->result_line, "%7.f ",(double) (report_size));
sprintf(xorriso->result_line+strlen(xorriso->result_line), "%s\n",
Text_shellsafe(show_path, sfe, 0));
Xorriso_esc_filepath(xorriso, show_path, sfe, 0));
Xorriso_result(xorriso, 0);
}
ret= 1;
@ -1621,7 +1624,7 @@ int Xorriso_ls_filev(struct XorrisO *xorriso, char *wd,
if(filec>1) {
strcpy(xorriso->result_line, "\n");
Xorriso_result(xorriso,0);
Text_shellsafe(filev[i], xorriso->result_line, 0);
Xorriso_esc_filepath(xorriso, filev[i], xorriso->result_line, 0);
strcat(xorriso->result_line, ":\n");
Xorriso_result(xorriso,0);
}
@ -1670,14 +1673,17 @@ int Xorriso_ls_filev(struct XorrisO *xorriso, char *wd,
if(ret==0)
continue;
}
if(xorriso->sh_style_result)
sprintf(rpt, "%-7.f ",(double) (size/1024));
else
sprintf(rpt, "%7.f ",(double) (size/1024));
}
if(link_target[0] && (flag&5)==1) {
Text_shellsafe(filev[i], xorriso->result_line, 1),
Xorriso_esc_filepath(xorriso, filev[i], xorriso->result_line, 1),
strcat(xorriso->result_line, " -> ");
Text_shellsafe(link_target, xorriso->result_line, 1 | 2);
Xorriso_esc_filepath(xorriso, link_target, xorriso->result_line, 1 | 2);
} else {
Text_shellsafe(filev[i], xorriso->result_line, 1);
Xorriso_esc_filepath(xorriso, filev[i], xorriso->result_line, 1);
}
strcat(xorriso->result_line, "\n");
Xorriso_result(xorriso, 0);
@ -1783,11 +1789,11 @@ cannot_create_iter:;
continue;
}
if(link_target[0] && (flag&1)) {
Text_shellsafe(npt, xorriso->result_line, 1);
Xorriso_esc_filepath(xorriso, npt, xorriso->result_line, 1);
strcat(xorriso->result_line, " -> ");
Text_shellsafe(link_target, xorriso->result_line, 1 | 2);
Xorriso_esc_filepath(xorriso, link_target, xorriso->result_line, 1 | 2);
} else {
Text_shellsafe(npt, xorriso->result_line, 1);
Xorriso_esc_filepath(xorriso, npt, xorriso->result_line, 1);
}
strcat(xorriso->result_line, "\n");
Xorriso_result(xorriso, 0);
@ -1883,6 +1889,7 @@ ex:;
/* @param flag bit0= a match count !=1 is a FAILURE event
bit1= with bit0 tolerate 0 matches if pattern is a constant
bit2= do not issue debug messages about temporay memory needs
*/
int Xorriso_expand_pattern(struct XorrisO *xorriso,
int num_patterns, char **patterns, int extra_filec,
@ -1965,7 +1972,7 @@ int Xorriso_expand_pattern(struct XorrisO *xorriso,
mem+= extra_filec*sizeof(char *);
if(count<=0)
{ret= 0; goto ex;}
ret= Xorriso_alloc_pattern_mem(xorriso, *mem, count, filev, 0);
ret= Xorriso_alloc_pattern_mem(xorriso, *mem, count, filev, !!(flag & 4));
if(ret<=0)
goto ex;
/* now store addresses */

View File

@ -103,6 +103,7 @@ int Xorriso_set_signal_handling(struct XorrisO *xorriso, int flag)
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FATAL", 0);
return(-1);
}
mode|= 256; /* Ignore SIGPIPE */
/* <<< */
sprintf(xorriso->info_text, "burn_set_signal_handling(%d)", mode);

View File

@ -40,7 +40,7 @@ create_gnu_xorriso="yes"
current_dir=$(pwd)
lone_dir="$current_dir"/"xorriso-standalone"
xorriso_rev=1.2.9
xorriso_rev=1.3.2
# For unstable uploads and patch level 0 of stable releases:
xorriso_pl=""
# For higher patch levels of stable releases:
@ -238,6 +238,7 @@ copy_files \
frontend/frontend_pipes_xorriso.c \
frontend/README-tcltk \
frontend/xorriso-tcltk \
frontend/sh_on_named_pipes.sh \
"$lone_dir"/frontend

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2013 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -347,6 +347,21 @@ int Xorriso_option_application_id(struct XorrisO *xorriso, char *name,
}
/* Command -application_use */
int Xorriso_option_application_use(struct XorrisO *xorriso, char *path,
int flag)
{
if(Sfile_str(xorriso->application_use, path, 0) <= 0) {
sprintf(xorriso->info_text,
"-application_use: parameter string is much too long (%d)",
(int) strlen(path));
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
return(1);
}
/* Option -as */
/* @param flag bit0=do not report the added item
bit1=do not reset pacifier, no final pacifier message
@ -615,6 +630,8 @@ unusable_size:;
if(size <= 0)
goto unusable_size;
mode_flag= 3;
} else if(strcmp(mode, "without_spare") == 0 && (flag & 1)) {
mode_flag= 32;
} else {
sprintf(xorriso->info_text,
"%s: Unknown %s mode '%s'",
@ -630,7 +647,7 @@ unusable_size:;
if(as_needed)
ret= Xorriso_blank_as_needed(xorriso, (flag&1)<<2);
else if(flag&1)
ret= Xorriso_format_media(xorriso, size, mode_flag & 0xff83);
ret= Xorriso_format_media(xorriso, size, mode_flag & 0xffa7);
else
ret= Xorriso_blank_media(xorriso, mode_flag&3);
if(ret==0)
@ -1207,8 +1224,10 @@ int Xorriso_option_cdi(struct XorrisO *xorriso, char *iso_rr_path, int flag)
Xorriso_warn_of_wildcards(xorriso, iso_rr_path, 1);
sprintf(xorriso->info_text,"previous working directory:\n");
Xorriso_info(xorriso,0);
Text_shellsafe(xorriso->wdi, xorriso->result_line, 0);
strcat(xorriso->result_line, "/\n");
Xorriso_esc_filepath(xorriso, xorriso->wdi, xorriso->result_line, 0);
if(xorriso->sh_style_result == 0 || xorriso->wdi[0] == 0)
strcat(xorriso->result_line, "/");
strcat(xorriso->result_line, "\n");
Xorriso_result(xorriso,0);
if(strcmp(iso_rr_path,"/")==0 || iso_rr_path[0]==0) {
strcpy(xorriso->wdi,"");
@ -1268,8 +1287,10 @@ int Xorriso_option_cdx(struct XorrisO *xorriso, char *disk_path, int flag)
Xorriso_warn_of_wildcards(xorriso, disk_path, 1|2);
sprintf(xorriso->info_text,"previous working directory on hard disk:\n");
Xorriso_info(xorriso,0);
Text_shellsafe(xorriso->wdx, xorriso->result_line, 0);
strcat(xorriso->result_line, "/\n");
Xorriso_esc_filepath(xorriso, xorriso->wdx, xorriso->result_line, 0);
if(xorriso->sh_style_result == 0 || xorriso->wdx[0] == 0)
strcat(xorriso->result_line, "/");
strcat(xorriso->result_line, "\n");
Xorriso_result(xorriso,0);
if(strcmp(disk_path,"/")==0) {
strcpy(xorriso->wdx,"");

View File

@ -1607,6 +1607,10 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" Specifies the name of the Bibliographic File. (37 chars)",
" -abstract_file name",
" Specifies the name of the Abstract File. (37 chars)",
" -application_use character|0xXY|disk_path",
" Specifies the content of Application Use field. (512 bytes)",
" A single character or a hex code gets repeated 512 times.",
" Other text gets opened as data file and 512 bytes are read.",
" -joliet \"on\"|\"off\"",
" Generate Joliet info additional to Rock Ridge info.",
" -hfsplus \"on\"|\"off\"",
@ -2070,11 +2074,15 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" width (default 80) can adjust line number computation",
" to the output terminal's line width.",
#ifdef Xorriso_with_readlinE
" -use_stdin Use raw standard input even if libreadline is available",
" -use_readline Use libreadline for dialog if available",
" -use_readline \"on\"|\"off\"",
" Whether to use libreadline for dialog if available.",
" -history text Copy text into libreadline history. This command",
" itself is not copied to the history list.",
#endif /* Xorriso_with_readlinE */
" -sh_style_result \"on\"|\"off\"",
" If \"on\" do not wrap file addresses in quotation marks with",
" -pwd -pwdx -ls -lsd -lsl -lsdl -lsx -lsdx -lslx -lsdlx",
" -du -dus -dux -dusx -findx -find",
" -backslash_codes \"on\"|\"off\"|",
" \"in_double_quotes\"|\"in_quotes\"|\"with_quoted_input\"",
" [:\"with_program_arguments\"][:\"encode_output\"]",
@ -2090,9 +2098,17 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" I:1: enter option text :",
" -pkt_output:on is intended for use by frontend programs.",
" -msg_op \"start_sieve\"|\"read_sieve\"|\"clear_sieve\"|\"end_sieve\"|",
" \"parse\"|\"parse_bulk\"|\"compare_sev\"|\"list_sev\" param_text",
" \"parse\"|\"parse_silently\"|\"parse_bulk\"|\"parse_bulk_silently\"|",
" \"compare_sev\"|\"list_sev\" param_text",
" Enable, use, or disable message sieve. Or parse lines into",
" words. Or compare or list severity names.",
" -named_pipes_loop mode[:mode]",
" disk_path_stdin disk_path_stdout disk_path_stderr",
" Enter an EOF resistant dialog loop at a named pipe as input",
" and zero, one or two named pipes as output. \"-\" = no pipe.",
" Mode \"cleanup\" removes pipes at loop end. \"keep\" does not.",
" Mode \"buffered\" reads all lines from input pipe before it",
" opens the output pipes. \"direct\" opens after first input.",
" -launch_frontend program [args ...] --",
" Start a program, connect its stdin to xorriso stdout and",
" stderr, connect its stdout to xorriso stdin.",
@ -2251,7 +2267,7 @@ ex:;
/* Option -history */
int Xorriso_option_history(struct XorrisO *xorriso, char *line, int flag)
{
Xorriso_dialog_input(xorriso,line,strlen(line)+1,2);
Xorriso_dialog_input(xorriso, line, strlen(line) + 1, 2 | 32);
return(1);
}

View File

@ -315,19 +315,27 @@ logfile_wrong_form:;
/* Options -ls alias -lsi and -lsl alias -lsli
and -lsd alias -lsdi and -lsdl alias -lsdli
and -du alias -dui and -dus alias -dusi
@param flag bit0= long format (-lsl , -du)
@param flag bit0= long format (-lsl , -du, not -dus, not -ls)
bit1= do not expand patterns but use literally
bit2= du rather than ls
bit3= list directories as themselves (ls -d)
bit2= -du rather than -ls
bit3= list directories as themselves (-lsd)
*/
int Xorriso_option_lsi(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag)
{
int ret, end_idx, filec= 0, nump, i;
int ret, end_idx, filec= 0, nump, i, star= 1;
char **filev= NULL, **patterns= NULL;
off_t mem= 0;
struct stat stbuf;
if(flag & 4) {
if(!(flag & 1))
star= 0;
} else {
if(flag & 8)
star= 0;
}
end_idx= Xorriso_end_idx(xorriso, argc, argv, *idx, 1);
if(xorriso->do_iso_rr_pattern==0)
flag|= 2;
@ -357,19 +365,22 @@ no_memory:;
{ret= -1; goto ex;}
}
nump= 1;
if(flag&8)
patterns[0]= ".";
else
if(star)
patterns[0]= "*";
else
patterns[0]= ".";
flag&= ~2;
} else {
patterns= calloc(nump, sizeof(char *));
if(patterns==NULL)
goto no_memory;
for(i= 0; i<nump; i++) {
if(argv[i + *idx][0]==0)
if(argv[i + *idx][0]==0) {
if(star)
patterns[i]= "*";
else
patterns[i]= ".";
} else
patterns[i]= argv[i + *idx];
}
}
@ -904,7 +915,9 @@ int Xorriso_option_msg_op(struct XorrisO *xorriso, char *what, char *arg,
msd_mem= xorriso->msg_sieve_disabled;
ret= 1;
if(strcmp(what, "parse") == 0 || strcmp(what, "parse_bulk") == 0) {
if(strcmp(what, "parse") == 0 || strcmp(what, "parse_silently") == 0 ||
strcmp(what, "parse_bulk") == 0 ||
strcmp(what, "parse_bulk_silently") == 0) {
ret= Xorriso_parse_line(xorriso, arg, "", "", 5, &argc, &argv, 0);
prefix= "";
if(argc > 0)
@ -921,12 +934,14 @@ int Xorriso_option_msg_op(struct XorrisO *xorriso, char *what, char *arg,
input_lines= 1;
if(argc > 4)
sscanf(argv[4], "%d", &input_lines);
if(strcmp(what, "parse") == 0) {
if(strcmp(what, "parse") == 0 || strcmp(what, "parse_silently") == 0) {
ret= Xorriso_msg_op_parse(xorriso, "", prefix, separators,
max_words, pflag, input_lines, 0);
max_words, pflag, input_lines,
(strcmp(what, "parse_silently") == 0));
} else {
ret= Xorriso_msg_op_parse_bulk(xorriso, prefix, separators,
max_words, pflag, input_lines, 0);
max_words, pflag, input_lines,
(strcmp(what, "parse_bulk_silently") == 0));
}
if(ret <= 0)
goto ex;
@ -1086,6 +1101,48 @@ ex:;
}
/* Option -named_pipe_loop */
int Xorriso_option_named_pipe_loop(struct XorrisO *xorriso, char *mode,
char *stdin_pipe, char *stdout_pipe,
char *stderr_pipe, int flag)
{
char *pipe_paths[3], *cpt, *npt;
int ret, hflag= 0, l;
npt= mode;
for(cpt= mode; npt != NULL; cpt= npt + 1) {
npt= strchr(cpt, ':');
if(npt==NULL)
l= strlen(cpt);
else
l= npt-cpt;
if(l==0) {
;
} else if(strncmp(cpt, "-", l) == 0) {
;
} else if(strncmp(cpt, "cleanup", l) == 0) {
hflag|= 1;
} else if(strncmp(cpt, "keep", l) == 0) {
hflag&= ~1;
} else if(strncmp(cpt, "buffered", l) == 0) {
hflag|= 2;
} else if(strncmp(cpt, "direct", l) == 0) {
hflag&= ~2;
} else {
sprintf(xorriso->info_text, "-named_pipe_loop: unknown mode in '%s'",
mode);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
}
pipe_paths[0]= stdin_pipe;
pipe_paths[1]= stdout_pipe;
pipe_paths[2]= stderr_pipe;
ret= Xorriso_named_pipe_loop(xorriso, pipe_paths, hflag);
return(ret);
}
/* Option -no_rc */
int Xorriso_option_no_rc(struct XorrisO *xorriso, int flag)
{

View File

@ -33,6 +33,10 @@
/* Option -pacifier */
int Xorriso_option_pacifier(struct XorrisO *xorriso, char *style, int flag)
{
#define Xorriso_pacifier_min_intvL 0.1
#define Xorriso_pacifier_max_intvL 60.0
if(strcmp(style, "xorriso")==0 || strcmp(style, "default")==0)
xorriso->pacifier_style= 0;
else if(strcmp(style, "mkisofs")==0 || strcmp(style, "genisofs")==0 ||
@ -41,7 +45,24 @@ int Xorriso_option_pacifier(struct XorrisO *xorriso, char *style, int flag)
else if(strcmp(style, "cdrecord")==0 || strcmp(style, "cdrskin")==0 ||
strcmp(style, "wodim")==0 || strcmp(style, "xorrecord")==0)
xorriso->pacifier_style= 2;
else {
else if(strncmp(style, "interval=", 9) == 0) {
sscanf(style + 9, "%lf", &(xorriso->pacifier_interval));
if(xorriso->pacifier_interval < Xorriso_pacifier_min_intvL) {
sprintf(xorriso->info_text,
"-pacifier: interval='%s' is too low. Min: %f",
style, Xorriso_pacifier_min_intvL);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
xorriso->pacifier_interval= Xorriso_pacifier_min_intvL;
} else if(xorriso->pacifier_interval > Xorriso_pacifier_max_intvL) {
sprintf(xorriso->info_text,
"-pacifier: interval='%s' is too high. Max: %f",
style, Xorriso_pacifier_max_intvL);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
xorriso->pacifier_interval= Xorriso_pacifier_max_intvL;
}
} else {
sprintf(xorriso->info_text, "-pacifier: unknown behavior code '%s'", style);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
return(0);
@ -395,8 +416,10 @@ int Xorriso_option_pwdi(struct XorrisO *xorriso, int flag)
{
sprintf(xorriso->info_text,"current working directory in ISO image:\n");
Xorriso_info(xorriso,0);
Text_shellsafe(xorriso->wdi, xorriso->result_line, 0);
strcat(xorriso->result_line, "/\n");
Xorriso_esc_filepath(xorriso, xorriso->wdi, xorriso->result_line, 0);
if(xorriso->sh_style_result == 0 || xorriso->wdi[0] == 0)
strcat(xorriso->result_line, "/");
strcat(xorriso->result_line, "\n");
Xorriso_result(xorriso,0);
return(1);
}
@ -407,7 +430,10 @@ int Xorriso_option_pwdx(struct XorrisO *xorriso, int flag)
{
sprintf(xorriso->info_text,"current working directory on hard disk:\n");
Xorriso_info(xorriso,0);
sprintf(xorriso->result_line,"%s/\n",xorriso->wdx);
Xorriso_esc_filepath(xorriso, xorriso->wdx, xorriso->result_line, 0);
if(xorriso->sh_style_result == 0 || xorriso->wdx[0] == 0)
strcat(xorriso->result_line, "/");
strcat(xorriso->result_line, "\n");
Xorriso_result(xorriso,0);
return(1);
}
@ -1202,6 +1228,23 @@ ex:;
}
/* Option -sh_style_result */
int Xorriso_option_sh_style_result(struct XorrisO *xorriso, char *mode,
int flag)
{
if(strcmp(mode, "off") == 0) {
xorriso->sh_style_result= 0;
} else if(strcmp(mode, "on") == 0) {
xorriso->sh_style_result= 1;
} else {
sprintf(xorriso->info_text, "-sh_style_result: unknown mode '%s'", mode);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
return(1);
}
/* Option -signal_handling */
/* @param flag bit0= prescan mode: do not yet install the eventual handler
else: when switching from other modes to "off":

View File

@ -499,8 +499,8 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
""
};
static char arg1_commands[][40]= {
"abort_on","acl","add_plainly","application_id","auto_charset",
"abstract_file",
"abort_on","acl","add_plainly","application_id","application_use",
"auto_charset","abstract_file",
"backslash_codes","blank","biblio_file",
"calm_drive","cd","cdi","cdx","changes_pending","charset",
"close","close_damaged",
@ -517,7 +517,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
"prog","prog_help","publisher","quoted_not_list","quoted_path_list",
"reassure","report_about","rockridge",
"rom_toc_scan","rr_reloc_dir","scsi_log",
"session_log","signal_handling","sleep",
"session_log","sh_style_result","signal_handling","sleep",
"speed","split_size","status","status_history_max",
"stdio_sync","stream_recording","system_id","temp_mem_limit","toc_of",
"uid","unregister_filter","use_readline","volid","volset_id",
@ -538,7 +538,8 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
""
};
static char arg4_commands[][40]= {
"cut_out","extract_cut","mount","mount_cmd","paste_in","session_string",
"cut_out","extract_cut","mount","mount_cmd","named_pipe_loop",
"paste_in","session_string",
""
};
static char argn_commands[][40]= {
@ -641,6 +642,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"errfile_log", "session_log", "scsi_log",
"options_from_file", "list_delimiter",
"print", "print_info", "print_mark", "prompt", "sleep",
"sh_style_result",
"* Drive and media related inquiry actions (1):",
"devices", "device_links",
@ -705,8 +707,8 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"rockridge", "joliet", "hfsplus","compliance", "rr_reloc_dir",
"volid", "volset_id", "publisher",
"application_id", "system_id", "volume_date", "copyright_file",
"abstract_file", "biblio_file", "preparer_id", "out_charset",
"read_mkisofsrc",
"abstract_file", "biblio_file", "preparer_id", "application_use",
"out_charset", "read_mkisofsrc",
"uid", "gid", "zisofs", "speed", "stream_recording", "dvd_obs",
"stdio_sync", "dummy", "fs", "close", "padding", "write_type",
"grow_blindly", "pacifier", "scdbackup_tag",
@ -741,7 +743,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"dialog", "page", "use_readline", "reassure",
"* Support for frontend programs via stdin and stdout (3):",
"launch_frontend",
"launch_frontend", "named_pipe_loop",
"* Scripting, dialog and program control features (3):",
"rollback_end", "end",
@ -902,7 +904,7 @@ return:
{
int ret, was_dashed, end_ret, num1, num2, cmd_data_size= 2 * SfileadrL;
int mem_idx, arg_count, i;
char *cmd, *original_cmd, *cmd_data= NULL, *arg1, *arg2, *arg3;
char *cmd, *original_cmd, *cmd_data= NULL, *arg1, *arg2, *arg3, *arg4;
Xorriso_alloc_meM(cmd_data, char, cmd_data_size);
@ -1018,6 +1020,10 @@ next_command:;
(*idx)++;
ret= Xorriso_option_application_id(xorriso, arg1, 0);
} else if(strcmp(cmd,"application_use") == 0) {
(*idx)++;
ret= Xorriso_option_application_use(xorriso, arg1, 0);
} else if(strcmp(cmd,"as")==0) {
ret= Xorriso_option_as(xorriso, argc, argv, idx, 0);
@ -1460,6 +1466,16 @@ next_command:;
} else if(strcmp(cmd,"mkdir")==0 || strcmp(cmd,"mkdiri")==0) {
ret= Xorriso_option_mkdiri(xorriso, argc, argv, idx, 0);
} else if(strcmp(cmd,"named_pipe_loop")==0) {
if((*idx) + 3 < argc)
arg4= argv[(*idx) + 3];
else
arg4= "";
(*idx)+= 4;
ret= Xorriso_option_named_pipe_loop(xorriso, arg1, arg2, arg3, arg4, 0);
if(ret == 3)
goto ex;
} else if(strcmp(cmd,"no_rc")==0) {
ret= Xorriso_option_no_rc(xorriso, 0);
@ -1698,6 +1714,10 @@ next_command:;
ret= Xorriso_option_set_filter(xorriso, "", argc, argv, idx,
(strcmp(cmd,"show_stream_r")==0) | 2 | 4);
} else if(strcmp(cmd,"sh_style_result")==0) {
(*idx)++;
ret= Xorriso_option_sh_style_result(xorriso, arg1, 0);
} else if(strcmp(cmd,"signal_handling")==0) {
(*idx)++;
ret= Xorriso_option_signal_handling(xorriso, arg1, 0);
@ -2086,6 +2106,26 @@ ex:;
}
/* @return 1=replaced , 2=not replaced , <=0 = error
*/
int Xorriso_replace_arg_by_bsl(struct XorrisO *xorriso, char **arg,
char **argpt, int flag)
{
int ret, eaten, l;
if(!(xorriso->bsl_interpretation & 16))
return(2);
l= strlen(*argpt);
Xorriso_free_meM(*arg);
Xorriso_alloc_meM(*arg, char, l + 1);
strcpy(*arg, *argpt);
*argpt= *arg;
ret= Sfile_bsl_interpreter(*arg, l, &eaten, 0);
ex:;
return(ret);
}
int Xorriso_prescan_args(struct XorrisO *xorriso, int argc, char **argv,
int flag)
/*
@ -2100,14 +2140,16 @@ int Xorriso_prescan_args(struct XorrisO *xorriso, int argc, char **argv,
*/
{
int i, ret, was_dashed, num2, arg_count;
int advice, mem_add_plainly, error_seen= 0;
int advice, mem_add_plainly, error_seen= 0, mem_bsl;
int was_report_about= 0, was_abort_on= 0, was_return_with= 0;
int was_signal_handling= 0, was_scsi_log= 0, cmd_data_size= 5 * SfileadrL;
char *cmd, *original_cmd, *cmd_data= NULL, *arg1, *arg2;
char *arg1_data= NULL, *arg2_data= NULL;
char mem_list_delimiter[81];
strcpy(mem_list_delimiter, xorriso->list_delimiter);
mem_add_plainly= xorriso->add_plainly;
mem_bsl= xorriso->bsl_interpretation;
Xorriso_alloc_meM(cmd_data, char, cmd_data_size);
@ -2121,11 +2163,19 @@ int Xorriso_prescan_args(struct XorrisO *xorriso, int argc, char **argv,
{ret= -1; goto ex;}
arg1= "";
if(i+1<argc)
if(i + 1 < argc) {
arg1= argv[i + 1];
ret= Xorriso_replace_arg_by_bsl(xorriso, &arg1_data, &arg1, 0);
if(ret <= 0)
goto ex;
}
arg2= "";
if(i+2<argc)
if(i + 2 < argc) {
arg2= argv[i + 2];
ret= Xorriso_replace_arg_by_bsl(xorriso, &arg2_data, &arg2, 0);
if(ret <= 0)
goto ex;
}
if(i>1)
xorriso->did_something_useful= 1;
if(i==1 && argc==2) {
@ -2255,6 +2305,12 @@ protect_stdout:;
} else if(strcmp(original_cmd, "-x") == 0) {
xorriso->arrange_args= 1;
} else if(strcmp(cmd, "backslash_codes") == 0) {
i++;
ret= Xorriso_option_backslash_codes(xorriso, arg1, 0);
if(ret <= 0)
error_seen= 1;
} else {
ret= Xorriso_count_args(xorriso, argc - i, argv + i, &arg_count, 1);
if(ret == 1) {
@ -2272,6 +2328,9 @@ protect_stdout:;
ex:;
strcpy(xorriso->list_delimiter, mem_list_delimiter);
xorriso->add_plainly= mem_add_plainly;
xorriso->bsl_interpretation= mem_bsl;
Xorriso_free_meM(arg1_data);
Xorriso_free_meM(arg2_data);
Xorriso_free_meM(cmd_data);
if(error_seen && ret > 0) {
advice= Xorriso_eval_problem_status(xorriso, 0, 0);
@ -2472,11 +2531,74 @@ int Xorriso_make_return_value(struct XorrisO *xorriso, int flag)
int Xorriso_program_arg_bsl(struct XorrisO *xorriso, int argc, char ***argv,
int flag)
{
int ret;
int i, ret, eaten, bsl_mem, params_to_come= 0, cmd_data_size= 5 * SfileadrL;
int next_is_backslash_codes= 0, next_is_list_delimiter= 0;
char **new_argv= NULL, *cmd, *cmd_data= NULL;
char mem_list_delimiter[81];
if(!(xorriso->bsl_interpretation & 16))
return(1);
ret= Sfile_argv_bsl(argc, argv, 0);
strcpy(mem_list_delimiter, xorriso->list_delimiter);
bsl_mem= xorriso->bsl_interpretation;
if(argc <= 0)
return(0);
Xorriso_alloc_meM(cmd_data, char, cmd_data_size);
new_argv= (char **) Smem_malloC(argc * sizeof(char *));
if(new_argv == NULL)
return(-1);
for(i= 0; i < argc; i++) {
new_argv[i]= strdup((*argv)[i]);
if(new_argv[i] == NULL)
{ret= -1; goto ex;}
if(i == 0)
continue;
if(xorriso->bsl_interpretation & 16) {
ret= Sfile_bsl_interpreter(new_argv[i], strlen(new_argv[i]), &eaten, 0);
if(ret <= 0)
goto ex;
}
if(params_to_come == 0) {
ret= Xorriso_normalize_command(xorriso, new_argv[i], i,
cmd_data, cmd_data_size, &cmd, 0);
if(ret < 0)
goto ex;
if(strcmp(cmd, "backslash_codes") == 0) {
params_to_come= 1;
next_is_backslash_codes= 1;
} else if(strcmp(cmd, "list_delimiter") == 0) {
params_to_come= 1;
next_is_list_delimiter= 1;
} else {
ret= Xorriso_count_args(xorriso, argc - i, *argv + i,
&params_to_come, 1);
if(ret <= 0)
goto ex;
if(ret != 1)
params_to_come= 0;
}
} else {
params_to_come--;
if(next_is_backslash_codes) {
next_is_backslash_codes= 0;
ret= Xorriso_option_backslash_codes(xorriso, new_argv[i], 0);
if(ret <= 0)
goto ex;
} else if(next_is_list_delimiter) {
next_is_list_delimiter= 0;
ret= Xorriso_option_list_delimiter(xorriso, new_argv[i], 0);
if(ret <= 0)
goto ex;
}
}
}
ret= 1;
ex:;
Xorriso_free_meM(cmd_data);
strcpy(xorriso->list_delimiter, mem_list_delimiter);
xorriso->bsl_interpretation= bsl_mem;
if(ret <= 0) {
if(new_argv != NULL)
free((char *) new_argv);
} else
*argv= new_argv;
return(ret);
}

View File

@ -519,35 +519,6 @@ not_a_code:;
}
int Sfile_argv_bsl(int argc, char ***argv, int flag)
{
int i, ret, eaten;
char **new_argv= NULL;
if(argc <= 0)
return(0);
new_argv= (char **) Smem_malloC(argc * sizeof(char *));
if(new_argv == NULL)
return(-1);
for(i= 0; i < argc; i++) {
new_argv[i]= strdup((*argv)[i]);
if(new_argv[i] == NULL)
{ret= -1; goto ex;}
ret= Sfile_bsl_interpreter(new_argv[i], strlen(new_argv[i]), &eaten, 0);
if(ret <= 0)
goto ex;
}
ret= 1;
ex:;
if(ret <= 0) {
if(new_argv != NULL)
free((char *) new_argv);
} else
*argv= new_argv;
return(ret);
}
/* @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

View File

@ -67,31 +67,51 @@ int Xorriso_dialog_input(struct XorrisO *xorriso, char line[], int linesize,
bit1= do not read input (but eventually write to history)
bit2= do not write to history line which begin with "-history:" or "-history "
bit3= enforce single line dialog mode
bit4= do not read from xorriso->buffered_dialog
bit5= write to history in any case (if it is enabled at compile time)
*/
{
char *cpt= NULL, **argv= NULL, *linept, *why_append= "";
int ret, argc= 0, base_length= 0, l, append_line;
int ret, argc= 0, base_length= 0, l, append_line, no_history= 0;
#ifdef Xorriso_with_readlinE
static char last_input[SfileadrL]= {""};
#endif /* ! Xorriso_with_readlinE */
double tdiff;
struct timeval tv;
struct timezone tz;
struct Xorriso_lsT *next_lst;
gettimeofday(&tv,&tz);
tdiff= tv.tv_sec+(1.e-6*(double) tv.tv_usec);
fflush(stdout);
linept= line;
no_history= (flag & 1) || xorriso->use_stdin;
get_single:;
if(xorriso->buffered_dialog != NULL && !(flag & 16)) {
/* Consume next buffered line */
next_lst= Xorriso_lst_get_next(xorriso->buffered_dialog, 0);
strcpy(line, Xorriso_lst_get_text(xorriso->buffered_dialog, 0));
Xorriso_lst_destroy(&(xorriso->buffered_dialog), 0);
xorriso->buffered_dialog= next_lst;
goto process_single;
}
#ifdef Xorriso_with_readlinE
if(xorriso->use_stdin || xorriso->dev_fd_1>=0) {
if(flag&2)
if(xorriso->use_stdin || xorriso->dev_fd_1>=0 ||
xorriso->tolerate_stdin_eof) {
if(flag&2) {
if(flag & 32)
goto put_into_history;
{ret= 1; goto ex;}
}
if(Sfile_fgets_n(linept,linesize - base_length - 1, stdin,
(xorriso->dialog == 2)) == NULL) {
if(xorriso->tolerate_stdin_eof)
{ret= -2; goto ex;}
/* need a very dramatic end */
kill(getpid(),SIGHUP);
{ret= -1; goto ex;}
@ -118,14 +138,14 @@ get_single:;
strcpy(linept, cpt);
}
process_single:;
#else /* Xorriso_with_readlinE */
if(flag&2)
{ret= 1; goto ex;}
if(Sfile_fgets_n(linept, linesize - base_length - 1, stdin,
(xorriso->dialog == 2)) == NULL) {
if(xorriso->tolerate_stdin_eof)
{ret= -2; goto ex;}
/* need a very dramatic end */
kill(getpid(),SIGHUP);
{ret= -1; goto ex;}
@ -133,6 +153,8 @@ process_single:;
#endif /* ! Xorriso_with_readlinE */
process_single:;
if(xorriso->dialog == 2 && !(flag & 8)) {
append_line= 0;
if(linept != line && strcmp(linept, "@@@") == 0) {
@ -185,13 +207,15 @@ new_empty:;
#ifdef Xorriso_with_readlinE
if(line[0]!=0 && strcmp(last_input,line)!=0 && !(flag&1))
put_into_history:;
if((flag & 32) || (line[0]!=0 && strcmp(last_input,line)!=0 && !no_history)) {
if(!((flag&4) &&
(strncmp(line,"-history:",9)==0 || strncmp(line,"-history ",9)==0))) {
add_history(line);
strncpy(last_input,line,sizeof(last_input)-1);
last_input[sizeof(last_input)-1]= 0;
}
}
#endif /* ! Xorriso_with_readlinE */
@ -2475,6 +2499,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->sh_style_result == 0);
sprintf(line, "-sh_style_result %s\n",
xorriso->sh_style_result ? "on" : "off");
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->bsl_interpretation == 0);
strcpy(line, "-backslash_codes ");
if(xorriso->bsl_interpretation == 0)
@ -2907,6 +2937,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (strcmp(xorriso->application_use, " ") == 0);
sprintf(line, "-application_use %s\n",
Text_shellsafe(xorriso->application_use, sfe, 0));
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->do_joliet==0);
sprintf(line,"-joliet %s\n", (xorriso->do_joliet == 1 ? "on" : "off"));
if(!(is_default && no_defaults))
@ -3088,6 +3124,10 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
xorriso->pacifier_style==2 ? "cdrecord" : "xorriso");
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->pacifier_interval == 1.0);
sprintf(line,"-pacifier interval=%f\n", xorriso->pacifier_interval);
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (strcmp(xorriso->return_with_text,"SORRY")==0 &&
xorriso->return_with_value==32);
@ -3418,7 +3458,7 @@ int Xorriso_pacifier_callback(struct XorrisO *xorriso, char *what_done,
{
double current_time, since, interval_time, speed, speed_factor;
char count_text[80], byte_text[80], profile_name[80], *speed_unit;
int ret, profile_number;
int ret, profile_number, short_sec;
off_t amount;
current_time= Sfile_microtime(0);
@ -3428,8 +3468,10 @@ int Xorriso_pacifier_callback(struct XorrisO *xorriso, char *what_done,
return(1);
xorriso->last_update_time= Sfile_microtime(0);
since= current_time - xorriso->start_time;
if((flag&1)&&since<1.0)
if((flag & 1) && since < 1.0 && xorriso->pacifier_interval >= 1.0)
since= 1.0;
if((flag & 1) && since < 0.1)
since= 0.1;
byte_text[0]= 0;
if(flag&4) {
strcat(byte_text, " (");
@ -3437,24 +3479,35 @@ int Xorriso_pacifier_callback(struct XorrisO *xorriso, char *what_done,
byte_text+strlen(byte_text), 7, 1e5, 0);
strcat(byte_text, ")");
}
short_sec= 0;
if(count<=0.0 && !(flag&2)) {
if(since < 2)
return(2);
sprintf(xorriso->info_text,
"Thank you for being patient for %.f seconds", since);
"Thank you for being patient for");
} else if(todo<=0.0) {
if(count<10000000)
sprintf(count_text, "%.f", (double) count);
else
Sfile_scale((double) count, count_text, 7, 1e5, 1);
sprintf(xorriso->info_text, "%s %s%s in %.f %s",
count_text, what_done, byte_text, since,
(flag & 64) ? "s" : "seconds");
sprintf(xorriso->info_text, "%s %s%s in",
count_text, what_done, byte_text);
short_sec= (flag & 64);
} else {
sprintf(xorriso->info_text, "%.f of %.f %s%s in %.f %s",
(double) count, (double) todo, what_done, byte_text, since,
(flag & (8 | 64)) ? "s" : "seconds");
sprintf(xorriso->info_text, "%.f of %.f %s%s in",
(double) count, (double) todo, what_done, byte_text);
short_sec= (flag & (8 | 64));
}
if(xorriso->pacifier_interval < 1.0) {
sprintf(xorriso->info_text + strlen(xorriso->info_text),
" %.1f", since);
} else {
sprintf(xorriso->info_text + strlen(xorriso->info_text),
" %.f", since);
}
sprintf(xorriso->info_text + strlen(xorriso->info_text),
" %s", short_sec ? "s" : "seconds");
speed= -1.0;
if(flag & 4)
amount= xorriso->pacifier_byte_count;
@ -3616,7 +3669,7 @@ int Xorriso_msg_op_parse(struct XorrisO *xorriso, char *line,
pline[0]= 0;
for(i= 0; i < input_lines; i++) {
l= strlen(pline);
ret= Xorriso_dialog_input(xorriso, pline + l, SfileadrL - l - 1, 8);
ret= Xorriso_dialog_input(xorriso, pline + l, SfileadrL - l - 1, 8 | 1);
if(ret <= 0)
goto ex;
if(i < input_lines - 1)
@ -3667,6 +3720,8 @@ ex:;
}
/* @param flag bit0= do not issue prompt messages on info channel
*/
int Xorriso_msg_op_parse_bulk(struct XorrisO *xorriso,
char *prefix, char *separators,
int max_words, int pflag, int bulk_lines,
@ -3677,6 +3732,7 @@ int Xorriso_msg_op_parse_bulk(struct XorrisO *xorriso,
struct Xorriso_lsT *input_list= NULL, *input_end= NULL, *new_lst, *lst;
char *pline= NULL;
if(!(flag & 1)) {
sprintf(xorriso->info_text,
"Enter %d groups of lines. Each group begins by a line which tells the\n",
bulk_lines);
@ -3687,11 +3743,12 @@ int Xorriso_msg_op_parse_bulk(struct XorrisO *xorriso,
sprintf(xorriso->info_text,
"Do this blindly. No further prompt will appear. Best be a computer.\n");
Xorriso_info(xorriso, 0);
}
Xorriso_alloc_meM(pline, char, SfileadrL);
for(i= 0; i < bulk_lines; i++) {
ret= Xorriso_dialog_input(xorriso, line, sizeof(line), 8);
ret= Xorriso_dialog_input(xorriso, line, sizeof(line), 8 | 1);
if(ret <= 0)
goto ex;
input_lines= -1;
@ -3699,7 +3756,7 @@ int Xorriso_msg_op_parse_bulk(struct XorrisO *xorriso,
pline[0]= 0;
for(j= 0; j < input_lines; j++) {
l= strlen(pline);
ret= Xorriso_dialog_input(xorriso, pline + l, SfileadrL - l - 1, 8);
ret= Xorriso_dialog_input(xorriso, pline + l, SfileadrL - l - 1, 8 | 1);
if(ret <= 0)
goto ex;
if(j < input_lines - 1)
@ -3840,6 +3897,7 @@ no_pipe_open:
if (cpid != 0) {
/* Parent becomes the xorriso slave */
xorriso->use_stdin= 1;
if(cmd_pipe_adr[0] && reply_pipe_adr[0]) {
command_pipe[0]= open(cmd_pipe_adr, O_RDONLY);
if(command_pipe[0] == -1) {
@ -3932,3 +3990,264 @@ ex:;
return(ret);
}
int Xorriso_open_named_pipe(struct XorrisO *xorriso, char fd_names[3][20],
int mem_fds[], char *pipe_paths[], int pipe_fds[],
int i, int flag)
{
if(mem_fds[i] == -1)
return(2);
pipe_fds[i]= open(pipe_paths[i], i == 0 ? O_RDONLY : O_WRONLY);
if(pipe_fds[i] == -1) {
sprintf(xorriso->info_text,
"-named_pipe_loop: Failed to open %s pipe ", fd_names[i]);
Text_shellsafe(pipe_paths[i], xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE",0);
return(0);
}
close(i);
dup2(pipe_fds[i], i);
return(1);
}
/* Usage example via bash:
in=/u/test/xorriso_stdin
out=/u/test/xorriso_stdout
mknod "$in" p
mknod "$out" p
xorriso -abort_on NEVER \
-named_pipe_loop cleanup:buffered "$in" "$out" - &
# Send command and receive result
xorriso_cmd() {
echo "$@" >/u/test/xorriso_stdin
cat </u/test/xorriso_stdout
}
# Transport safety of filenames by wrapping in quotes and escaping quotes
xorriso_esc() {
echo -n "'"
echo -n "$1" | sed -e "s/'/'"'"'"'"'"'"'/g"
echo -n "'"
}
disk_path=...arbitrary.characters...
iso_path=...arbitrary.characters...
xorriso_cmd map $(xorriso_esc "$disk_path") $(xorriso_esc "$iso_path")
*/
/* @param flag bit0= unlink pipes when the loop ends
bit1= read all lines from pipe until EOF before executing them
*/
int Xorriso_named_pipe_loop(struct XorrisO *xorriso,
char *pipe_paths[3], int flag)
{
char *line= NULL;
int i, ret, mem_fds[3], pipe_fds[3], first_line, hret, pipes_are_valid= 0;
int lst_ret, filling_buffer= 0;
off_t mem_used= 0, mem_needed;
struct stat stbuf;
struct Xorriso_lsT *prev_lst= NULL;
static char fd_names[3][20] = {
"standard input", "standard output", "standard error" };
char mem_text[80], limit_text[80];
if(xorriso->tolerate_stdin_eof) {
sprintf(xorriso->info_text,
"Already in -named_pipe_loop. Ignoring further -named_pipe_loop command.");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "SORRY", 0);
return(0); /* intentionally not goto ex */
}
Xorriso_alloc_meM(line, char, SfileadrL);
for(i= 0; i < 3; i++ )
mem_fds[i]= pipe_fds[i]= -1;
/* Memorize stdin, stdout, and stderr. Close originals. */
for(i= 0; i < 3; i++ ) {
if(pipe_paths[i][0] == 0 || strcmp(pipe_paths[i], "-") == 0)
continue;
if(stat(pipe_paths[i], &stbuf) == -1) {
sprintf(xorriso->info_text,
"-named_pipe_loop: Cannot determine properties of file ");
Text_shellsafe(pipe_paths[i], xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
ret= 0; goto ex;
}
if(!S_ISFIFO(stbuf.st_mode)) {
sprintf(xorriso->info_text,
"-named_pipe_loop: File is not a named pipe: ");
Text_shellsafe(pipe_paths[i], xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto ex;
}
mem_fds[i]= dup(i);
if(mem_fds[i] == -1) {
sprintf(xorriso->info_text,
"-named_pipe_loop: Cannot duplicate original %s", fd_names[i]);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
ret= 0; goto ex;
}
}
pipes_are_valid= 1;
while(1) {
/* Open input pipe */
ret= Xorriso_open_named_pipe(xorriso, fd_names, mem_fds, pipe_paths,
pipe_fds, 0, 0);
if(ret <= 0)
goto ex;
/* As long as the input connection exists */
xorriso->tolerate_stdin_eof= 1;
first_line= 1;
if(flag & 2) {
filling_buffer= 8 | 16; /* single line, no reading from buffered_dialog */
prev_lst= NULL;
mem_used= 0;
}
while(1) {
/* Fetch input line */
if((flag & 2) && xorriso->buffered_dialog == NULL && !filling_buffer) {
ret= -2; /* EOF */
} else {
ret= Xorriso_dialog_input(xorriso, line, SfileadrL, 1 | filling_buffer);
}
if((flag & 2) && filling_buffer) {
/* Fetch and buffer lines before opening output pipes */
if(ret > 0) {
/* Check for excessive memory consumption */;
mem_needed= strlen(line) + 8 + sizeof(struct Xorriso_lsT);
if(mem_used + mem_needed > xorriso->temp_mem_limit) {
Sfile_scale((double) (mem_used + mem_needed), mem_text, 5, 1e4, 0);
Sfile_scale((double) xorriso->temp_mem_limit,
limit_text, 5, 1e4, 0);
sprintf(xorriso->info_text,
"-named_pipe_loop: List of buffered input lines exceeds -temp_mem_limit (%s > %s)",
mem_text, limit_text);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0,
"FAILURE", 0);
ret= -1; goto ex;
}
mem_used+= mem_needed;
lst_ret= Xorriso_lst_new(&prev_lst, line, prev_lst, 0);
if(lst_ret <= 0) {
Xorriso_msgs_submit(xorriso, 0,
"-named_pipe_loop: Cannot buffer all input lines", 0, "FATAL", 0);
ret= -1;
} else {
if(xorriso->buffered_dialog == NULL)
xorriso->buffered_dialog= prev_lst;
continue;
}
}
filling_buffer= 0; /* start consuming buffer */
continue;
}
/* Open output pipes late to allow the sender to open them after
the first (and usually only) input line was transmitted:
echo ... >stdin_pipe
res=$(cat <stdout_pipe)
This will work independently of the stdin_pipe buffer size.
*/
if(first_line) {
first_line= 0;
for(i= 1; i < 3; i++) {
hret= Xorriso_open_named_pipe(xorriso, fd_names, mem_fds, pipe_paths,
pipe_fds, i, 0);
if(hret <= 0 && ret > 0)
{ret= hret; goto ex;}
}
}
/* Now evaluate outcome of Xorriso_dialog_input() */
if(ret == -2) /* EOF at stdin */
break;
if(ret <= 0) /* Other error */
goto ex;
/* Regular end of command */
if(strcmp(line, "end_named_pipe_loop") == 0)
{ret= 1; goto ex;}
/* Perform xorriso command */
ret= Xorriso_execute_option(xorriso, line, (1 << 16));
if(ret <= 0)
goto ex;
if(ret == 3) /* e.g. -end command */
goto ex;
Xorriso_mark(xorriso,0);
}
/* Restore stdin, stdout and stderr */
for(i= 0; i < 3; i++) {
if(mem_fds[i] != -1) {
if(pipe_fds[i] != -1)
close(pipe_fds[i]);
pipe_fds[i]= -1;
close(i);
dup2(mem_fds[i], i);
}
}
}
ret= 1;
ex:;
xorriso->tolerate_stdin_eof= 0;
if(flag & 2)
Xorriso_lst_destroy_all(&(xorriso->buffered_dialog), 0);
/* Close any open pipes. Restore stdin, stdout and stderr. */
for(i= 0; i < 3; i++) {
if(pipe_fds[i] != -1) {
if((flag & 1) && pipes_are_valid) {
if(stat(pipe_paths[i], &stbuf) != -1) {
if(S_ISFIFO(stbuf.st_mode)) {
sprintf(xorriso->info_text, "Removing named pipe ");
Text_shellsafe(pipe_paths[i], xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
unlink(pipe_paths[i]);
}
}
}
close(pipe_fds[i]);
}
if(mem_fds[i] != -1) {
close(i);
dup2(mem_fds[i], i);
close(mem_fds[i]);
}
}
Xorriso_free_meM(line);
return(ret);
}
/* @param flag bit0= append to out_text rather than overwrite it
bit1= length limit is 10 * SfileadrL rather than 5 *
*/
char *Xorriso_esc_filepath(struct XorrisO *xorriso,
char *in_text, char *out_text, int flag)
{
int l, w=0, limit= 5 * SfileadrL;
char *res;
if(xorriso->sh_style_result == 0) {
res= Text_shellsafe(in_text, out_text, flag);
return(res);
}
if(flag&1)
w= strlen(out_text);
if(flag & 2)
limit= 10 * SfileadrL;
l= strlen(in_text);
if(w + l >= limit) {
strcpy(out_text, "'xorriso: TEXT MUCH TOO LONG ... ");
return(out_text);
}
strcpy(out_text + w, in_text);
return(out_text);
}

View File

@ -99,5 +99,11 @@ int Xorriso_msg_op_parse_bulk(struct XorrisO *xorriso,
int Xorriso_launch_frontend(struct XorrisO *xorriso, int argc, char **argv,
char *cmd_pipe_adr, char *reply_pipe_adr, int flag);
int Xorriso_named_pipe_loop(struct XorrisO *xorriso,
char *pipe_paths[3], int flag);
char *Xorriso_esc_filepath(struct XorrisO *xorriso,
char *in_text, char *out_text, int flag);
#endif /* ! Xorriso_pvt_textio_includeD */

View File

@ -640,6 +640,52 @@ ex:;
}
int Xorriso_write_application_use(struct XorrisO *xorriso,
IsoImage *image, int flag)
{
int l, ret, count= 512;
unsigned int byte= 0;
char *path, data[512];
FILE *fp= NULL;
path= xorriso->application_use;
l= strlen(path);
if(l <= 1) {
memset(data, path[0], 512);
} else if(l == 4 && path[0] == '0' && path[1] == 'x' &&
isxdigit(path[2]) && isxdigit(path[3])) {
sscanf(path + 2, "%x", &byte);
memset(data, (int) byte, 512);
} else {
/* Read up to 512 bytes from file path */
ret= Xorriso_afile_fopen(xorriso, path, "rb", &fp, 0);
if(ret <= 0)
{ret= 0; goto ex;}
ret= fread(data, 1, 512, fp);
if(ret < 512) {
if(ferror(fp)) {
sprintf(xorriso->info_text,
"-application_use: Error while reading file ");
Text_shellsafe(path, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text,
errno, "FAILURE", 0);
ret= 0; goto ex;
}
}
if(ret < 0)
count= 0;
else
count= ret;
}
iso_image_set_app_use(image, data, count);
ret= 1;
ex:
if(fp != NULL && fp != stdin)
fclose(fp);
return(ret);
}
/* @param flag bit0= do not write but only prepare and return size in sectors
*/
int Xorriso_write_session(struct XorrisO *xorriso, int flag)
@ -758,6 +804,8 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
iso_image_set_copyright_file_id(image, xorriso->copyright_file);
iso_image_set_biblio_file_id(image, xorriso->biblio_file);
iso_image_set_abstract_file_id(image, xorriso->abstract_file);
Xorriso_write_application_use(xorriso, image, 0);
Xorriso_process_msg_queues(xorriso,0);
}
if((xorriso->do_aaip & 256) && out_cs != NULL) {
@ -1218,7 +1266,8 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
double start_time, current_time, last_time, base_time= 0.0, base_count= 0.0;
double next_base_time= 0.0, next_base_count= 0.0, first_base_time= 0.0;
double first_base_count= 0.0, norm= 0.0, now_time, fract_offset= 0.0;
double measured_speed, speed_factor= 1385000, quot;
double measured_speed, speed_factor= 1385000, quot, speed_min_time;
double tdiff, now_fract;
time_t time_prediction;
IsoImage *image= NULL;
@ -1229,9 +1278,10 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
usleep(100002);
emul= flag&15;
fract_offset= 0.2 * (double) emul - ((int) (0.2 * (double) emul));
if(emul==0)
emul= xorriso->pacifier_style;
fract_offset= 1.0 / 3.0 * (double) emul - ((int) (1.0 / 3.0 * (double) emul));
speed_min_time= 0.2 * xorriso->pacifier_interval;
speed_unit= "D";
if(flag&16) {
speed_factor= 150.0*1024;
@ -1266,7 +1316,7 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
}
current_time= Sfile_microtime(0);
if(drive_status == BURN_DRIVE_WRITING && progress.sectors > 0) {
if(current_time-last_time>0.2)
if(current_time-last_time > speed_min_time)
measured_speed= (progress.sector - last_sector) * 2048.0 /
(current_time - last_time);
buffer_fill= 50;
@ -1295,7 +1345,7 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
sprintf(xorriso->info_text+strlen(xorriso->info_text), " [buf %3d%%]",
buffer_fill);
if(current_time-last_time>0.2)
if(current_time-last_time > speed_min_time)
sprintf(xorriso->info_text+strlen(xorriso->info_text), " %4.1fx.",
measured_speed/speed_factor);
@ -1367,7 +1417,7 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
" fifo %3d%% buf %3d%%",
(int) (100.0-100.0*((double) free_bytes)/(double) size),
buffer_fill);
if(current_time-last_time>0.2)
if(current_time - last_time > speed_min_time)
sprintf(xorriso->info_text+strlen(xorriso->info_text), " %5.1fx%s ",
measured_speed/speed_factor, speed_unit);
}
@ -1385,14 +1435,22 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
current_time-start_time);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "UPDATE", 0);
for(i= 0; i<12; i++) { /* 2 usleeps more than supposed to be needed */
for(i= 0; i < 20; i++) { /* 10 usleeps more than supposed to be needed */
Xorriso_process_msg_queues(xorriso, 0);
if(aborting<=0)
aborting= Xorriso_check_burn_abort(xorriso, 0);
usleep(100000);
usleep((unsigned long) (100000.0 * xorriso->pacifier_interval));
now_time= Sfile_microtime(0);
if(((time_t) now_time) - ((time_t) current_time) >= 1 &&
now_time - ((time_t) now_time) >= fract_offset)
tdiff= ((off_t)(now_time / xorriso->pacifier_interval)) -
(off_t)(current_time / xorriso->pacifier_interval);
now_fract= (now_time / xorriso->pacifier_interval -
(off_t)(now_time / xorriso->pacifier_interval));
if(tdiff < 1.0)
continue;
if(fract_offset <= 0.0) /* "xorriso" pacifier shall not wait for slot */
break;
if((now_fract >= fract_offset && now_fract < fract_offset + 0.3) ||
tdiff >= 2.0)
break;
}
}
@ -1527,6 +1585,7 @@ 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
bit5= try to disable Defect Management
bit7= by_index mode:
bit8 to bit15 contain the index of the format to use.
@return 0=failure, did not touch medium , -1=failure, altered medium
@ -1559,6 +1618,9 @@ int Xorriso_format_media(struct XorrisO *xorriso, off_t in_size, int flag)
} else {
mode_flag= 4; /* format to full size */
}
if(flag & 32)
mode_flag|= 32; /* try to disable Defect Management */
burn_disc_get_profile(drive, &current_profile, current_profile_name);
if(flag&128) { /* by_index */
@ -1617,7 +1679,7 @@ int Xorriso_format_media(struct XorrisO *xorriso, off_t in_size, int flag)
mode_flag|= (1<<6);
} else if(current_profile == 0x43) { /* BD-RE */
if(!(flag & 2))
if(!(flag & (2 | 32)))
mode_flag= 6; /* format to default payload size */
if(flag&1)
mode_flag|= (1<<6);

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRECORD 1 "Version 1.2.9, Mar 18, 2013"
.TH XORRECORD 1 "Version 1.3.2, Aug 07, 2013"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:

View File

@ -15,7 +15,7 @@ xorriso

File: xorrecord.info, Node: Top, Next: Overview, Up: (dir)
xorrecord 1.2.9
xorrecord 1.3.2
***************
xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso

View File

@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename xorrecord.info
@settitle GNU xorrecord 1.2.9
@settitle GNU xorrecord 1.3.2
@c %**end of header
@c
@c man-ignore-lines begin
@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRECORD 1 "Version 1.2.9, Mar 18, 2013"
@c man .TH XORRECORD 1 "Version 1.3.2, Aug 07, 2013"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -76,7 +76,7 @@ Permission is granted to distrubute this text freely.
@end copying
@c man-ignore-lines end
@titlepage
@title Manual of GNU xorriso personality xorrecord 1.2.9
@title Manual of GNU xorriso personality xorrecord 1.3.2
@author Thomas Schmitt
@page
@vskip 0pt plus 1filll
@ -85,7 +85,7 @@ Permission is granted to distrubute this text freely.
@contents
@ifnottex
@node Top
@top xorrecord 1.2.9
@top xorrecord 1.3.2
@c man-ignore-lines 1
@c man .SH NAME

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.2.9, Mai 13, 2013"
.TH XORRISO 1 "Version 1.3.2, Aug 07, 2013"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -1985,7 +1985,12 @@ The number may range from \-2147483648 to 2147483647. The higher it is, the
lower will be the block address of the file data in the emerging ISO image.
Currently the boot catalog has a hardcoded weight of 1 billion.
Normally it should occupy the block with the lowest possible address.
Data files get added or loaded with initial weight 0.
.br
Data files which are loaded by \-indev or \-dev get a weight between 1 and
2 exp 28 = 268,435,456, depending on their block address. This shall keep
them roughly in the same order if the write method of modifying is applied.
.br
Data files which are added by other commands get an initial weight of 0.
.br
E.g.: \-exec sort_weight 3 \-\-
.br
@ -2223,7 +2228,8 @@ newly purchased BD\-RE or BD\-R, re\-format DVD\-RAM or BD\-RE.
.br
Defined modes are:
.br
as_needed, full, fast, by_index_<num>, fast_by_index_<num>
as_needed, full, fast, by_index_<num>, fast_by_index_<num>,
by_size_<num>, fast_by_size_<num>, without_spare
.br
"as_needed" formats yet unformatted DVD\-RW, DVD\-RAM, BD\-RE, or blank
unformatted BD\-R. Other media are left untouched.
@ -2241,9 +2247,14 @@ mode word. E.g: "by_index_3".
"by_size_" selects a format out of the descriptor list which provides at
least the given size. That size is to be appended to the mode word.
E.g: "by_size_4100m". This applies to media with Defect Management.
On BD\-RE it will not choose format 0x31, which offers no Defect Management.
.br
"fast_by_size_" does the same as "by_size_" but tries to be quicker.
.br
"without_spare" selects the largest format out of the descriptor list
which provides no Spare Area for Defect Management. On BD\-RE this
will be format 0x31.
.br
The formatting action has no effect on media if \-dummy is activated.
.br
Formatting is normally needed only once during the lifetime of a medium,
@ -2610,6 +2621,21 @@ The special text "@xorriso@" gets converted to the ID string of
.br
Unlike other ID strings, this setting is not influenced by image loading.
.TP
\fB\-application_use\fR character|0xXY|disk_path
Specify the content of the Application Use field which can take at most
512 bytes.
.br
If the parameter of this command is empty, then the field is filled
with 512 0\-bytes. If it is a single character, then it gets repeated 512 times.
If it begins by "0x" followed by two hex digits [0\-9a\-fA\-F], then the digits
are read as byte value which gets repeated 512 times.
.br
Any other parameter text is used as disk_path to open a data file and to
read up to 512 bytes from it. If the file is smaller than 512 bytes, then the
remaining bytes in the field get set to binary 0.
.br
This setting is not influenced by image loading.
.TP
\fB\-out_charset\fR character_set_name
Set the character set to which file names get converted when writing an
image. See paragraph "Character sets" for more explanations.
@ -4318,6 +4344,13 @@ X of Y MB written (fifo nn%) [buf mmm%]
"mkisofs"
.br
nn% done, estimate finish Tue Jul 15 20:13:28 2008
.br
The frequency of the messages can be adjusted by
.br
"interval=number"
.br
where number gives the seconds between two messages. Permissible settings
are 0.1 to 60.0.
.TP
\fB\-scdbackup_tag\fR list_path record_name
Set the parameter "name" for a scdbackup checksum record.
@ -4405,6 +4438,18 @@ quotation marks.
For brevity the list delimiter is referred as "\-\-"
throughout this text.
.TP
\fB\-sh_style_result\fR "on"|"off"
Make the result output of some filesystem inspection commands look more like
the output of equivalent shell commands. The most important effect is to
prevent the wrapping of file addresses into quotation marks with commands
\-pwd \-pwdx \-ls \-lsd \-lsl \-lsdl \-lsx \-lsdx \-lslx \-lsdlx
\-du \-dus \-dux \-dusx \-findx \-find
.br
This will make ambigous the representation of file names which contain
newline characters. On the other hand it should facilitate integration
of xorriso into shell scripts which already use the corresponding
shell commands.
.TP
\fB\-backslash_codes\fR "on"|"off"|mode[:mode]
Enable or disable the interpretation of symbolic representations of special
characters with quoted input, or with program arguments, or with program
@ -4428,7 +4473,7 @@ Translations can occur with quoted input in 3 modes:
.br
With the start program arguments there is mode:
.br
"with_program_arguments" translates all program arguments.
"with_program_arguments" translates program arguments.
.br
.br
Mode "encode_output" encodes output characters. It combines "encode_results"
@ -4644,6 +4689,14 @@ be extremely high. On the other hand, large transactions of command,
input texts, and results are desirable if connection latency is an
issue.
.br
\fBparse_silently\fR
.br
Like "parse" but not issueing a prompting message. Confusing to humans.
.br
\fBparse_bulk_silently\fR
.br
Like "parse_bulk" but not issueing a prompting message. Confusing to humans.
.br
\fBcompare_sev\fR
.br
The parameter_text should contain two comma separated severity texts as
@ -4661,7 +4714,35 @@ Above example "SORRY,UPDATE" will yield 1.
.br
Print to the result channel a blank separated list of all severity names.
Sorted from low to high severity.
.TP
\fB\-named_pipe_loop\fR mode[:mode] disk_path_stdin disk_path_stdout disk_path_stderr
Temporarily replace standard input, standard output and standard error by
named pipes. Enter dialog mode without readline.
.br
Defined modes are:
.br
"cleanup" removes the submitted pipe files when the loop ends.
.br
"keep" does not delete them. This is the default.
.br
"buffered" reads all lines from the input pipe until EOF before it opens
the output pipes and processes the input lines.
.br
"direct" opens the output pipes after the first input line was read.
Each line is executed directly after it is read. This is the default.
.br
The other three parameters must either be disk paths to existing named pipes,
or be "\-" to leave the according standard i/o channel unreplaced.
.br
xorriso will open the stdin pipe, read and execute dialog lines from it
until the sender closes the pipe. The output pipes get opened depending on
mode "buffered" resp. "direct". After all lines are executed, xorriso will
close its side of the pipes and enter a new cycle of opening, reading and
executing.
.br
If an input line consists only of the word "end_named_pipe_loop"
then \-named_pipe_loop will end and further xorriso commands may be
executed from other sources.
.TP
\fB\-launch_frontend\fR program [arguments ...] --
Start the program that is given as first parameter. Submit the other

View File

@ -67,8 +67,8 @@ struct XorrisO;
@since 0.5.8
*/
#define Xorriso_header_version_majoR 1
#define Xorriso_header_version_minoR 2
#define Xorriso_header_version_micrO 9
#define Xorriso_header_version_minoR 3
#define Xorriso_header_version_micrO 2
/** If needed: Something like ".pl01" to indicate a bug fix. Normally empty.
@ -241,7 +241,7 @@ int Xorriso_destroy(struct XorrisO **xorriso, int flag);
/* This special interpreter may be called between Xorriso_new() and
Xorriso_startup_libraries(). It interprets certain commands which shall
get into effect before the libraries get initialized:
-abort_on , -report_about , -return_with , -list_delimiter ,
-abort_on , -report_about , -return_with ,
-scsi_log , -signal_handling
This is the only occasion where command -x has an effect:
-x
@ -251,9 +251,10 @@ int Xorriso_destroy(struct XorrisO **xorriso, int flag);
-no_rc
Some get examined for the need to redirect stdout messages:
-dev , -outdev , -indev , -as
Commands -list_delimiter and -add_plainly get into effect during this
call. But their setting at begin of the call gets restored before the
call returns.
Commands
-backslash_codes , -list_delimiter , -add_plainly
get into effect during this call. But their setting at begin of the call
gets restored before the call returns.
@param xorriso The context object in which to perform the commands.
@param argc Number of arguments.
@param argv The arguments. argv[0] contains the program name.
@ -288,6 +289,17 @@ int Xorriso_read_rc(struct XorrisO *xorriso, int flag);
replace *argv by a new argument vector. The old one will not be freed
by this call. If it is dynamic memory then you need to keep a copy of
the pointer and free it yourself after this call.
@since 1.3.2:
This call internally interprets the commands -backslash_codes and
-list_delimiter if it encounters them among the arguments. The
decoding of backslashes can thus be enabled and disabled by the
arguments themselves. The state of the xorriso object in respect
to these commands gets preserved at the start of the call and restored
when the call ends.
(*argv)[0] never gets decoded.
The old *argv will always be replaced by a new one.
@param xorriso The context object
@param argc Number of arguments.
@param argv The arguments. (*argv)[0] contains the program name.
@ -1241,6 +1253,11 @@ int Xorriso_option_append_partition(struct XorrisO *xorriso, char *partno_text,
int Xorriso_option_application_id(struct XorrisO *xorriso, char *name,
int flag);
/* Command -application_use */
/* @since 1.3.2 */
int Xorriso_option_application_use(struct XorrisO *xorriso, char *path,
int flag);
/* Command -as */
/* @param flag bit0=do not report the added item
bit1=do not reset pacifier, no final pacifier message
@ -1585,10 +1602,10 @@ int Xorriso_option_logfile(struct XorrisO *xorriso, char *channel,
/* Command -ls alias -lsi and -lsl alias -lsli
and -lsd alias -lsdi and -lsdl alias -lsdli
and -du alias -dui and -dus alias -dusi
@param flag bit0= long format (-lsl , -du)
@param flag bit0= long format (-lsl , -du, not -dus, not -ls)
bit1= do not expand patterns but use literally
bit2= du rather than ls
bit3= list directories as themselves (ls -d)
bit2= -du rather than -ls
bit3= list directories as themselves (-lsd)
*/
int Xorriso_option_lsi(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
@ -1651,6 +1668,12 @@ int Xorriso_option_msg_op(struct XorrisO *xorriso, char *what, char *arg,
int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
/* Option -named_pipe_loop */
/* @since 1.3.2 */
int Xorriso_option_named_pipe_loop(struct XorrisO *xorriso, char *mode,
char *stdin_pipe, char *stdout_pipe,
char *stderr_pipe, int flag);
/* Command -no_rc */
int Xorriso_option_no_rc(struct XorrisO *xorriso, int flag);
@ -1832,6 +1855,11 @@ int Xorriso_option_setfattr_listi(struct XorrisO *xorriso, char *path,
int Xorriso_option_set_filter(struct XorrisO *xorriso, char *name,
int argc, char **argv, int *idx, int flag);
/* Option -sh_style_result */
/* @since 1.3.2 */
int Xorriso_option_sh_style_result(struct XorrisO *xorriso, char *mode,
int flag);
/* Command -signal_handling */
/* @param flag bit0= do not yet install the eventual handler
@since 1.1.0

View File

@ -15,7 +15,7 @@ images with Rock Ridge extensions.

File: xorriso.info, Node: Top, Next: Overview, Up: (dir)
GNU xorriso 1.2.9
GNU xorriso 1.3.2
*****************
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem
@ -1766,8 +1766,13 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Commands
higher it is, the lower will be the block address of the file
data in the emerging ISO image. Currently the boot catalog
has a hardcoded weight of 1 billion. Normally it should
occupy the block with the lowest possible address. Data
files get added or loaded with initial weight 0.
occupy the block with the lowest possible address.
Data files which are loaded by -indev or -dev get a weight
between 1 and 2 exp 28 = 268,435,456, depending on their
block address. This shall keep them roughly in the same order
if the write method of modifying is applied.
Data files which are added by other commands get an initial
weight of 0.
E.g.: -exec sort_weight 3 --
show_stream
shows the content stream chain of a data file.
@ -1976,7 +1981,8 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Command
DVD+RW, format newly purchased BD-RE or BD-R, re-format DVD-RAM or
BD-RE.
Defined modes are:
as_needed, full, fast, by_index_<num>, fast_by_index_<num>
as_needed, full, fast, by_index_<num>, fast_by_index_<num>,
by_size_<num>, fast_by_size_<num>, without_spare
"as_needed" formats yet unformatted DVD-RW, DVD-RAM, BD-RE, or
blank unformatted BD-R. Other media are left untouched.
"full" (re-)formats DVD-RW, DVD+RW, DVD-RAM, BD-RE, or blank
@ -1990,9 +1996,13 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Command
"by_size_" selects a format out of the descriptor list which
provides at least the given size. That size is to be appended to
the mode word. E.g: "by_size_4100m". This applies to media with
Defect Management.
Defect Management. On BD-RE it will not choose format 0x31, which
offers no Defect Management.
"fast_by_size_" does the same as "by_size_" but tries to be
quicker.
"without_spare" selects the largest format out of the descriptor
list which provides no Spare Area for Defect Management. On BD-RE
this will be format 0x31.
The formatting action has no effect on media if -dummy is
activated.
Formatting is normally needed only once during the lifetime of a
@ -2314,6 +2324,20 @@ according to the setting of command -acl.
Unlike other ID strings, this setting is not influenced by image
loading.
-application_use character|0xXY|disk_path
Specify the content of the Application Use field which can take at
most 512 bytes.
If the parameter of this command is empty, then the field is filled
with 512 0-bytes. If it is a single character, then it gets
repeated 512 times. If it begins by "0x" followed by two hex
digits [0-9a-fA-F], then the digits are read as byte value which
gets repeated 512 times.
Any other parameter text is used as disk_path to open a data file
and to read up to 512 bytes from it. If the file is smaller than
512 bytes, then the remaining bytes in the field get set to binary
0.
This setting is not influenced by image loading.
-out_charset character_set_name
Set the character set to which file names get converted when
writing an image. See paragraph "Character sets" for more
@ -3785,6 +3809,10 @@ said programs trigger comparable actions.
X of Y MB written (fifo nn%) [buf mmm%]
"mkisofs"
nn% done, estimate finish Tue Jul 15 20:13:28 2008
The frequency of the messages can be adjusted by
"interval=number"
where number gives the seconds between two messages. Permissible
settings are 0.1 to 60.0.
-scdbackup_tag list_path record_name
Set the parameter "name" for a scdbackup checksum record. It will
@ -3863,6 +3891,17 @@ File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Co
For brevity the list delimiter is referred as "--" throughout this
text.
-sh_style_result "on"|"off"
Make the result output of some filesystem inspection commands look
more like the output of equivalent shell commands. The most
important effect is to prevent the wrapping of file addresses into
quotation marks with commands -pwd -pwdx -ls -lsd -lsl -lsdl
-lsx -lsdx -lslx -lsdlx -du -dus -dux -dusx -findx -find
This will make ambigous the representation of file names which
contain newline characters. On the other hand it should facilitate
integration of xorriso into shell scripts which already use the
corresponding shell commands.
-backslash_codes "on"|"off"|mode[:mode]
Enable or disable the interpretation of symbolic representations
of special characters with quoted input, or with program
@ -3877,7 +3916,7 @@ File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Co
"in_quotes" translates inside " and ' quotation.
"with_quoted_input" translates inside and outside quotes.
With the start program arguments there is mode:
"with_program_arguments" translates all program arguments.
"with_program_arguments" translates program arguments.
Mode "encode_output" encodes output characters. It combines
"encode_results" with "encode_infos". Inside single or double
quotation marks encoding applies to 8-bit characters octal 001 to
@ -4066,6 +4105,12 @@ File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Co
number_of_input_texts should not be extremely high. On the other
hand, large transactions of command, input texts, and results are
desirable if connection latency is an issue.
*parse_silently*
Like "parse" but not issueing a prompting message. Confusing to
humans.
*parse_bulk_silently*
Like "parse_bulk" but not issueing a prompting message. Confusing
to humans.
*compare_sev*
The parameter_text should contain two comma separated severity
texts as issued by this program. Like "SORRY,UPDATE". See also
@ -4078,6 +4123,30 @@ File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Co
*list_sev*
Print to the result channel a blank separated list of all severity
names. Sorted from low to high severity.
-named_pipe_loop mode[:mode] disk_path_stdin disk_path_stdout disk_path_stderr
Temporarily replace standard input, standard output and standard
error by named pipes. Enter dialog mode without readline.
Defined modes are:
"cleanup" removes the submitted pipe files when the loop ends.
"keep" does not delete them. This is the default.
"buffered" reads all lines from the input pipe until EOF before it
opens the output pipes and processes the input lines.
"direct" opens the output pipes after the first input line was
read. Each line is executed directly after it is read. This is
the default.
The other three parameters must either be disk paths to existing
named pipes, or be "-" to leave the according standard i/o channel
unreplaced.
xorriso will open the stdin pipe, read and execute dialog lines
from it until the sender closes the pipe. The output pipes get
opened depending on mode "buffered" resp. "direct". After all
lines are executed, xorriso will close its side of the pipes and
enter a new cycle of opening, reading and executing.
If an input line consists only of the word "end_named_pipe_loop"
then -named_pipe_loop will end and further xorriso commands may be
executed from other sources.
-launch_frontend program [arguments ...] --
Start the program that is given as first parameter. Submit the
other parameters as program arguments. Enable xorriso dialog mode.
@ -4721,7 +4790,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
[index]
* Menu:
* # starts a comment line: Scripting. (line 162)
* # starts a comment line: Scripting. (line 173)
* -abort_on controls abort on error: Exception. (line 27)
* -abstract_file sets abstract file name: SetWrite. (line 233)
* -acl controls handling of ACLs: Loading. (line 146)
@ -4732,10 +4801,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -append_partition adds arbitrary file after image end: Bootable.
(line 249)
* -application_id sets application id: SetWrite. (line 192)
* -application_use sets application use field: SetWrite. (line 258)
* -as emulates mkisofs or cdrecord: Emulation. (line 13)
* -assert_volid rejects undesired images: Loading. (line 84)
* -auto_charset learns character set from image: Loading. (line 98)
* -backslash_codes enables backslash conversion: Scripting. (line 67)
* -backslash_codes enables backslash conversion: Scripting. (line 78)
* -ban_stdio_write demands real drive: Loading. (line 254)
* -biblio_file sets biblio file name: SetWrite. (line 240)
* -blank erases media: Writing. (line 61)
@ -4756,8 +4826,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -chown sets ownership in ISO image: Manip. (line 49)
* -chown_r sets ownership in ISO image: Manip. (line 54)
* -clone copies ISO directory tree: Insert. (line 180)
* -close controls media closing: SetWrite. (line 335)
* -close_damaged closes damaged track and session: Writing. (line 158)
* -close controls media closing: SetWrite. (line 349)
* -close_damaged closes damaged track and session: Writing. (line 163)
* -close_filter_list bans filter registration: Filter. (line 52)
* -commit writes pending ISO image: Writing. (line 29)
* -commit_eject writes and ejects: Writing. (line 56)
@ -4783,15 +4853,15 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
(line 36)
* -drive_class controls drive accessability: Loading. (line 54)
* -du show directory size in ISO image: Navigate. (line 89)
* -dummy controls write simulation: SetWrite. (line 324)
* -dummy controls write simulation: SetWrite. (line 338)
* -dus show directory size in ISO image: Navigate. (line 93)
* -dusx show directory size on disk: Navigate. (line 102)
* -dux show directory size on disk: Navigate. (line 97)
* -dvd_obs set write block size: SetWrite. (line 311)
* -dvd_obs set write block size: SetWrite. (line 325)
* -early_stdio_test classifies stdio drives: Loading. (line 259)
* -eject ejects drive tray: Writing. (line 52)
* -end writes pending session and ends program: Scripting. (line 156)
* -errfile_log logs problematic disk files: Scripting. (line 118)
* -end writes pending session and ends program: Scripting. (line 167)
* -errfile_log logs problematic disk files: Scripting. (line 129)
* -error_behavior controls error workarounds: Exception. (line 96)
* -external_filter registers data filter: Filter. (line 20)
* -external_filter unregisters data filter: Filter. (line 48)
@ -4805,12 +4875,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -follow softlinks and mount points: SetInsert. (line 76)
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 188)
* -format formats media: Writing. (line 91)
* -fs sets size of fifo: SetWrite. (line 328)
* -fs sets size of fifo: SetWrite. (line 342)
* -getfacl shows ACL in ISO image: Navigate. (line 70)
* -getfacl_r shows ACL in ISO image: Navigate. (line 77)
* -getfattr shows xattr in ISO image: Navigate. (line 81)
* -getfattr_r shows xattr in ISO image: Navigate. (line 85)
* -gid sets global ownership: SetWrite. (line 268)
* -gid sets global ownership: SetWrite. (line 282)
* -grow_blindly overides next writeable address: AqDrive. (line 46)
* -hardlinks controls handling of hard links: Loading. (line 110)
* -help prints help text: Scripting. (line 20)
@ -4823,14 +4893,14 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 33)
* -joliet enables production of Joliet tree: SetWrite. (line 10)
* -launch_frontend starts frontend program at pipes: Frontend.
(line 116)
(line 146)
* -list_arg_sorting prints sorting order of -x: ArgSort. (line 27)
* -list_delimiter replaces '--': Scripting. (line 60)
* -list_extras lists compile time extra features: Scripting.
(line 26)
* -list_formats lists available formats: Writing. (line 129)
* -list_profiles lists supported media: Writing. (line 172)
* -list_speeds lists available write speeds: Writing. (line 141)
* -list_formats lists available formats: Writing. (line 134)
* -list_profiles lists supported media: Writing. (line 177)
* -list_speeds lists available write speeds: Writing. (line 146)
* -lns creates ISO symbolic link: Insert. (line 175)
* -load addresses a particular session as input: Loading. (line 11)
* -local_charset sets terminal character set: Charset. (line 47)
@ -4855,6 +4925,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -msg_op perform operations on program messages: Frontend. (line 30)
* -mv renames files in ISO image: Manip. (line 42)
* -mv renames single file in ISO image: Manip. (line 35)
* -named_pipe_loop enters EOF resistant dialog: Frontend. (line 123)
* -no_rc disables startup files: Scripting. (line 7)
* -not_leaf sets exclusion pattern: SetInsert. (line 62)
* -not_list sets exclusions from disk file: SetInsert. (line 67)
@ -4862,24 +4933,24 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -not_paths sets absolute exclusion paths: SetInsert. (line 55)
* -options_from_file reads commands from file: Scripting. (line 12)
* -osirrox enables ISO-to-disk copying: Restore. (line 18)
* -out_charset sets output character set: SetWrite. (line 258)
* -out_charset sets output character set: SetWrite. (line 272)
* -outdev acquires a drive for output: AqDrive. (line 31)
* -overwrite enables overwriting in ISO: SetInsert. (line 127)
* -pacifier controls pacifier text form: Emulation. (line 163)
* -padding sets amount or mode of image padding: SetWrite. (line 349)
* -padding sets amount or mode of image padding: SetWrite. (line 363)
* -page set terminal geometry: DialogCtl. (line 19)
* -paste_in copies file into disk file: Restore. (line 124)
* -path_list inserts paths from disk file: Insert. (line 79)
* -pathspecs sets meaning of = with -add: SetInsert. (line 118)
* -pkt_output consolidates text output: Frontend. (line 7)
* -preparer_id sets preparer id: SetWrite. (line 246)
* -print prints result text line: Scripting. (line 99)
* -print_info prints message text line: Scripting. (line 102)
* -print_mark prints synchronizing text line: Scripting. (line 105)
* -print prints result text line: Scripting. (line 110)
* -print_info prints message text line: Scripting. (line 113)
* -print_mark prints synchronizing text line: Scripting. (line 116)
* -print_size predicts image size: Inquiry. (line 91)
* -prog sets program name: Frontend. (line 151)
* -prog_help prints help text: Frontend. (line 154)
* -prompt prompts for enter key: Scripting. (line 110)
* -prog sets program name: Frontend. (line 181)
* -prog_help prints help text: Frontend. (line 184)
* -prompt prompts for enter key: Scripting. (line 121)
* -publisher sets publisher id: SetWrite. (line 186)
* -pvd_info shows image id strings: Inquiry. (line 115)
* -pwd tells working directory in ISO: Navigate. (line 20)
@ -4897,13 +4968,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -rockridge disables production of Rock Ridge info: SetWrite.
(line 52)
* -rollback discards pending changes: Writing. (line 9)
* -rollback_end ends program without writing: Scripting. (line 159)
* -rollback_end ends program without writing: Scripting. (line 170)
* -rom_toc_scan searches for sessions: Loading. (line 214)
* -rr_reloc_dir sets name of relocation directory: SetWrite.
(line 141)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 173)
* -scsi_log reports SCSI commands: Scripting. (line 147)
* -session_log logs written sessions: Scripting. (line 138)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 177)
* -scsi_log reports SCSI commands: Scripting. (line 158)
* -session_log logs written sessions: Scripting. (line 149)
* -session_string composes session info line: Inquiry. (line 78)
* -set_filter applies filter to file: Filter. (line 60)
* -set_filter_r applies filter to file tree: Filter. (line 89)
@ -4913,23 +4984,25 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -setfattr sets xattr in ISO image: Manip. (line 118)
* -setfattr_list sets xattr in ISO image: Manip. (line 134)
* -setfattr_r sets xattr in ISO image: Manip. (line 131)
* -sh_style_result makes results look more like shell: Scripting.
(line 67)
* -show_stream shows data source and filters: Navigate. (line 169)
* -show_stream_r shows data source and filters: Navigate. (line 183)
* -signal_handling controls handling of system signals: Exception.
(line 69)
* -sleep waits for a given time span: Scripting. (line 114)
* -speed set write speed: SetWrite. (line 284)
* -sleep waits for a given time span: Scripting. (line 125)
* -speed set write speed: SetWrite. (line 298)
* -split_size enables large file splitting: SetInsert. (line 140)
* -status shows current settings: Scripting. (line 47)
* -status_history_max curbs -status history: Scripting. (line 56)
* -stdio_sync controls stdio buffer: SetWrite. (line 318)
* -stream_recording controls defect management: SetWrite. (line 299)
* -stdio_sync controls stdio buffer: SetWrite. (line 332)
* -stream_recording controls defect management: SetWrite. (line 313)
* -system_id sets system id: SetWrite. (line 201)
* -tell_media_space reports free space: Inquiry. (line 104)
* -temp_mem_limit curbs memory consumption: Scripting. (line 92)
* -temp_mem_limit curbs memory consumption: Scripting. (line 103)
* -toc shows list of sessions: Inquiry. (line 28)
* -toc_of shows list of sessions: Inquiry. (line 43)
* -uid sets global ownership: SetWrite. (line 264)
* -uid sets global ownership: SetWrite. (line 278)
* -update inserts path if different: Insert. (line 103)
* -update_l inserts paths if different: Insert. (line 125)
* -update_r inserts paths if different: Insert. (line 114)
@ -4938,11 +5011,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -volid sets volume id: SetWrite. (line 160)
* -volset_id sets volume set id: SetWrite. (line 181)
* -volume_date sets volume timestamp: SetWrite. (line 208)
* -write_type chooses TAO or SAO/DAO: SetWrite. (line 341)
* -write_type chooses TAO or SAO/DAO: SetWrite. (line 355)
* -x enables automatic execution order of arguments: ArgSort.
(line 16)
* -xattr controls handling of xattr (EA): Loading. (line 154)
* -zisofs controls zisofs production: SetWrite. (line 272)
* -zisofs controls zisofs production: SetWrite. (line 286)

File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@ -4968,7 +5041,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Backslash Interpretation, _definition: Processing. (line 52)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 193)
* Backup, enable features, -for_backup: Loading. (line 188)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 173)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 177)
* Blank media, _definition: Media. (line 29)
* Blind growing, _definition: Methods. (line 40)
* Bootability, control, -boot_image: Bootable. (line 26)
@ -4977,23 +5050,24 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Character Set, _definition: Charset. (line 6)
* Character Set, for input, -in_charset: Loading. (line 92)
* Character Set, for input/output, -charset: Charset. (line 43)
* Character Set, for output, -out_charset: SetWrite. (line 258)
* Character Set, for output, -out_charset: SetWrite. (line 272)
* Character set, learn from image, -auto_charset: Loading. (line 98)
* Character Set, of terminal, -local_charset: Charset. (line 47)
* CHRP partition, _definition: Bootable. (line 158)
* Closed media, _definition: Media. (line 43)
* Comment, #: Scripting. (line 162)
* Comment, #: Scripting. (line 173)
* Control, signal handling, -signal_handling: Exception. (line 69)
* Create, new ISO image, _definition: Methods. (line 6)
* Cylinder alignment, _definition: Bootable. (line 198)
* Cylinder size, _definition: Bootable. (line 187)
* Damaged track and session, close, -close_damaged: Writing. (line 158)
* Damaged track and session, close, -close_damaged: Writing. (line 163)
* Delete, from ISO image, -rm: Manip. (line 21)
* Delete, from ISO image, -rm_r: Manip. (line 28)
* Delete, ISO directory, -rmdir: Manip. (line 32)
* Dialog, bring text into history, -history: Scripting. (line 44)
* Dialog, confirmation question, -reassure: DialogCtl. (line 32)
* Dialog, enable dialog mode, -dialog: DialogCtl. (line 7)
* Dialog, EOF resistant, -named_pipe_loop: Frontend. (line 123)
* Dialog, line editing, -use_readline: DialogCtl. (line 28)
* Dialog, terminal geometry, -page: DialogCtl. (line 19)
* Directories, copy, -cp_clone: Insert. (line 192)
@ -5011,9 +5085,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, for output, -outdev: AqDrive. (line 31)
* Drive, get drive list, -device_links: Inquiry. (line 18)
* Drive, get drive list, -devices: Inquiry. (line 7)
* Drive, list supported media, -list_profiles: Writing. (line 172)
* Drive, list supported media, -list_profiles: Writing. (line 177)
* Drive, reduce activity, -calm_drive: Loading. (line 243)
* Drive, report SCSI commands, -scsi_log: Scripting. (line 147)
* Drive, report SCSI commands, -scsi_log: Scripting. (line 158)
* Drive, write and eject, -commit_eject: Writing. (line 56)
* EA, _definition: Extras. (line 65)
* ECMA-119, _definition: Model. (line 6)
@ -5034,11 +5108,11 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Filter, show chain, -show_stream: Navigate. (line 169)
* Filter, show chains of tree, -show_stream_r: Navigate. (line 183)
* Filter, unregister, -unregister_filter: Filter. (line 48)
* Filter, zisofs parameters, -zisofs: SetWrite. (line 272)
* Filter, zisofs parameters, -zisofs: SetWrite. (line 286)
* Frontend program, start at pipes, -launch_frontend: Frontend.
(line 116)
(line 146)
* GPT, _definition: Extras. (line 38)
* Group, global in ISO image, -gid: SetWrite. (line 268)
* Group, global in ISO image, -gid: SetWrite. (line 282)
* Group, in ISO image, -chgrp: Manip. (line 57)
* Group, in ISO image, -chgrp_r: Manip. (line 62)
* Growing, _definition: Methods. (line 19)
@ -5053,6 +5127,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Image, override change status, -changes_pending: Writing. (line 13)
* Image, set abstract file name, -abstract_file: SetWrite. (line 233)
* Image, set application id, -application_id: SetWrite. (line 192)
* Image, set application iuse field, -application_use: SetWrite.
(line 258)
* Image, set biblio file name, -biblio_file: SetWrite. (line 240)
* Image, set copyright file name, -copyright_file: SetWrite. (line 227)
* Image, set preparer id, -preparer_id: SetWrite. (line 246)
@ -5094,8 +5170,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* MD5, control handling, -md5: Loading. (line 159)
* Media, erase, -blank: Writing. (line 61)
* Media, format, -format: Writing. (line 91)
* Media, list formats, -list_formats: Writing. (line 129)
* Media, list write speeds, -list_speeds: Writing. (line 141)
* Media, list formats, -list_formats: Writing. (line 134)
* Media, list write speeds, -list_speeds: Writing. (line 146)
* MIPS boot file, activation: Bootable. (line 209)
* mkisofs, Emulation: Emulation. (line 16)
* Modifying, _definition: Methods. (line 27)
@ -5119,7 +5195,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Navigate, tell ISO working directory, -pwd: Navigate. (line 20)
* Next writeable address, -grow_blindly: AqDrive. (line 46)
* Overwriteable media, _definition: Media. (line 14)
* Ownership, global in ISO image, -uid: SetWrite. (line 264)
* Ownership, global in ISO image, -uid: SetWrite. (line 278)
* Ownership, in ISO image, -chown: Manip. (line 49)
* Ownership, in ISO image, -chown_r: Manip. (line 54)
* Partition offset, _definition: Bootable. (line 177)
@ -5137,31 +5213,31 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Process, control exit value, -return_with: Exception. (line 39)
* Process, control verbosity, -report_about: Exception. (line 55)
* Process, disable startup files, -no_rc: Scripting. (line 7)
* Process, end program and write, -end: Scripting. (line 156)
* Process, end program, no writing, -rollback_end: Scripting. (line 159)
* Process, end program and write, -end: Scripting. (line 167)
* Process, end program, no writing, -rollback_end: Scripting. (line 170)
* Process, error workarounds, -error_behavior: Exception. (line 96)
* Process, log output channels to file, -logfile: Frontend. (line 20)
* Process, read command file, -options_from_file: Scripting. (line 12)
* Process, set synchronizing message, -mark: Frontend. (line 25)
* Program messages, perform operations, -msg_op: Frontend. (line 30)
* Program, backslash conversion, -backslash_codes: Scripting. (line 67)
* Program, curb memory, -temp_mem_limit: Scripting. (line 92)
* Program, end and write, -end: Scripting. (line 156)
* Program, end without writing, -rollback_end: Scripting. (line 159)
* Program, backslash conversion, -backslash_codes: Scripting. (line 78)
* Program, curb memory, -temp_mem_limit: Scripting. (line 103)
* Program, end and write, -end: Scripting. (line 167)
* Program, end without writing, -rollback_end: Scripting. (line 170)
* Program, list extra features, -list_extras: Scripting. (line 26)
* Program, print help text, -help: Scripting. (line 20)
* Program, print help text, -prog_help: Frontend. (line 154)
* Program, print message text line, -print_info: Scripting. (line 102)
* Program, print result text line, -print: Scripting. (line 99)
* Program, print help text, -prog_help: Frontend. (line 184)
* Program, print message text line, -print_info: Scripting. (line 113)
* Program, print result text line, -print: Scripting. (line 110)
* Program, print synchronizing text line, -print_mark: Scripting.
(line 105)
(line 116)
* Program, print version, -version: Scripting. (line 23)
* Program, prompt for enter key, -prompt: Scripting. (line 110)
* Program, prompt for enter key, -prompt: Scripting. (line 121)
* Program, replace --, -list_delimiter: Scripting. (line 60)
* Program, set name, -prog: Frontend. (line 151)
* Program, set name, -prog: Frontend. (line 181)
* Program, show current settings, -status: Scripting. (line 47)
* Program, status history, -status_history_max: Scripting. (line 56)
* Program, wait a time span, -sleep: Scripting. (line 114)
* Program, wait a time span, -sleep: Scripting. (line 125)
* Quoted input, _definition: Processing. (line 46)
* Recovery, retrieve blocks, -check_media: Verify. (line 21)
* Relocation directory, set name, -rr_reloc_dir: SetWrite. (line 141)
@ -5176,12 +5252,14 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Restore, copy files to disk, -cpx: Restore. (line 95)
* Restore, copy files to disk, -extract_l: Restore. (line 79)
* Restore, enable ISO-to-disk, -osirrox: Restore. (line 18)
* Result layout, more shell-like, -sh_style_result: Scripting.
(line 67)
* Rock Ridge, _definition: Extras. (line 6)
* Session, _definition: Model. (line 6)
* Session, altered start address, -displacement: Loading. (line 36)
* Session, info string, -session_string: Inquiry. (line 78)
* Session, issue mount command, -mount: Restore. (line 129)
* Session, log when written, -session_log: Scripting. (line 138)
* Session, log when written, -session_log: Scripting. (line 149)
* Session, mount command line, -mount_cmd: Inquiry. (line 52)
* Session, mount parameters, -mount_opts: Inquiry. (line 68)
* Session, select as input, -load: Loading. (line 11)
@ -5203,25 +5281,25 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Verify, file checksum, -check_md5: Verify. (line 154)
* Verify, file tree checksums, -check_md5_r: Verify. (line 170)
* Verify, preset -check_media, -check_media_defaults: Verify. (line 41)
* Write, block size, -dvd_obs: SetWrite. (line 311)
* Write, block size, -dvd_obs: SetWrite. (line 325)
* Write, bootability, -boot_image: Bootable. (line 26)
* Write, buffer syncing, -stdio_sync: SetWrite. (line 318)
* Write, close media, -close: SetWrite. (line 335)
* Write, buffer syncing, -stdio_sync: SetWrite. (line 332)
* Write, close media, -close: SetWrite. (line 349)
* Write, compliance to specs, -compliance: SetWrite. (line 58)
* Write, defect management, -stream_recording: SetWrite. (line 299)
* Write, defect management, -stream_recording: SetWrite. (line 313)
* Write, disable Rock Ridge, -rockridge: SetWrite. (line 52)
* Write, enable HFS+, -hfsplus: SetWrite. (line 14)
* Write, enable Joliet, -joliet: SetWrite. (line 10)
* Write, fifo size, -fs: SetWrite. (line 328)
* Write, fifo size, -fs: SetWrite. (line 342)
* Write, free space, -tell_media_space: Inquiry. (line 104)
* Write, log problematic disk files, -errfile_log: Scripting. (line 118)
* Write, log written sessions, -session_log: Scripting. (line 138)
* Write, padding image, -padding: SetWrite. (line 349)
* Write, log problematic disk files, -errfile_log: Scripting. (line 129)
* Write, log written sessions, -session_log: Scripting. (line 149)
* Write, padding image, -padding: SetWrite. (line 363)
* Write, pending ISO image, -commit: Writing. (line 29)
* Write, predict image size, -print_size: Inquiry. (line 91)
* Write, set speed, -speed: SetWrite. (line 284)
* Write, simulation, -dummy: SetWrite. (line 324)
* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 341)
* Write, set speed, -speed: SetWrite. (line 298)
* Write, simulation, -dummy: SetWrite. (line 338)
* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 355)
* xattr, _definition: Extras. (line 65)
* xattr, control handling, -xattr: Loading. (line 154)
* xattr, set in ISO image, -setfattr: Manip. (line 118)
@ -5250,43 +5328,43 @@ Node: Insert46505
Node: SetInsert56704
Node: Manip65281
Node: CmdFind74790
Node: Filter89495
Node: Writing94051
Node: SetWrite103439
Node: Bootable122190
Node: Jigdo138580
Node: Charset142827
Node: Exception145589
Node: DialogCtl151709
Node: Inquiry154307
Node: Navigate160624
Node: Verify168922
Node: Restore177954
Node: Emulation185041
Node: Scripting195165
Node: Frontend202326
Node: Examples210401
Node: ExDevices211579
Node: ExCreate212238
Node: ExDialog213523
Node: ExGrowing214788
Node: ExModifying215593
Node: ExBootable216097
Node: ExCharset216649
Node: ExPseudo217470
Node: ExCdrecord218368
Node: ExMkisofs218685
Node: ExGrowisofs220025
Node: ExException221160
Node: ExTime221614
Node: ExIncBackup222073
Node: ExRestore226053
Node: ExRecovery226986
Node: Files227556
Node: Seealso228855
Node: Bugreport229578
Node: Legal230159
Node: CommandIdx231170
Node: ConceptIdx247472
Node: Filter89786
Node: Writing94342
Node: SetWrite104039
Node: Bootable123506
Node: Jigdo139896
Node: Charset144143
Node: Exception146905
Node: DialogCtl153025
Node: Inquiry155623
Node: Navigate161940
Node: Verify170238
Node: Restore179270
Node: Emulation186357
Node: Scripting196659
Node: Frontend204430
Node: Examples214037
Node: ExDevices215215
Node: ExCreate215874
Node: ExDialog217159
Node: ExGrowing218424
Node: ExModifying219229
Node: ExBootable219733
Node: ExCharset220285
Node: ExPseudo221106
Node: ExCdrecord222004
Node: ExMkisofs222321
Node: ExGrowisofs223661
Node: ExException224796
Node: ExTime225250
Node: ExIncBackup225709
Node: ExRestore229689
Node: ExRecovery230622
Node: Files231192
Node: Seealso232491
Node: Bugreport233214
Node: Legal233795
Node: CommandIdx234806
Node: ConceptIdx251395

End Tag Table

View File

@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename xorriso.info
@settitle GNU xorriso 1.2.9
@settitle GNU xorriso 1.3.2
@c %**end of header
@c
@c man-ignore-lines begin
@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.2.9, Mai 13, 2013"
@c man .TH XORRISO 1 "Version 1.3.2, Aug 07, 2013"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -77,7 +77,7 @@ Permission is granted to distrubute this text freely.
@end copying
@c man-ignore-lines end
@titlepage
@title Manual of GNU xorriso 1.2.9
@title Manual of GNU xorriso 1.3.2
@author Thomas Schmitt
@page
@vskip 0pt plus 1filll
@ -86,7 +86,7 @@ Permission is granted to distrubute this text freely.
@contents
@ifnottex
@node Top
@top GNU xorriso 1.2.9
@top GNU xorriso 1.3.2
@c man-ignore-lines 1
@c man .SH NAME
@ -2381,7 +2381,12 @@ The number may range from -2147483648 to 2147483647. The higher it is, the
lower will be the block address of the file data in the emerging ISO image.
Currently the boot catalog has a hardcoded weight of 1 billion.
Normally it should occupy the block with the lowest possible address.
Data files get added or loaded with initial weight 0.
@*
Data files which are loaded by -indev or -dev get a weight between 1 and
2 exp 28 = 268,435,456, depending on their block address. This shall keep
them roughly in the same order if the write method of modifying is applied.
@*
Data files which are added by other commands get an initial weight of 0.
@*
E.g.: -exec sort_weight 3 @minus{}@minus{}
@*
@ -2656,7 +2661,8 @@ newly purchased BD-RE or BD-R, re-format DVD-RAM or BD-RE.
@*
Defined modes are:
@*
as_needed, full, fast, by_index_<num>, fast_by_index_<num>
as_needed, full, fast, by_index_<num>, fast_by_index_<num>,
by_size_<num>, fast_by_size_<num>, without_spare
@*
"as_needed" formats yet unformatted DVD-RW, DVD-RAM, BD-RE, or blank
unformatted BD-R. Other media are left untouched.
@ -2674,9 +2680,14 @@ mode word. E.g: "by_index_3".
"by_size_" selects a format out of the descriptor list which provides at
least the given size. That size is to be appended to the mode word.
E.g: "by_size_4100m". This applies to media with Defect Management.
On BD-RE it will not choose format 0x31, which offers no Defect Management.
@*
"fast_by_size_" does the same as "by_size_" but tries to be quicker.
@*
"without_spare" selects the largest format out of the descriptor list
which provides no Spare Area for Defect Management. On BD-RE this
will be format 0x31.
@*
The formatting action has no effect on media if -dummy is activated.
@*
Formatting is normally needed only once during the lifetime of a medium,
@ -3088,6 +3099,23 @@ The special text "@@xorriso@@" gets converted to the ID string of
@*
Unlike other ID strings, this setting is not influenced by image loading.
@c man .TP
@item -application_use character|0xXY|disk_path
@kindex -application_use sets application use field
@cindex Image, set application iuse field, -application_use
Specify the content of the Application Use field which can take at most
512 bytes.
@*
If the parameter of this command is empty, then the field is filled
with 512 0-bytes. If it is a single character, then it gets repeated 512 times.
If it begins by "0x" followed by two hex digits [0-9a-fA-F], then the digits
are read as byte value which gets repeated 512 times.
@*
Any other parameter text is used as disk_path to open a data file and to
read up to 512 bytes from it. If the file is smaller than 512 bytes, then the
remaining bytes in the field get set to binary 0.
@*
This setting is not influenced by image loading.
@c man .TP
@item -out_charset character_set_name
@kindex -out_charset sets output character set
@cindex Character Set, for output, -out_charset
@ -5042,6 +5070,13 @@ X of Y MB written (fifo nn%) [buf mmm%]
"mkisofs"
@*
nn% done, estimate finish Tue Jul 15 20:13:28 2008
@*
The frequency of the messages can be adjusted by
@*
"interval=number"
@*
where number gives the seconds between two messages. Permissible settings
are 0.1 to 60.0.
@c man .TP
@item -scdbackup_tag list_path record_name
@kindex -scdbackup_tag enables scdbackup checksum tag
@ -5153,6 +5188,20 @@ quotation marks.
For brevity the list delimiter is referred as "@minus{}@minus{}"
throughout this text.
@c man .TP
@item -sh_style_result "on"|"off"
@kindex -sh_style_result makes results look more like shell
@cindex Result layout, more shell-like, -sh_style_result
Make the result output of some filesystem inspection commands look more like
the output of equivalent shell commands. The most important effect is to
prevent the wrapping of file addresses into quotation marks with commands
-pwd -pwdx -ls -lsd -lsl -lsdl -lsx -lsdx -lslx -lsdlx
-du -dus -dux -dusx -findx -find
@*
This will make ambigous the representation of file names which contain
newline characters. On the other hand it should facilitate integration
of xorriso into shell scripts which already use the corresponding
shell commands.
@c man .TP
@item -backslash_codes "on"|"off"|mode[:mode]
@kindex -backslash_codes enables backslash conversion
@cindex Program, backslash conversion, -backslash_codes
@ -5178,7 +5227,7 @@ Translations can occur with quoted input in 3 modes:
@*
With the start program arguments there is mode:
@*
"with_program_arguments" translates all program arguments.
"with_program_arguments" translates program arguments.
@*
@*
Mode "encode_output" encodes output characters. It combines "encode_results"
@ -5433,6 +5482,14 @@ be extremely high. On the other hand, large transactions of command,
input texts, and results are desirable if connection latency is an
issue.
@*
@strong{parse_silently}
@*
Like "parse" but not issueing a prompting message. Confusing to humans.
@*
@strong{parse_bulk_silently}
@*
Like "parse_bulk" but not issueing a prompting message. Confusing to humans.
@*
@strong{compare_sev}
@*
The parameter_text should contain two comma separated severity texts as
@ -5450,7 +5507,37 @@ Above example "SORRY,UPDATE" will yield 1.
@*
Print to the result channel a blank separated list of all severity names.
Sorted from low to high severity.
@c man .TP
@item -named_pipe_loop mode[:mode] disk_path_stdin disk_path_stdout disk_path_stderr
@kindex -named_pipe_loop enters EOF resistant dialog
@cindex Dialog, EOF resistant, -named_pipe_loop
Temporarily replace standard input, standard output and standard error by
named pipes. Enter dialog mode without readline.
@*
Defined modes are:
@*
"cleanup" removes the submitted pipe files when the loop ends.
@*
"keep" does not delete them. This is the default.
@*
"buffered" reads all lines from the input pipe until EOF before it opens
the output pipes and processes the input lines.
@*
"direct" opens the output pipes after the first input line was read.
Each line is executed directly after it is read. This is the default.
@*
The other three parameters must either be disk paths to existing named pipes,
or be "-" to leave the according standard i/o channel unreplaced.
@*
xorriso will open the stdin pipe, read and execute dialog lines from it
until the sender closes the pipe. The output pipes get opened depending on
mode "buffered" resp. "direct". After all lines are executed, xorriso will
close its side of the pipes and enter a new cycle of opening, reading and
executing.
@*
If an input line consists only of the word "end_named_pipe_loop"
then -named_pipe_loop will end and further xorriso commands may be
executed from other sources.
@c man .TP
@item -launch_frontend program [arguments ...] @minus{}@minus{}
@kindex -launch_frontend starts frontend program at pipes

View File

@ -199,7 +199,7 @@ libburnia SVN: frontend/xorriso-tcltk
You will probably have to give it x-permission after download. Some browsers
insist in adding &quot;.htm&quot; to the file name.
<BR>
Further you need xorriso >= 1.2.8, Tcl, Tk >= 8.4,
Further you need xorriso >= 1.3.2, Tcl, Tk >= 8.4,
Tcl/Tk package &quot;BWidget&quot;.
</P>
@ -507,21 +507,21 @@ This can bring effective read performance near to the raw media reading speed.
<P>
<DL>
<DT><H3>Download as source code (see README):</H3></DT>
<DD><A HREF="xorriso-1.2.8.tar.gz">xorriso-1.2.8.tar.gz</A>
(2325 KB).
<DD><A HREF="xorriso-1.3.2.tar.gz">xorriso-1.3.2.tar.gz</A>
(2335 KB).
</DD>
<DD>(Released 18 Mar 2013)</DD>
<DD><A HREF="xorriso-1.2.8.tar.gz.sig">xorriso-1.2.8.tar.gz.sig</A></DD>
<DD>(Released 07 Aug 2013)</DD>
<DD><A HREF="xorriso-1.3.2.tar.gz.sig">xorriso-1.3.2.tar.gz.sig</A></DD>
<DD>
(detached GPG signature for verification by
<KBD>gpg --verify xorriso-1.2.8.tar.gz.sig xorriso-1.2.8.tar.gz</KBD>
<KBD>gpg --verify xorriso-1.3.2.tar.gz.sig xorriso-1.3.2.tar.gz</KBD>
<BR>
after <KBD>gpg --keyserver keys.gnupg.net --recv-keys ABC0A854</KBD>).
</DD>
<DD>
Also on <A HREF="http://www.gnu.org/prep/ftp.html">
mirrors of ftp://ftp.gnu.org/gnu/ </A>
as xorriso/xorriso-1.2.8.tar.gz
as xorriso/xorriso-1.3.2.tar.gz
</DD>
</DL>
</DD>
@ -558,23 +558,23 @@ describes the cdrecord emulation</DD>
<HR>
<P>
Bug fixes towards previous stable version xorriso-1.2.6:
Bug fixes towards previous stable version xorriso-1.3.0:
<UL>
<LI>
-tell_media_space altered the pointers to MD5
of data files which stem from a previous session. This produced
false mismatches with -check_md5_r.
-find -exec "sort_weight" did not mark the image as having pending changes
</LI>
<LI>
CD tracks were reported with the sizes of the tracks in the first session.
-backslash_codes "with_program_arguments" was interpreted too late
</LI>
<LI>
-check_media use=outdev sector_map= stored TOC of input drive
Missing or empty parameter with -dus was interpreted as "*" rather than "."
</LI>
<LI>
-hide hfsplus and -as mkisofs -hide-hfsplus had no effect.
readline history was spammed by -msg_op parsing and pipe loops
</LI>
<LI>
xorriso aborted on SIGCONT, SIGTSTP, SIGTTIN, SIGTTOU
</LI>
<LI>./configure did not abort if libburn.h or libisofs.h were missing</LI>
<!--
<LI>- none -</LI>
-->
@ -593,10 +593,32 @@ Bug fixes in xorriso-1.1.0.pl01 towards xorriso-1.1.0:
-->
<P>
Enhancements towards previous stable version xorriso-1.2.6:
Enhancements towards previous stable version xorriso-1.3.0:
<UL>
<LI>New command -move</LI>
<LI>New -as mkisofs options -eltorito-id , -eltorito-selcrit</LI>
<LI>
New -pacifier behavior code "interval="
</LI>
<LI>
New -as mkisofs options --sort-weight-list and --sort-weight-patterns
</LI>
<LI>
New -format mode "without_spare" (for BD-RE)
</LI>
<LI>
New command -named_pipe_loop
</LI>
<LI>
New command -sh_style_result
</LI>
<LI>
New -msg_op opcodes "parse_silently" and "parse_bulk_silently"
</LI>
<LI>
Improved granularity of SCSI log time measurement, now with timestamp
</LI>
<LI>
New command -application_use and new -as mkisofs option --application_use
</LI>
<!--
<LI>- none -</LI>
-->
@ -619,16 +641,16 @@ libburnia project and the legal intentions of
<A HREF="http://www.fsf.org/"> FSF </A> match completely.
</DT>
<DD>&nbsp;</DD>
<DT>libburn-1.2.8</DT>
<DT>libburn-1.3.2</DT>
<DD>reads and writes data from and to CD, DVD, BD.</DD>
<DD>(founded by Derek Foreman and Ben Jansens,
developed and maintained since August 2006 by
Thomas Schmitt from team of libburnia-project.org)</DD>
<DT>libisofs-1.2.8</DT>
<DT>libisofs-1.3.2</DT>
<DD>operates on ISO 9660 filesystem images.</DD>
<DD>(By Vreixo Formoso, Mario Danic and Thomas Schmitt
from team of libburnia-project.org. HFS+ code by Vladimir Serbinenko.)</DD>
<DT>libisoburn-1.2.8</DT>
<DT>libisoburn-1.3.2</DT>
<DD>coordinates libburn and libisofs, emulates multi-session where needed,
and hosts the original source code of program xorriso.</DD>
<DD>It provides the complete functionality of xorriso via
@ -649,41 +671,18 @@ cdrecord and mkisofs.</DT>
<P>
<DL>
<DT><H3>Development snapshot, version 1.2.9 :</H3></DT>
<DD>Bug fixes towards xorriso-1.2.8:
<DT><H3>Development snapshot, version 1.3.3 :</H3></DT>
<DD>Bug fixes towards xorriso-1.3.2:
<UL>
<LI>Disk paths with components '.' or '..' could be mistaken for directories.
</LI>
<LI>
-as mkisofs -print-size failed with -isohybrid-mbr and a single boot image.
</LI>
<LI>
-as mkisofs -path-list did not switch to --no-emul-toc by default.
</LI>
<LI>Reserved and unused fields of APM entries were not zeroed.</LI>
<LI>
Unspecified Expiration Time and Effective Time of ISO volume was
represented by 0-bytes rather than ASCII '0' digits.
</LI>
<LI>
GPT header CRC was computed from all 512 bytes rather than from 92.
</LI>
<LI>
The protective MBR partition for GPT started at block 0 instead of 1.
</LI>
<LI>- none yet -</LI>
<!--
<LI>- none yet -</LI>
-->
</UL>
</DD>
<DD>Enhancements towards stable version 1.2.8:
<DD>Enhancements towards stable version 1.3.2:
<UL>
<LI>New -boot_image bootspecs grub2_mbr= and grub2_boot_info=</LI>
<LI>New -boot_image bootspec grub2_sparc_core=</LI>
<LI>
New -as mkisofs options --grub2-mbr , --grub2-boot-info , --grub2-sparc-core
</LI>
<LI>New -hardlinks mode "lsl_count" / "no_lsl_count"</LI>
<LI>- none yet -</LI>
<!--
<LI>- none yet -</LI>
-->
@ -693,13 +692,13 @@ New -as mkisofs options --grub2-mbr , --grub2-boot-info , --grub2-sparc-core
<DD>&nbsp;</DD>
<DD><A HREF="README_xorriso_devel">README 1.2.9</A>
<DD><A HREF="xorriso_help_devel">xorriso-1.2.9 -help</A></DD>
<DD><A HREF="xorrisofs_help_devel">xorriso-1.2.9 -as mkisofs -help</A></DD>
<DD><A HREF="xorrecord_help_devel">xorriso-1.2.9 -as cdrecord -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 1.2.9)</A></DD>
<DD><A HREF="man_1_xorrisofs_devel.html">man xorrisofs (as of 1.2.9)</A></DD>
<DD><A HREF="man_1_xorrecord_devel.html">man xorrecord (as of 1.2.9)</A></DD>
<DD><A HREF="README_xorriso_devel">README 1.3.3</A>
<DD><A HREF="xorriso_help_devel">xorriso-1.3.3 -help</A></DD>
<DD><A HREF="xorrisofs_help_devel">xorriso-1.3.3 -as mkisofs -help</A></DD>
<DD><A HREF="xorrecord_help_devel">xorriso-1.3.3 -as cdrecord -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 1.3.3)</A></DD>
<DD><A HREF="man_1_xorrisofs_devel.html">man xorrisofs (as of 1.3.3)</A></DD>
<DD><A HREF="man_1_xorrecord_devel.html">man xorrecord (as of 1.3.3)</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
@ -709,8 +708,8 @@ libburnia libraries.
installation see README)
</DD>
<DD>
<A HREF="xorriso-1.2.9.tar.gz">xorriso-1.2.9.tar.gz</A>
(2325 KB).
<A HREF="xorriso-1.3.3.tar.gz">xorriso-1.3.3.tar.gz</A>
(2335 KB).
</DD>
<DT>A dynamically linked development version of xorriso can be obtained
from repositories of

View File

@ -110,8 +110,8 @@
version of xorriso.
*/
#define Xorriso_req_majoR 1
#define Xorriso_req_minoR 2
#define Xorriso_req_micrO 9
#define Xorriso_req_minoR 3
#define Xorriso_req_micrO 2
static void yell_xorriso()

View File

@ -336,6 +336,8 @@ EXTRA_DIST = \
doc/startup_file.txt \
frontend/frontend_pipes_xorriso.c \
frontend/README-tcltk \
frontend/xorriso-tcltk \
frontend/sh_on_named_pipes.sh \
libisofs/aaip-os-dummy.c \
libisofs/aaip-os-linux.c \
libisofs/aaip-os-freebsd.c \

View File

@ -232,6 +232,8 @@ struct XorrisO { /* the global context of xorriso */
char biblio_file[38];
char abstract_file[38];
char application_use[SfileadrL];
char session_logfile[SfileadrL];
int session_lba;
int session_blocks;
@ -520,6 +522,8 @@ struct XorrisO { /* the global context of xorriso */
int dialog; /* 0=off , 1=single-line , 2=multi-line */
struct Xorriso_lsT *buffered_dialog; /* If not NULL : read by dialog */
int bsl_interpretation;
/* whether to run input through Sfile_bsl_interpreter():
bit0-1= dialog and quoted file reading
@ -533,6 +537,14 @@ struct XorrisO { /* the global context of xorriso */
bit6= perform backslash encoding with info texts
*/
int sh_style_result; /* Whether not to wrap into quotation marks the file
addresses reported by:
pwd pwdx ls lsd lsl lsdl lsx lsdx lslx lsdlx
du dus dux dusx findx find
and to make du* numbers left adjusted,
and not to append "/" to pwd*
*/
/* Pattern matching facility. It still carries legacy from scdbackup/askme.c
but is fully functional for xorriso.
*/
@ -572,6 +584,8 @@ struct XorrisO { /* the global context of xorriso */
struct ExclusionS *hfsplus_hidings;
int use_stdin; /* use raw stdin even if readline support is compiled */
int tolerate_stdin_eof; /* Do not abort on EOF in Xorriso_dialog_input
but rather return -2. */
int result_page_length;
int result_page_width;
char mark_text[SfileadrL]; /* ( stdout+stderr, M: ) */

View File

@ -1 +1 @@
#define Xorriso_timestamP "2013.05.16.070643"
#define Xorriso_timestamP "2013.08.07.110001"

View File

@ -18,8 +18,8 @@
/* The minimum version of libisoburn to be used with this version of xorriso
*/
#define xorriso_libisoburn_req_major 1
#define xorriso_libisoburn_req_minor 2
#define xorriso_libisoburn_req_micro 9
#define xorriso_libisoburn_req_minor 3
#define xorriso_libisoburn_req_micro 2
struct SpotlisT; /* List of intervals with different read qualities */
@ -608,5 +608,9 @@ int Xorriso_hfsplus_bless(struct XorrisO *xorriso, char *path,
int Xorriso_pretend_full_disc(struct XorrisO *xorriso, int flag);
int Xorriso_apply_sort_file(struct XorrisO *xorriso, char *path, int flag);
#endif /* Xorrisoburn_includeD */

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISOFS 1 "Version 1.2.9, Mai 13, 2013"
.TH XORRISOFS 1 "Version 1.3.2, Aug 07, 2013"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -374,6 +374,35 @@ Currently the El Torito boot catalog has a hardcoded weight of 1 billion.
Normally it should occupy the block with the lowest possible address.
Data files get added or loaded with initial weight 0.
.TP
\fB--sort-weight-list\fR disk_path
Read pairs of weight number and iso_rr_path from a file of the
local filesystem. Apply each pair like with \-\-sort\-weight.
.br
Only the last \-\-sort\-weight\-list or
\-\-sort\-weight\-patterns of a xorrisofs run gets into effect.
.br
The weight number is read from the start of the line.
The iso_rr_path part of an input line begins immediately after the first blank
or tab character of the line.
.br
Notes for the case that this feature is used within a sequence of generic
xorriso commands (not an issue with a pure mkisofs emulation run):
.br
The addressed files must already be in the ISO image model when you execute
.br
\-as mkisofs \-\-sort\-weight\-list disk_path \-\-
.br
Several such commands may be used to apply more than one weight file.
.br
Data files which are loaded by \-indev or \-dev get a weight between 1 and
2 exp 28 = 268,435,456, depending on their block address. This shall keep
them roughly in the same order if the write method of modifying is applied.
.TP
\fB--sort-weight-patterns\fR disk_path
Like \-\-sort\-weight\-list , but expanding the iso_rr_paths as
shell parser patterns and applying \-\-sort\-weight to each
matching file.
.TP
\fB\-dir-mode\fR mode
Set the access permissions for all directories in the image to the given
mode which is either an octal number beginning with "0" or a comma separated
@ -819,6 +848,19 @@ It is supposed to match this GRUB line:
.br
E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
.TP
\fB--application_use\fR character|0xXY|disk_path
Specify the content of the Application Use field which can take at most
512 bytes.
.br
If the parameter of this command is empty, then the field is filled
with 512 0\-bytes. If it is a single character, then it gets repeated 512 times.
If it begins by "0x" followed by two hex digits [0\-9a\-fA\-F], then the digits
are read as byte value which gets repeated 512 times.
.br
Any other parameter text is used as disk_path to open a data file and to
read up to 512 bytes from it. If the file is smaller than 512 bytes, then the
remaining bytes in the field get set to binary 0.
.TP
.B El Torito Bootable ISO images:
.PP
The precondition for a bootable ISO image is to have in the ISO image
@ -1305,6 +1347,10 @@ original mkisofs description texts.
Suppress most messages of the program run, except those which indicate
problems or errors.
.TP
\fB\-gui\fR
.br
Increase the frequency of pacifier messages while writing an ISO image.
.TP
\fB\-log-file\fR disk_path
.br
Truncate file disk_path to 0 size and redirect to it all messages which would
@ -1653,7 +1699,9 @@ and its first parttion will start at hard disk block 64.
It will also boot from optical media.
.br
$ xorrisofs \-o output.iso \\
.br
\-b isolinux/isolinux.bin \-c isolinux/boot.cat \\
.br
\-no\-emul\-boot \-boot\-load\-size 4 \-boot\-info\-table \\
.br
\-isohybrid\-mbr /usr/lib/syslinux/isohdpfx.bin \\

View File

@ -14,7 +14,7 @@ END-INFO-DIR-ENTRY

File: xorrisofs.info, Node: Top, Next: Overview, Up: (dir)
xorrisofs 1.2.9
xorrisofs 1.3.2
***************
xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso
@ -393,6 +393,31 @@ File: xorrisofs.info, Node: SetProduct, Next: SetCompl, Prev: SetInsert, Up:
the block with the lowest possible address. Data files get added
or loaded with initial weight 0.
--sort-weight-list disk_path
Read pairs of weight number and iso_rr_path from a file of the
local filesystem. Apply each pair like with --sort-weight.
Only the last --sort-weight-list or --sort-weight-patterns of a
xorrisofs run gets into effect.
The weight number is read from the start of the line. The
iso_rr_path part of an input line begins immediately after the
first blank or tab character of the line.
Notes for the case that this feature is used within a sequence of
generic xorriso commands (not an issue with a pure mkisofs
emulation run):
The addressed files must already be in the ISO image model when
you execute
-as mkisofs --sort-weight-list disk_path --
Several such commands may be used to apply more than one weight
file.
Data files which are loaded by -indev or -dev get a weight between
1 and 2 exp 28 = 268,435,456, depending on their block address.
This shall keep them roughly in the same order if the write method
of modifying is applied.
--sort-weight-patterns disk_path
Like --sort-weight-list , but expanding the iso_rr_paths as shell
parser patterns and applying --sort-weight to each matching file.
-dir-mode mode
Set the access permissions for all directories in the image to the
given mode which is either an octal number beginning with "0" or a
@ -813,6 +838,19 @@ characters from at most 3 characters.
search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc
E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
--application_use character|0xXY|disk_path
Specify the content of the Application Use field which can take at
most 512 bytes.
If the parameter of this command is empty, then the field is filled
with 512 0-bytes. If it is a single character, then it gets
repeated 512 times. If it begins by "0x" followed by two hex
digits [0-9a-fA-F], then the digits are read as byte value which
gets repeated 512 times.
Any other parameter text is used as disk_path to open a data file
and to read up to 512 bytes from it. If the file is smaller than
512 bytes, then the remaining bytes in the field get set to binary
0.

File: xorrisofs.info, Node: Bootable, Next: SystemArea, Prev: ImageId, Up: Options
@ -1283,6 +1321,10 @@ File: xorrisofs.info, Node: Miscellaneous, Next: ExSimple, Prev: Jigdo, Up:
Suppress most messages of the program run, except those which
indicate problems or errors.
-gui
Increase the frequency of pacifier messages while writing an ISO
image.
-log-file disk_path
Truncate file disk_path to 0 size and redirect to it all messages
which would normally appear on stderr. -log-file with empty text
@ -1737,6 +1779,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* Menu:
* --acl Recording of ACLs: SetExtras. (line 71)
* --application_use set Application Use field: ImageId. (line 90)
* --boot-catalog-hide Hide El Torito boot catalog: Bootable.
(line 114)
* --efi-boot El Torito EFI boot image: Bootable. (line 58)
@ -1753,7 +1796,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --no_rc do not execute startup files: Miscellaneous. (line 19)
* --norock disable Rock Ridge production: SetExtras. (line 25)
* --old-empty old block addresses for empty files: SetProduct.
(line 81)
(line 106)
* --old-root-devno enable disk idevno with -old-root: SetInsert.
(line 97)
* --old-root-no-ino disable disk ino with -old-root: SetInsert.
@ -1764,7 +1807,12 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --quoted_path_list read pathspecs from disk file: SetInsert.
(line 13)
* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 101)
* --sort-weight set output file address: SetProduct. (line 49)
* --sort-weight set block address sorting weight: SetProduct.
(line 49)
* --sort-weight-list set block address sorting weight: SetProduct.
(line 60)
* --sort-weight-patterns set block address sorting weight: SetProduct.
(line 81)
* --stdio_sync control forced output to disk files: SetProduct.
(line 25)
* --xattr Recording of xattr: SetExtras. (line 77)
@ -1791,7 +1839,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -D allow deep directory hierachies: SetExtras. (line 31)
* -d omit trailing dot in ISO file names: SetCompl. (line 56)
* -dev set path for loading existing ISO image: Loading. (line 25)
* -dir-mode permissions for all directories: SetProduct. (line 60)
* -dir-mode permissions for all directories: SetProduct. (line 85)
* -disable-deep-relocation allow deep directory hierachies: SetExtras.
(line 44)
* -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl.
@ -1809,13 +1857,15 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -exclude-list exclude disk files from inserting: SetInsert.
(line 51)
* -f follow symbolic links on disk: SetInsert. (line 24)
* -file-mode permissions for all data files: SetProduct. (line 66)
* -file-mode permissions for all data files: SetProduct. (line 91)
* -follow-links follow symbolic links on disk: SetInsert. (line 28)
* -full-iso9660-filenames allow 31 characters in ISO file names: SetCompl.
(line 66)
* -G Fill System Area e.g. by MBR: SystemArea. (line 25)
* -generic-boot Fill System Area e.g. by MBR: SystemArea. (line 32)
* -graft-points enable target=source pathspecs: SetInsert. (line 31)
* -gui increase frequency of pacifier messages: Miscellaneous.
(line 31)
* -hard-disk-boot El Torito boot image emulation: Bootable. (line 68)
* -help list supported options: Miscellaneous. (line 23)
* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 182)
@ -1863,7 +1913,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 114)
* -joliet-long allow longer Joliet names: SetExtras. (line 117)
* -l allow 31 characters in ISO file names: SetCompl. (line 63)
* -log-file redirect stderr messages: Miscellaneous. (line 31)
* -log-file redirect stderr messages: Miscellaneous. (line 35)
* -m exclude disk files from inserting: SetInsert. (line 35)
* -M set path for loading existing ISO image: Loading. (line 11)
* -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl.
@ -1873,7 +1923,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 178)
* -N omit version number in ISO file names: SetCompl. (line 73)
* -no-emul-boot El Torito boot image emulation: Bootable. (line 72)
* -no-pad do not add zeros to ISO tree: SetProduct. (line 76)
* -no-pad do not add zeros to ISO tree: SetProduct. (line 101)
* -o set output file address: SetProduct. (line 8)
* -old-exclude exclude disk files from inserting: SetInsert.
(line 48)
@ -1887,7 +1937,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 21)
* -p set Preparer Id: ImageId. (line 54)
* -P set Publisher Id: ImageId. (line 30)
* -pad add 300 KiB of zeros to ISO tree: SetProduct. (line 69)
* -pad add 300 KiB of zeros to ISO tree: SetProduct. (line 94)
* -partition_cyl_align Image size alignment: SystemArea. (line 116)
* -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 99)
* -partition_offset Make mountable by partition 1: SystemArea.
@ -1921,10 +1971,10 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -untranslated-filenames very relaxed filename rules: SetCompl.
(line 36)
* -untranslated_name_len untranslated file names: SetCompl. (line 39)
* -v enable verbous messages: Miscellaneous. (line 36)
* -v enable verbous messages: Miscellaneous. (line 40)
* -V set Volume Id: ImageId. (line 13)
* -verbose enable verbous messages: Miscellaneous. (line 39)
* -version report program version: Miscellaneous. (line 42)
* -verbose enable verbous messages: Miscellaneous. (line 43)
* -version report program version: Miscellaneous. (line 46)
* -volid set Volume Id: ImageId. (line 23)
* -volset set Volume Set Id: ImageId. (line 26)
* -x exclude disk files from inserting: SetInsert. (line 45)
@ -1945,7 +1995,12 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Application Id, set, -A, -appid: ImageId. (line 38)
* Backup, enable fidelity, --for_backup: SetExtras. (line 67)
* Biblio File, set path, -biblio: ImageId. (line 72)
* Block address, set sort weight, --sort-weight: SetProduct. (line 49)
* Block address, set sorting weight, --sort-weight: SetProduct.
(line 49)
* Block address, set sorting weight, --sort-weight-list: SetProduct.
(line 60)
* Block address, set sorting weight, --sort-weight-patterns: SetProduct.
(line 81)
* Bootability, boot catalog hidden, --boot-catalog-hide: Bootable.
(line 114)
* Bootability, boot catalog name, -c, -eltorito-catalog: Bootable.
@ -2054,6 +2109,8 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* ISO file names, very relaxed rules, -U, -untranslated-filenames: SetCompl.
(line 29)
* ISO image size, predict, -print-size: Miscellaneous. (line 8)
* ISO image, set Application Use field, --application_use: ImageId.
(line 90)
* ISO image, set timestamps, --modification-date=: ImageId. (line 82)
* ISO level 1, enforce directory names, -disallow_dir_id_ext: SetCompl.
(line 24)
@ -2081,24 +2138,25 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* MBR, append partition, -append_partition: SystemArea. (line 128)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 99)
* MD5, record and load, --md5: SetExtras. (line 84)
* Message output, redirect stderr, -log-file: Miscellaneous. (line 31)
* Message output, increase frequency, -gui: Miscellaneous. (line 31)
* Message output, redirect stderr, -log-file: Miscellaneous. (line 35)
* Message output, suppress, -quiet: Miscellaneous. (line 27)
* Mountability, by non-trivial partition 1, -partition_offset: SystemArea.
(line 87)
* Options, list, -help: Miscellaneous. (line 23)
* Output file, set address, -o, -output: SetProduct. (line 8)
* Padding, 300 KiB, -pad: SetProduct. (line 69)
* Padding, disable, --old-empty: SetProduct. (line 81)
* Padding, disable, -no-pad: SetProduct. (line 76)
* Padding, 300 KiB, -pad: SetProduct. (line 94)
* Padding, disable, --old-empty: SetProduct. (line 106)
* Padding, disable, -no-pad: SetProduct. (line 101)
* pathspec, _definition: Insert. (line 12)
* pathspec, enable target=source, -graft-points: SetInsert. (line 31)
* pathspec, read list of, --quoted_path_list: SetInsert. (line 13)
* pathspec, read list of, -path-list: SetInsert. (line 8)
* Permissions, for all data files, -file-mode: SetProduct. (line 66)
* Permissions, for all directories, -dir-mode: SetProduct. (line 60)
* Permissions, for all data files, -file-mode: SetProduct. (line 91)
* Permissions, for all directories, -dir-mode: SetProduct. (line 85)
* Preparer Id, set, -p: ImageId. (line 54)
* Problems, reporting: Bugreport. (line 6)
* Program version, report, -version: Miscellaneous. (line 42)
* Program version, report, -version: Miscellaneous. (line 46)
* Publisher Id, set, -P, -publisher: ImageId. (line 30)
* Rock Ridge, (enabled by default), -R, -rock: SetExtras. (line 8)
* Rock Ridge, _definition: Standards. (line 14)
@ -2114,7 +2172,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* System Id, set, -sysid: ImageId. (line 49)
* Table-of-content, emulation off, --no-emul-toc: SetProduct. (line 44)
* Table-of-content, emulation, --emul-toc: SetProduct. (line 35)
* Verbosity, high, -v, -verbose: Miscellaneous. (line 36)
* Verbosity, high, -v, -verbose: Miscellaneous. (line 40)
* Volume Id, set, -V, -volid: ImageId. (line 13)
* Volume Set Id, set, -volset: ImageId. (line 26)
* xattr, record and load, --xattr: SetExtras. (line 77)
@ -2135,28 +2193,28 @@ Node: Options6709
Node: Loading7436
Node: SetInsert9732
Node: SetProduct14148
Node: SetCompl17855
Node: SetExtras20451
Node: SetHide28860
Node: ImageId30168
Node: Bootable33673
Node: SystemArea38667
Node: Charset48964
Node: Jigdo49990
Node: Miscellaneous54257
Node: Examples55813
Node: ExSimple56299
Node: ExGraft56778
Node: ExMkisofs58025
Node: ExGrowisofs59278
Node: ExIncBackup60450
Node: ExIncBckAcc63558
Node: ExBootable65234
Node: Files67326
Node: Seealso68400
Node: Bugreport69056
Node: Legal69637
Node: CommandIdx70532
Node: ConceptIdx84598
Node: SetCompl19092
Node: SetExtras21688
Node: SetHide30097
Node: ImageId31405
Node: Bootable35573
Node: SystemArea40567
Node: Charset50864
Node: Jigdo51890
Node: Miscellaneous56157
Node: Examples57801
Node: ExSimple58287
Node: ExGraft58766
Node: ExMkisofs60013
Node: ExGrowisofs61266
Node: ExIncBackup62438
Node: ExIncBckAcc65546
Node: ExBootable67222
Node: Files69314
Node: Seealso70388
Node: Bugreport71044
Node: Legal71625
Node: CommandIdx72520
Node: ConceptIdx87149

End Tag Table

View File

@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename xorrisofs.info
@settitle GNU xorrisofs 1.2.9
@settitle GNU xorrisofs 1.3.2
@c %**end of header
@c
@c man-ignore-lines begin
@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISOFS 1 "Version 1.2.9, Mai 13, 2013"
@c man .TH XORRISOFS 1 "Version 1.3.2, Aug 07, 2013"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -76,7 +76,7 @@ Permission is granted to distrubute this text freely.
@end copying
@c man-ignore-lines end
@titlepage
@title Manual of GNU xorriso personality xorrisofs 1.2.9
@title Manual of GNU xorriso personality xorrisofs 1.3.2
@author Thomas Schmitt
@page
@vskip 0pt plus 1filll
@ -85,7 +85,7 @@ Permission is granted to distrubute this text freely.
@contents
@ifnottex
@node Top
@top xorrisofs 1.2.9
@top xorrisofs 1.3.2
@c man-ignore-lines 1
@c man .SH NAME
@ -545,8 +545,8 @@ files.
This is the default.
@c man .TP
@item @minus{}@minus{}sort-weight weight_number iso_rr_path
@kindex @minus{}@minus{}sort-weight set output file address
@cindex Block address, set sort weight, @minus{}@minus{}sort-weight
@kindex @minus{}@minus{}sort-weight set block address sorting weight
@cindex Block address, set sorting weight, @minus{}@minus{}sort-weight
Attribute a LBA weight number to regular files. If iso_rr_path leads
to a directory then all regular files underneath will get the weight_number.
@*
@ -557,6 +557,39 @@ Currently the El Torito boot catalog has a hardcoded weight of 1 billion.
Normally it should occupy the block with the lowest possible address.
Data files get added or loaded with initial weight 0.
@c man .TP
@item @minus{}@minus{}sort-weight-list disk_path
@kindex @minus{}@minus{}sort-weight-list set block address sorting weight
@cindex Block address, set sorting weight, @minus{}@minus{}sort-weight-list
Read pairs of weight number and iso_rr_path from a file of the
local filesystem. Apply each pair like with @minus{}@minus{}sort-weight.
@*
Only the last @minus{}@minus{}sort-weight-list or
@minus{}@minus{}sort-weight-patterns of a xorrisofs run gets into effect.
@*
The weight number is read from the start of the line.
The iso_rr_path part of an input line begins immediately after the first blank
or tab character of the line.
@*
Notes for the case that this feature is used within a sequence of generic
xorriso commands (not an issue with a pure mkisofs emulation run):
@*
The addressed files must already be in the ISO image model when you execute
@*
-as mkisofs @minus{}@minus{}sort-weight-list disk_path @minus{}@minus{}
@*
Several such commands may be used to apply more than one weight file.
@*
Data files which are loaded by -indev or -dev get a weight between 1 and
2 exp 28 = 268,435,456, depending on their block address. This shall keep
them roughly in the same order if the write method of modifying is applied.
@c man .TP
@item @minus{}@minus{}sort-weight-patterns disk_path
@kindex @minus{}@minus{}sort-weight-patterns set block address sorting weight
@cindex Block address, set sorting weight, @minus{}@minus{}sort-weight-patterns
Like @minus{}@minus{}sort-weight-list , but expanding the iso_rr_paths as
shell parser patterns and applying @minus{}@minus{}sort-weight to each
matching file.
@c man .TP
@item -dir-mode mode
@kindex -dir-mode permissions for all directories
@cindex Permissions, for all directories, -dir-mode
@ -1139,6 +1172,21 @@ It is supposed to match this GRUB line:
search @minus{}@minus{}fs-uuid @minus{}@minus{}set YYYY-MM-DD-hh-mm-ss-cc
@*
E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
@c man .TP
@item @minus{}@minus{}application_use character|0xXY|disk_path
@kindex @minus{}@minus{}application_use set Application Use field
@cindex ISO image, set Application Use field, @minus{}@minus{}application_use
Specify the content of the Application Use field which can take at most
512 bytes.
@*
If the parameter of this command is empty, then the field is filled
with 512 0-bytes. If it is a single character, then it gets repeated 512 times.
If it begins by "0x" followed by two hex digits [0-9a-fA-F], then the digits
are read as byte value which gets repeated 512 times.
@*
Any other parameter text is used as disk_path to open a data file and to
read up to 512 bytes from it. If the file is smaller than 512 bytes, then the
remaining bytes in the field get set to binary 0.
@end table
@c man .TP
@c man .B El Torito Bootable ISO images:
@ -1766,6 +1814,12 @@ original mkisofs description texts.
Suppress most messages of the program run, except those which indicate
problems or errors.
@c man .TP
@item -gui
@kindex -gui increase frequency of pacifier messages
@cindex Message output, increase frequency, -gui
@*
Increase the frequency of pacifier messages while writing an ISO image.
@c man .TP
@item -log-file disk_path
@kindex -log-file redirect stderr messages
@cindex Message output, redirect stderr, -log-file