Compare commits
38 Commits
ZeroSixZer
...
ZeroSixTwo
Author | SHA1 | Date | |
---|---|---|---|
2acdac105c | |||
057ac2ebe0 | |||
268f114fbf | |||
c1cbd169f8 | |||
33109cfd8e | |||
fc98907c16 | |||
b82abcf210 | |||
252a845f2b | |||
44310ae57e | |||
8d9d900608 | |||
06c1540797 | |||
cc672d525b | |||
8239d082ca | |||
d54efd4bc2 | |||
5af8ad46f4 | |||
9ce2aabe28 | |||
21bd5b5d42 | |||
0e755f48c9 | |||
4e4b789753 | |||
87ebfde08b | |||
4771254d1f | |||
689bcf0168 | |||
fb35f70c6e | |||
3d933149ff | |||
6c939780e8 | |||
d06c6e69f8 | |||
1c0ee8fc32 | |||
3ee02c766d | |||
bb16a5615f | |||
d78b29005d | |||
df685e89ac | |||
1942a636f3 | |||
050871e1f2 | |||
a58ca098b7 | |||
75f864a061 | |||
592424a420 | |||
f2ac46cbc0 | |||
04bd02972d |
360
ChangeLog
Normal file
360
ChangeLog
Normal file
@ -0,0 +1,360 @@
|
||||
libisoburn-0.6.2.pl00.tar.gz Sat Sep 18 2010
|
||||
===============================================================================
|
||||
libisoburn novelties:
|
||||
* New API function isoburn_igopt_set_part_offset()
|
||||
* Hiding all non-API symbols from the linker by use of --version-script
|
||||
* Now with history of release notes in ./ChangeLog file.
|
||||
xorriso novelties:
|
||||
* Bug fix: Regression with -hardlinks and -compliance old_rr, 0.4.2, Aug 2009
|
||||
* New option -preparer_id, -as mkisofs options -p and -preparer
|
||||
* New -boot_image specifier emul_type=none|hard_disk|floppy
|
||||
* New boot_image boot specs partition_offset,partition_hd_cyl,partition_sec_hd
|
||||
* Made behavior of -as mkisofs with unknown options more similar to original
|
||||
* New -as mkisofs option -hard-disk-boot, enabled -b without -no-emul-boot
|
||||
* New -as mkisofs option -e from Fedora genisoimage
|
||||
* New -as mkisofs options -partition_offset,-partition_hd_cyl,-partition_sec_hd
|
||||
|
||||
libisoburn-0.6.0.pl00.tar.gz Fri Jul 02 2010
|
||||
===============================================================================
|
||||
libisoburn novelties:
|
||||
xorriso novelties:
|
||||
* New option -read_mkisofsrc interprets .mkisofsrc To be performed before -as
|
||||
mkisofs. Performed automatically with program alias name "xorrisofs".
|
||||
* Implemented -as mkisofs options -dir-mode, -file-mode, -abstract, -biblio,
|
||||
-copyright
|
||||
* Implemented -as mkisofs options -hide, -hide-joliet, -hide-list,
|
||||
-hide-joliet-list
|
||||
* New -as mkisofs option --boot-catalog-hide
|
||||
* New option -hide, -find action -hide, -find test -hidden
|
||||
* New -boot_image bootspec cat_hidden=on
|
||||
* New options -copright_file , -biblio_file , -abstract_file
|
||||
* New find test -disk_name
|
||||
* Enabled use of libreadline on Solaris
|
||||
* Bug fix: -check_media patch_lba0= could install wrong image size
|
||||
* Bug fix: -as mkisofs option -volset was wrongly interpreted like -volid
|
||||
|
||||
libisoburn-0.5.8.pl00.tar.gz Mon Jun 14 2010
|
||||
===============================================================================
|
||||
libisoburn novelties:
|
||||
* xorriso source split into more modules, object code moved into libisoburn
|
||||
xorriso novelties:
|
||||
* New write extension option isoburn_igopt_no_emul_toc
|
||||
* New -compliance rule no_emul_toc, new -as mkisofs --no-emul-toc
|
||||
* Implemented -as cdrecord -V
|
||||
* Implemented -as mkisofs options -U, -N, -l, -d, -allow-lowercase
|
||||
|
||||
libisoburn-0.5.6.pl00.tar.gz Tue May 04 2010
|
||||
===============================================================================
|
||||
libisoburn novelties:
|
||||
xorriso novelties:
|
||||
* Allowing up to 32 boot images
|
||||
* New -boot_image bootspecs
|
||||
efi_path=, platform_id=, sel_crit=, id_string=, next
|
||||
* New -as mkisofs options --efi-boot, -eltorito-alt-boot
|
||||
|
||||
libisoburn-0.5.4.pl00.tar.gz Mon Apr 19 2010
|
||||
===============================================================================
|
||||
libisoburn novelties:
|
||||
* New API call isoburn_igopt_set_system_area()
|
||||
* New API call isoburn_igopt_set_pvd_times()
|
||||
* New isoburn_igopt_set_relaxed() options: only_iso_versions, no_j_force_dots
|
||||
xorriso novelties:
|
||||
* New -boot_image any system_area=, -as mkisofs option -G
|
||||
* New -boot_image grub partition_table=on, -as mkisofs --protective-msdos-label
|
||||
* New -boot_image isolinux partition_table=on, -as mkisofs -isohybrid-mbr
|
||||
* New option -volume_date, -as mkisofs --modification-date=
|
||||
* New -find action mkisofs_r,-as mkisofs -r
|
||||
* New -find action sort_weight, -as mkisofs --sort-weight
|
||||
* New -compliance options only_iso_version, no_j_force_dots avoid
|
||||
a bug in GRUB 1.96. They are default now.
|
||||
|
||||
libisoburn-0.5.2.pl00.tar.gz Tue Mar 30 2010
|
||||
===============================================================================
|
||||
xorriso novelties:
|
||||
* xorriso documentation is now based on a hybrid format of Texinfo and man-
|
||||
page. Copies included: .texi, .info, .1 (man page)
|
||||
|
||||
libisoburn-0.5.0.pl00.tar.gz Tue Feb 22 2010
|
||||
===============================================================================
|
||||
xorriso novelties:
|
||||
* The former xorriso-standalone project is now GNU xorriso under GPLv3+. This
|
||||
affects some documentation and the generator script, but not the license of
|
||||
libisoburn or its program xorriso.
|
||||
* Bug fix: xorriso -update_r could lead to SIGSEGV if applied to a data file
|
||||
rather than a directory.
|
||||
* Bug fix on FreeBSD: xorriso could leave the drive tray locked.
|
||||
* New option -scsi_log
|
||||
|
||||
libisoburn-0.4.8.pl00.tar.gz Tue Jan 26 2010
|
||||
===============================================================================
|
||||
xorriso novelties:
|
||||
* Bug fix: xorriso did not blank CD-RW with images that were prepared
|
||||
on hard disk.
|
||||
* New configure option --enable-libcdio for system adapter to libcdio-0.83git
|
||||
|
||||
libisoburn-0.4.6.pl00.tar.gz Wed Dec 09 2009
|
||||
===============================================================================
|
||||
xorriso novelties:
|
||||
* New options -dvd_obs and -stdio_sync
|
||||
* New configure option --enable-dvd-obs-64k
|
||||
|
||||
libisoburn-0.4.4.pl00.tar.gz Wed Oct 28 2009
|
||||
===============================================================================
|
||||
xorriso novelties:
|
||||
* Bug fix: With -as cdrecord : -xa1 and -xamix were ignored although they do
|
||||
matter.
|
||||
* Option -toc now reports the individual media type. E.g. with a DVD+RW:
|
||||
"Media product: RICOHJPN/W11/49 , Ricoh Company Limited"
|
||||
* New option -pvd_info displays image id strings. New options -system_id , -
|
||||
volset_id allow to set such image id strings.
|
||||
* New option -mount_opts tries to circumvent an eventual ban to mount the same
|
||||
device twice. Some Linux systems allow to mount two sessions of the same
|
||||
media only if they get fooled via the loop device.
|
||||
* New option -scdbackup_tag performs the task of the scdbackup MD5 checksum
|
||||
filter inside xorriso.
|
||||
Already fixed by patch releases of xorriso-0.4.2:
|
||||
* Bug fix: -cut_out deleted previously cut-out pieces of the same file
|
||||
* Bug fix libisofs: Filenames could lose blanks during a multi-session cycle
|
||||
* Bug fix: -for_backup did not enable -xattr and -md5 if no drive was chosen
|
||||
yet
|
||||
* Bug fix: xorrisofs -help, xorrecord -help displayed original xorriso -help
|
||||
|
||||
libisoburn-0.4.2.pl02.tar.gz Thu Oct 08 2009
|
||||
===============================================================================
|
||||
* Bug fix: -for_backup did not enable -xattr and -md5 if no drive was chosen
|
||||
yet
|
||||
* Bug fix: xorrisofs -help, xorrecord -help displayed original xorriso -help
|
||||
|
||||
Libisoburn 0.4.2.pl01
|
||||
===============================================================================
|
||||
* Bug fix: xorriso option -cut_out deleted previously cut-out pieces of the
|
||||
same file. The bug was introduced with release 0.1.4 in March 2008.
|
||||
|
||||
Libisoburn 0.4.2
|
||||
===============================================================================
|
||||
* New write options isoburn_igopt_session_md5, isoburn_igopt_file_md5,
|
||||
isoburn_igopt_file_stability allow to record MD5 checksums of session and
|
||||
single data files.
|
||||
* New read option isoburn_ropt_nomd5 allows to read those MD5 sums when
|
||||
importing an ISO image.
|
||||
xorriso novelties:
|
||||
* New option -md5, new -as mkisofs option --md5 allow to record in the image
|
||||
MD5 checksums for the whole session and for each single data file.
|
||||
* New options -check_md5, -check_md5_r allow to verify the whole session or
|
||||
single files by comparing their image data with their MD5 sums.
|
||||
* Options -compare, -compare_r, -update, update_r now can use recorded MD5.
|
||||
* New -find actions check_md5, get_md5, make_md5 allow to check, to display or
|
||||
to recompute MD5 checksums of data files. New find test -has_md5
|
||||
distinguishes data files which have recorded MD5 from files which have none.
|
||||
* New -find test -has_any_xattr and action get_any_xattr allow to inspect the
|
||||
libisofs specific attributes of namespace "isofs".
|
||||
* Options -lsl and lsdl now display correct link counts if -hardlinks is on.
|
||||
* New option -calm_drive allows to reduce drive noise if no data reading is
|
||||
intended for a while.
|
||||
* New option -list_profiles allows to inquire and process the list of supported
|
||||
media types.
|
||||
* Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs
|
||||
any more. (Already fixed by release 0.4.0.pl01, 20 Jul 2009)
|
||||
|
||||
libisoburn-0.4.0.pl01.tar.gz Mon Jul 20 2009
|
||||
===============================================================================
|
||||
xorriso novelties:
|
||||
* New option -hardlinks enables recording and restoring of hard link relations.
|
||||
* Improved reading performance with -update_r and -extract.
|
||||
* New option -for_backup as shortcut for -acl -xattr -hardlinks
|
||||
* Operators with option -find : -not, -or, -and, (, ), -if, -then, -else
|
||||
* New -find tests -wholename, -prune
|
||||
* Bug fix: SIGSEGV with option -status and no search string
|
||||
* Bug fix: -load volid did not perform pattern search
|
||||
* Bug fix: Copies of overwriteable media on sequential were mistaken in ROM
|
||||
drives
|
||||
Libisoburn 0.4.0.pl01 release notes:
|
||||
* Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs
|
||||
any more
|
||||
|
||||
libisoburn-0.3.8.pl00.tar.gz Sun Apr 19 2009
|
||||
===============================================================================
|
||||
libisoburn novelties:
|
||||
* New API calls isoburn_ropt_set_auto_incharset() and
|
||||
isoburn_ropt_get_auto_incharset()
|
||||
xorriso novelties:
|
||||
* New options -set_filter, -set_filter_r, -find -exec set_filter allow to
|
||||
manipulate the content of data files on the fly.
|
||||
* New option -zisofs, built-in filters --zisofs , --gzip , --gunzip enable
|
||||
compression and decompression of data file content.
|
||||
* New options -external_filter , -unregister_filter, -close_filter_list allow
|
||||
arbitrary external processes to do content filtering.
|
||||
* New options -show_stream, -show_stream_r allow to inspect the origin and the
|
||||
filters of data files in an emerging image.
|
||||
* New option -auto_charset based on xattr "isofs.cs" allows to tag an ISO
|
||||
filesystem image with the character set name that is in use on the current
|
||||
terminal.
|
||||
|
||||
libisoburn-0.3.6.pl00.tar.gz Mon Mar 16 2009
|
||||
===============================================================================
|
||||
xorriso novelties:
|
||||
* Dummy MMC adapter of libburn allows compilation on systems other than Linux,
|
||||
FreeBSD
|
||||
* Default of -compliance has been changed to "old_rr", new rule "new_rr"
|
||||
* New -stream_recording modes with start address or "data". "on" is now 32s.
|
||||
|
||||
libisoburn-0.3.4.pl00.tar.gz Sun Mar 01 2009
|
||||
===============================================================================
|
||||
* New isoburn_read_opts values: isoburn_ropt_noaaip, isoburn_ropt_noacl,
|
||||
isoburn_ropt_noea
|
||||
xorriso novelties:
|
||||
* New option -acl enables ACL import and export
|
||||
* New options -getfacl, -getfacl_r, -setfacl, -setfacl_r, -setfacl_list
|
||||
* New find tests -has_acl, -has_no_acl , new find actions getfacl, setfacl
|
||||
* New option -xattr enables import and export of Extended Attributes
|
||||
* New options -getfattr, -getfattr_r, -setfattr, -setfattr_r, -setfattr_list
|
||||
* New find tests -has_xattr, -has_aaip, new find actions getfattr, setfattr
|
||||
* New -as mkisofs options --acl and --xattr
|
||||
* New option -disk_dev_ino accelerates incremental backups
|
||||
|
||||
libisoburn-0.3.2.pl00.tar.gz Tue Jan 06 2009
|
||||
===============================================================================
|
||||
* New API function isoburn_get_mount_params()
|
||||
* Now depending on libburn-0.6.0 which supports BD-R media
|
||||
xorriso novelties:
|
||||
* Bug fix: Options -extract and -extract_single were enabled with -osirrox off
|
||||
* New options -mount , -mount_cmd , -session_string
|
||||
* New -format modes by_size_ and fast_by_size_
|
||||
* New option -assert_volid
|
||||
* New option -drive_class for safety management of pseudo-drive access
|
||||
|
||||
libisoburn-0.3.0.pl00.tar.gz Tue Dec 2 2008
|
||||
===============================================================================
|
||||
* Now depending on libisofs-0.6.12 and libburn-0.5.6 to ensure use of their
|
||||
recent bug fixes
|
||||
xorriso novelties:
|
||||
* New options -quoted_path_list, -quoted_not_list
|
||||
* New option -backslash_codes for weird file names and terminal safety
|
||||
* New options -charset, -in_charset, -out_charset
|
||||
* New option -local_charset allows to override locale
|
||||
* New option -application_id
|
||||
* New option -compliance allows certain deviations from standards
|
||||
* Suitable ISOLINUX boot images are made alternatively bootable via an MBR
|
||||
* Bug fix: Forgot exit value registration to -return_with.
|
||||
Thanks to Steve Dodd.
|
||||
* Bug fix: -format as_needed did not recognize unformatted BD-RE
|
||||
* Bug fix: disk patterns with relative addresses were not properly resolved
|
||||
|
||||
libisoburn-0.2.8.pl00.tar.gz Wed Oct 15 2008
|
||||
===============================================================================
|
||||
* Now depending on libisofs-0.6.10 and libburn-0.5.4 to ensure use of their
|
||||
recent bug fixes
|
||||
xorriso novelties:
|
||||
* Ability to write and maintain bootable ISO images based on ISOLINUX
|
||||
* New ./configure option --disable-libreadline to make binary more portable
|
||||
* Bug fix: -as mkisofs -iso-level was accused to be an unknown option
|
||||
* Bug fix: -follow link attributed random target filenames to looping links
|
||||
|
||||
libisoburn-0.2.6.pl00.tar.gz Sat Sep 20 2008
|
||||
===============================================================================
|
||||
xorriso novelties:
|
||||
* Capability to insert and extract files far larger than 4 GB
|
||||
* New option -file_size_limit, -as mkisofs now supports -iso-level 1 to 3
|
||||
* New option -extract_cut
|
||||
* New -error_behavior "file_extraction" behavior "best_effort"
|
||||
* New option -check_media_defaults
|
||||
* New option -list_delimiter
|
||||
* Bug fix: -format full did not re-format already formatted DVD+RW
|
||||
|
||||
libisoburn-0.2.4.pl00.tar.gz Mo Aug 25 2008
|
||||
===============================================================================
|
||||
xorriso novelties:
|
||||
* New option -check_media
|
||||
* New -find test -damaged, new -find actions "report_damage", "report_lba"
|
||||
* New -error_behavior occasion "file_extraction"
|
||||
|
||||
libisoburn-0.2.2.pl01.tar.gz Fr Jul 25 2008
|
||||
===============================================================================
|
||||
Libisoburn 0.2.2 release notes (Jul 19 2008)
|
||||
* New API function isoburn_prepare_blind_grow()
|
||||
* New flag bits with isoburn_set_msc1(), isoburn_read_iso_head()
|
||||
xorriso novelties:
|
||||
* New option -grow_blindly
|
||||
* Options -C and -M for -as mkisofs emulation
|
||||
* Options for -as cdrecord emulation: -multi, -msinfo, -isosize, tsize, --
|
||||
grow_overwriteable_iso, write_start_address,
|
||||
* New option -pacifier, more compatible pacifier with -as mkisofs
|
||||
* make install creates aliases as symbolic links: osirrox, xorrisofs, xorrecord
|
||||
* Can serve growisofs if started as xorrisofs, genisofs, mkisofs, genisoimage
|
||||
pl01 changes (Jul 25 2008):
|
||||
* Bug fix: Variable DESTDIR was not properly respected during make install
|
||||
|
||||
libisoburn-0.2.0.pl00.tar.gz Mon Jun 23 2008
|
||||
===============================================================================
|
||||
Libisoburn 0.2.0 release notes:
|
||||
* New API functions isoburn_set_msgs_submit(), isoburn_drive_set_msgs_submit()
|
||||
xorriso novelties:
|
||||
* Bug fix: -chmod unintentionally performed o-x as first operation
|
||||
* New options -cpax, -cp_rx, -cp_rax, -extract to restore files and trees from
|
||||
ISO image to disk filesystem.
|
||||
* New option -paste_in to copy ISO files into parts of disk files
|
||||
* New options -map_l, -compare_l, -update_l, -extract_l
|
||||
|
||||
libisoburn-0.1.8.pl00.tar.gz Tue Jun 3 2008
|
||||
===============================================================================
|
||||
* Bug fix: Major,minor numbers of device files appeared as 0,1 in next session
|
||||
* Bug fix: modifying to overwriteable target yielded unmountable results
|
||||
xorriso novelties:
|
||||
* New option -stream_recording for full speed with DVD-RAM and BD-RE
|
||||
* New options -osirrox and -cpx allow to extract single files from ISO image
|
||||
|
||||
libisoburn-0.1.6.pl00.tar.gz Mon May 19 2008
|
||||
===============================================================================
|
||||
* Support for BD-RE (by depending on libburn-0.4.8)
|
||||
* New API wrapper calls isoburn_toc_*() around libburn TOC inquiry calls
|
||||
* New API call isoburn_read_iso_head() identifies ISO 9660 filesystems
|
||||
* New API call isoburn_set_msc1() (like mount -o sbsector=)
|
||||
xorriso novelties:
|
||||
* Bug fix: -update_r and others did not work properly with relative paths
|
||||
* New options -map and -map_single
|
||||
* New options -not_paths, -not_leaf, -not_list, -not_mgt, -as mkisofs -m
|
||||
* Emulated -toc on overwriteable media, new -toc layout with volume id
|
||||
* New option -load makes alternative sessions accessible
|
||||
* New -blank and -format modes 'as_needed'
|
||||
* New option -list_formats and -format mode 'by_index_'
|
||||
|
||||
libisoburn-0.1.4.pl00.tar.gz Wed Apr 30 2008
|
||||
===============================================================================
|
||||
* Improved performance with reading directory trees
|
||||
* xorriso: Improved attribute transfer from disk for target
|
||||
* xorriso: Incremental backup functionality by new option -update_r
|
||||
* xorriso: Options -cut_out and split_size map byte intervals of oversized
|
||||
files into ISO files
|
||||
* xorriso: Emulation of some basic mkisofs and cdrecord options
|
||||
* Dynamically linkable with release version 0.6.4 of libisofs
|
||||
|
||||
Version 0.1.2 was not released as libisoburn
|
||||
but only as xorriso standalone version. Wed Mar 12 2008
|
||||
===============================================================================
|
||||
* Bug fix: -report_about HINT or higher did not report at all
|
||||
* Bug fix: speed=number without unit or media type letter was always CD speed
|
||||
* Bug fix: it was possible to write to appendable media which was not -indev
|
||||
* Bug fix: -follow param did not work for adding non-directory symbolic links
|
||||
* Bug fix: It was not possible to -add /THIS=a /b=THIS
|
||||
* Improved attribute transfer from disk for implicit target directories
|
||||
* New option -as "cdrecord" emulates a narrow set of cdrecord gestures
|
||||
* New option -as "mkisofs" emulates a narrow set of mkisofs gestures
|
||||
* New option -publisher
|
||||
* New option -errfile_log
|
||||
* Support for DVD+R/DL media
|
||||
* New options -compare, -compare_r and according -find -exec action
|
||||
* New options -update, -update_r and according -find -exec action
|
||||
* New -find actions "rm", "rm_r", new -findx -type "m" -exec "empty_iso_dir"
|
||||
* New option -cut_out
|
||||
|
||||
libisoburn-0.1.0.pl01.tar.gz Fri Feb 15 2008
|
||||
===============================================================================
|
||||
* Initial release of libisoburn/xorriso
|
||||
* libisoburn connects libisofs and libburn
|
||||
* libisoburn emulates multi-session on media without session history
|
||||
* xorriso is an integrated multi-session tool for ISO 9660 Rock Ridge images
|
||||
* due to a subtle mistake in ABI usage with libisofs this release had to be
|
||||
restricted to dynamic linking with exactly libisofs-0.6.2 where the mistake
|
||||
does no harm. A version of libisoburn which is open to all future libisofs
|
||||
versions will be released shortly after libisofs.0.6.4.
|
||||
|
@ -183,7 +183,9 @@ doc/html: doc/doxygen.conf
|
||||
doc-upload: doc/html
|
||||
scp -r $</* $(webhost):$(webpath)
|
||||
|
||||
all: doc
|
||||
## Not by default any more.
|
||||
## It is unclear who is supposed to create file ./doc/doc.lock
|
||||
# all: doc
|
||||
|
||||
install-data-local:
|
||||
if [ -f ./doc/doc.lock ]; then \
|
||||
@ -231,6 +233,8 @@ EXTRA_DIST = \
|
||||
COPYRIGHT \
|
||||
COPYING \
|
||||
INSTALL \
|
||||
ChangeLog \
|
||||
libisoburn/libisoburn.ver \
|
||||
xorriso/changelog.txt \
|
||||
xorriso/xorriso_buildstamp_none.h \
|
||||
xorriso/README_gnu_xorriso \
|
||||
|
40
README
40
README
@ -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-0.5.8.pl00.tar.gz
|
||||
http://files.libburnia-project.org/releases/libisoburn-0.6.2.pl00.tar.gz
|
||||
Copyright (C) 2006-2010 Vreixo Formoso, Thomas Schmitt.
|
||||
Provided under GPL version 2 or later.
|
||||
------------------------------------------------------------------------------
|
||||
@ -34,17 +34,17 @@ By using this software you agree to the disclaimer at the end of this text:
|
||||
|
||||
Compilation, First Glimpse, Installation
|
||||
|
||||
Dynamic library and compile time header requirements for libisoburn-0.5.8 :
|
||||
- libburn.so.4 , version libburn-0.8.2 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.32 or higher
|
||||
Dynamic library and compile time header requirements for libisoburn-0.6.2 :
|
||||
- libburn.so.4 , version libburn-0.8.4 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.36 or higher
|
||||
libisoburn and xorriso will not start with libraries which are older than their
|
||||
headers seen at compile time.
|
||||
include headers seen at compile time.
|
||||
|
||||
Obtain libisoburn-0.5.8.pl00.tar.gz, take it to a directory of your choice
|
||||
Obtain libisoburn-0.6.2.pl00.tar.gz, take it to a directory of your choice
|
||||
and do:
|
||||
|
||||
tar xzf libisoburn-0.5.8.pl00.tar.gz
|
||||
cd libisoburn-0.5.8
|
||||
tar xzf libisoburn-0.6.2.pl00.tar.gz
|
||||
cd libisoburn-0.6.2
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
@ -55,11 +55,14 @@ Then become superuser and execute
|
||||
make install
|
||||
which will make available libisoburn.so.1 and the program xorriso.
|
||||
|
||||
For the API concepts and calls see
|
||||
./libisoburn/libisoburn.h
|
||||
as well as
|
||||
/usr/lib/libisofs/libisofs.h
|
||||
/usr/lib/libburn/libburn.h
|
||||
|
||||
By use of a version script, the libisoburn.so library exposes no other function
|
||||
names but those of the API definitions in <libsoburn/libisoburn.h> and
|
||||
<libisoburn/xorriso.h>.
|
||||
If -Wl,--version-script=... makes problems with the local compiler, then
|
||||
disable this encapsulation feature by
|
||||
./configure --disable-versioned-libs
|
||||
make clean ; make
|
||||
|
||||
|
||||
xorriso
|
||||
@ -103,6 +106,15 @@ if 64 KB rather than 32 KB are transmitted in each write operation.
|
||||
--enable-dvd-obs-64k
|
||||
|
||||
|
||||
libisoburn, libisofs, and libburn C language API
|
||||
|
||||
For the lower API concepts and calls see
|
||||
./libisoburn/libisoburn.h
|
||||
as well as
|
||||
/usr/include/libisofs/libisofs.h
|
||||
/usr/include/libburn/libburn.h
|
||||
|
||||
|
||||
xorriso C language API
|
||||
|
||||
Actually the dynamically linked xorriso binary is only a small start program
|
||||
@ -119,7 +131,7 @@ The header file xorriso.h gets installed suitable for
|
||||
#include <libisoburn/xorriso.h>
|
||||
|
||||
So after installation of a binary libisoburn package you may find it e.g. as
|
||||
/usr/local/include/libisoburn/xorriso.h
|
||||
/usr/include/libisoburn/xorriso.h
|
||||
|
||||
|
||||
Drives and Disk File Objects
|
||||
|
17
acinclude.m4
17
acinclude.m4
@ -5,6 +5,8 @@ freebsd*)
|
||||
LDFLAGS="$LDFLAGS -L/usr/local/lib"
|
||||
CPPFLAGS="$CPPFLAGS -I/usr/local/include"
|
||||
;;
|
||||
solaris*)
|
||||
LDFLAGS="$LDFLAGS -L/usr/local/lib"
|
||||
esac
|
||||
])
|
||||
|
||||
@ -191,6 +193,21 @@ AC_DEFUN([LIBBURNIA_ASSERT_READLINE],
|
||||
])
|
||||
|
||||
|
||||
dnl LIBISOBURN_ASSERT_VERS_LIBS is by Thomas Schmitt, libburnia project
|
||||
dnl It tests whether -Wl,--version-script=... works with the compiler
|
||||
AC_DEFUN([LIBISOBURN_ASSERT_VERS_LIBS],
|
||||
[
|
||||
libburnia_save_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -Wl,--version-script=libisoburn/libisoburn.ver"
|
||||
AC_TRY_LINK([#include <stdio.h>], [printf("Hello\n");],
|
||||
[vers_libs_test="yes"], [vers_libs_test="no"])
|
||||
if test x$vers_libs_test = xno
|
||||
then
|
||||
LDFLAGS="$libburnia_save_LDFLAGS"
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl LIBBURNIA_SET_PKGCONFIG is by Thomas Schmitt, libburnia project
|
||||
dnl It determines the install directory for the *.pc file.
|
||||
dnl Important: Must be performed _after_ TARGET_SHIZZLE
|
||||
|
39
configure.ac
39
configure.ac
@ -1,4 +1,4 @@
|
||||
AC_INIT([libisoburn], [0.5.9], [http://libburnia-project.org])
|
||||
AC_INIT([libisoburn], [0.6.2], [http://libburnia-project.org])
|
||||
AC_PREREQ([2.50])
|
||||
dnl AC_CONFIG_HEADER([config.h])
|
||||
|
||||
@ -22,8 +22,8 @@ dnl LT_CURREN, LT_AGE, LT_REVISION where SONAME becomes LT_CURRENT - LT_AGE
|
||||
dnl
|
||||
dnl These three are only copies to provide libtool with unused LT_RELEASE
|
||||
ISOBURN_MAJOR_VERSION=0
|
||||
ISOBURN_MINOR_VERSION=5
|
||||
ISOBURN_MICRO_VERSION=9
|
||||
ISOBURN_MINOR_VERSION=6
|
||||
ISOBURN_MICRO_VERSION=2
|
||||
|
||||
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
|
||||
|
||||
@ -36,16 +36,16 @@ dnl Libtool versioning
|
||||
dnl Generate libisoburn.so.1.x.y
|
||||
dnl SONAME will become LT_CURRENT - LT_AGE
|
||||
dnl
|
||||
dnl ts B00613
|
||||
dnl ### This is the release version 0.5.8 = libisoburn.so.1.47.0
|
||||
dnl This is the development version after above stable release
|
||||
dnl ts B00918
|
||||
dnl This is the release version 0.6.2 = libisoburn.so.1.51.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 = 48 - 47 = 1 . Library name = libisoburn.so.1.47.0
|
||||
dnl SONAME = 52 - 51 = 1 . Library name = libisoburn.so.1.51.0
|
||||
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
|
||||
LT_CURRENT=48
|
||||
LT_AGE=47
|
||||
LT_CURRENT=52
|
||||
LT_AGE=51
|
||||
LT_REVISION=0
|
||||
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
||||
|
||||
@ -251,6 +251,25 @@ else
|
||||
fi
|
||||
AC_SUBST(XORRISO_DVD_OBS_64K)
|
||||
|
||||
# Library versioning normally serves a complex purpose.
|
||||
# Since libisoburn obeys strict ABI backward compatibility, it needs only the
|
||||
# simple feature to declare function names "global:" or "local:". Only the
|
||||
# global ones are visible to applications at library load time.
|
||||
AC_ARG_ENABLE(versioned-libs,
|
||||
[ --enable-versioned-libs Enable strict symbol encapsulation , default=yes],
|
||||
, enable_versioned_libs=yes)
|
||||
if test x$enable_versioned_libs = xyes; then
|
||||
vers_libs_test=no
|
||||
LIBISOBURN_ASSERT_VERS_LIBS
|
||||
if test x$vers_libs_test = xno
|
||||
then
|
||||
echo "disabled strict symbol encapsulation (test failed)"
|
||||
else
|
||||
echo "enabled strict symbol encapsulation"
|
||||
fi
|
||||
else
|
||||
echo "disabled strict symbol encapsulation"
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADER(libburn/libburn.h)
|
||||
AC_CHECK_HEADER(libisofs/libisofs.h)
|
||||
@ -260,7 +279,7 @@ AC_CHECK_HEADER(libisofs/libisofs.h)
|
||||
|
||||
dnl Check for proper library versions
|
||||
LIBBURN_REQUIRED=0.8.4
|
||||
LIBISOFS_REQUIRED=0.6.34
|
||||
LIBISOFS_REQUIRED=0.6.36
|
||||
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
|
||||
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)
|
||||
|
||||
|
41
doc/comments
41
doc/comments
@ -10,7 +10,7 @@ optical discs. This page is about its capability to read, manipulate, and
|
||||
write ISO 9660 filesystems with Rock Ridge extensions. Media can be optical
|
||||
media or filesystem objects.
|
||||
|
||||
Our scope is currently Linux 2.4 and 2.6, or FreeBSD .
|
||||
Our scope is currently Linux 2.4 and 2.6, or FreeBSD, or OpenSolaris.
|
||||
|
||||
libisoburn is an add-on to libburn and libisofs which coordinates both and
|
||||
also allows to grow ISO-9660 filesystem images on multi-session media as well
|
||||
@ -21,7 +21,9 @@ xorriso is an application of all three libraries which creates, loads,
|
||||
manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions.
|
||||
Manipulation is not only adding or overwriting of files but also deletion,
|
||||
renaming, and attribute changing. An incremental backup feature is provided.
|
||||
See xorriso/README for more
|
||||
The xorriso features are accessible via built-in command interpreters and
|
||||
via a C language API.
|
||||
|
||||
|
||||
SONAME:
|
||||
libisoburn.so.1 (since 0.1.0, February 2008).
|
||||
@ -32,7 +34,7 @@ libisoburn.so.1 (since 0.1.0, February 2008).
|
||||
Our build system is based on autotools.
|
||||
User experience tells us that you will need at least autotools version 1.7.
|
||||
|
||||
To build libisoburn go into its toplevel directory and execute
|
||||
To build libisoburn go into its toplevel directory and execute:
|
||||
|
||||
- ./bootstrap (needed if you downloaded from SVN)
|
||||
|
||||
@ -40,14 +42,28 @@ To build libisoburn go into its toplevel directory and execute
|
||||
|
||||
- make
|
||||
|
||||
To make the libraries accessible for running resp. developing applications
|
||||
To make the library and the xorriso application accessible for running resp.
|
||||
software development:
|
||||
|
||||
- make install
|
||||
|
||||
Read libisoburn/libisoburn.h for a description of the API.
|
||||
See also README, xorriso/README, and the man page xorriso/xorriso.1 which
|
||||
gives an idea of the capabilities provided by Libburnia.
|
||||
|
||||
For direct use as command line tool use the xorriso binary which among many
|
||||
other features provides a mkisofs emulation via command "-as mkisofs".
|
||||
See man page xorriso/xorriso.1 or GNU info document xorriso/xorriso.info.
|
||||
|
||||
|
||||
If you want to link an own application with libisoburn, you have
|
||||
two alternative APIs for choice:
|
||||
|
||||
- libisoburn, together with libburn and libisofs.
|
||||
|
||||
- xorriso, a complete representation of xorriso command line options.
|
||||
It encapsulates the three lower level libraries.
|
||||
Calls of both API families shall not be mixed.
|
||||
|
||||
For a description of the lbisoburn API read libisoburn/libisoburn.h
|
||||
See file README for download and installation of a release tarball.
|
||||
You will also have to install and understand the two libraries of the
|
||||
Libburnia project which provide fundamental services:
|
||||
libburn is the library by which preformatted data get onto optical media.
|
||||
@ -55,4 +71,15 @@ See libburn/libburn.h for its API description.
|
||||
libisofs is the library to handle ISO 9660 filesystems with Rock Ridge
|
||||
extensions. Its API is described in libisofs/libisofs.h .
|
||||
|
||||
For xorriso features see its man page xorriso/xorriso.1 or
|
||||
its GNU info document xorriso/xorriso.info.
|
||||
For the corresponding C language API see libisoburn/xorriso.h (resp.
|
||||
xorriso/xorriso.h in the build directory).
|
||||
The implementation this API is part of libisoburn.
|
||||
The xorriso command line tool gets installed as dynamically linked
|
||||
binary together with libisoburn.
|
||||
|
||||
There is also a statically linked release named GNU xorriso.
|
||||
See xorriso/README_gnu_xorriso for its download and installation.
|
||||
|
||||
*/
|
||||
|
@ -154,13 +154,6 @@ QT_AUTOBRIEF = NO
|
||||
|
||||
MULTILINE_CPP_IS_BRIEF = YES
|
||||
|
||||
# If the DETAILS_AT_TOP tag is set to YES then Doxygen
|
||||
# will output the detailed description near the top, like JavaDoc.
|
||||
# If set to NO, the detailed description appears after the member
|
||||
# documentation.
|
||||
|
||||
DETAILS_AT_TOP = YES
|
||||
|
||||
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
|
||||
# member inherits the documentation from any documented member that it
|
||||
# re-implements.
|
||||
@ -495,7 +488,9 @@ INPUT_ENCODING = UTF-8
|
||||
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
|
||||
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
|
||||
|
||||
FILE_PATTERNS =
|
||||
FILE_PATTERNS = libisoburn.h \
|
||||
xorriso.h \
|
||||
comments
|
||||
|
||||
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
|
||||
# should be searched for input files as well. Possible values are YES and NO.
|
||||
|
@ -1192,7 +1192,7 @@ int isoburn_emulate_toc(struct burn_drive *d, int flag)
|
||||
ret= isoburn_read_iso_head(d, lba, &image_size, NULL, 0);
|
||||
if(ret<=0)
|
||||
{ret= 0; goto failure;}
|
||||
lba= Libisoburn_overwriteable_starT;
|
||||
lba= o->target_iso_head_size / 2048;
|
||||
with_enclosure= 1;
|
||||
if((flag & 16) && o->emulation_mode == 1) {
|
||||
ret= 1;
|
||||
@ -1219,7 +1219,7 @@ int isoburn_emulate_toc(struct burn_drive *d, int flag)
|
||||
/* growisofs aligns to 16 rather than 32. Overwriteable TOC emulation
|
||||
relies on not accidentially seeing inter-session trash data.
|
||||
But one can safely access 16 blocks earlier because a xorriso header
|
||||
would have overwritten with the unused 16 blocks at its start.
|
||||
would have been overwritten with the unused 16 blocks at its start.
|
||||
If libisoburn alignment would increase, then this would not be
|
||||
possible any more.
|
||||
*/
|
||||
|
@ -115,7 +115,7 @@ struct isoburn *isoburn_list_start= NULL;
|
||||
int isoburn_new(struct isoburn **objpt, int flag)
|
||||
{
|
||||
struct isoburn *o;
|
||||
int i, ret;
|
||||
int ret;
|
||||
|
||||
*objpt= o= (struct isoburn *) malloc(sizeof(struct isoburn));
|
||||
if(o==NULL) {
|
||||
@ -137,8 +137,9 @@ int isoburn_new(struct isoburn **objpt, int flag)
|
||||
o->fabricated_disc_status= BURN_DISC_UNREADY;
|
||||
o->toc= NULL;
|
||||
o->wrote_well= -1;
|
||||
for(i=0;i<Libisoburn_target_head_sizE;i++)
|
||||
o->target_iso_head[i]= 0;
|
||||
o->loaded_partition_offset= 0;
|
||||
o->target_iso_head_size= Libisoburn_target_head_sizE;
|
||||
o->target_iso_head= NULL;
|
||||
o->image= NULL;
|
||||
o->iso_data_source= NULL;
|
||||
o->read_pacifier= NULL;
|
||||
@ -148,9 +149,15 @@ int isoburn_new(struct isoburn **objpt, int flag)
|
||||
o->msgs_submit_flag= 0;
|
||||
o->prev= NULL;
|
||||
o->next= NULL;
|
||||
o->target_iso_head= calloc(1, o->target_iso_head_size);
|
||||
if(o->target_iso_head == NULL) {
|
||||
isoburn_report_iso_error(ISO_OUT_OF_MEM, "Cannot allocate overwrite buffer",
|
||||
0, "FATAL", 0);
|
||||
goto failed;
|
||||
}
|
||||
ret= iso_image_new("ISOIMAGE", &o->image);
|
||||
if(ret<0) {
|
||||
isoburn_report_iso_error(ret, "Cannot create image", 0, "FATAL", 0);
|
||||
isoburn_report_iso_error(ret, "Cannot create image object", 0, "FATAL", 0);
|
||||
goto failed;
|
||||
}
|
||||
isoburn_link(o, isoburn_list_start, 1);
|
||||
@ -188,6 +195,8 @@ int isoburn_destroy(struct isoburn **objpt, int flag)
|
||||
burn_source_free(o->iso_source);
|
||||
if(o->iso_data_source!=NULL)
|
||||
iso_data_source_unref(o->iso_data_source);
|
||||
if(o->target_iso_head != NULL)
|
||||
free(o->target_iso_head);
|
||||
free((char *) o);
|
||||
*objpt= NULL;
|
||||
return(1);
|
||||
@ -346,6 +355,36 @@ int isoburn_msgs_submit(struct isoburn *o, int error_code, char msg_text[],
|
||||
}
|
||||
|
||||
|
||||
/** Check whether the size of target_iso_head matches the given partition
|
||||
offset. Eventually adjust size.
|
||||
*/
|
||||
int isoburn_adjust_target_iso_head(struct isoburn *o,
|
||||
uint32_t offst, int flag)
|
||||
{
|
||||
uint8_t *new_buf;
|
||||
uint32_t new_size;
|
||||
|
||||
if(o->target_iso_head_size == Libisoburn_target_head_sizE + 2048 * offst)
|
||||
return(1);
|
||||
new_size= Libisoburn_target_head_sizE + 2048 * offst;
|
||||
new_buf= calloc(1, new_size);
|
||||
if(new_buf == NULL) {
|
||||
isoburn_msgs_submit(o, 0x00060000,
|
||||
"Cannot re-allocate overwrite buffer", 0, "FATAL", 0);
|
||||
return(-1);
|
||||
}
|
||||
memcpy(new_buf, o->target_iso_head,
|
||||
o->target_iso_head_size < new_size ? o->target_iso_head_size : new_size);
|
||||
free(o->target_iso_head);
|
||||
o->target_iso_head= new_buf;
|
||||
o->target_iso_head_size= new_size;
|
||||
if(o->nwa == o->zero_nwa)
|
||||
o->nwa= Libisoburn_overwriteable_starT + offst;
|
||||
o->zero_nwa= Libisoburn_overwriteable_starT + offst;
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/* @param flag bit0= modifying rather than growing
|
||||
bit1= prepare for early release of input drive:
|
||||
wait until input and then disable image data source
|
||||
@ -415,16 +454,9 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
|
||||
iso_write_opts_set_rockridge(wopts, opts->rockridge);
|
||||
iso_write_opts_set_joliet(wopts, opts->joliet);
|
||||
iso_write_opts_set_iso1999(wopts, opts->iso1999);
|
||||
|
||||
/* <<< #ifdef shall be removed when libisofs-0.6.20 is released */
|
||||
#ifdef Libisofs_hardlink_prooF
|
||||
|
||||
iso_write_opts_set_hardlinks(wopts, opts->hardlinks);
|
||||
if(opts->hardlinks)
|
||||
iso_write_opts_set_rrip_1_10_px_ino(wopts, 1);
|
||||
|
||||
#endif
|
||||
|
||||
iso_write_opts_set_aaip(wopts, opts->aaip);
|
||||
iso_write_opts_set_omit_version_numbers(wopts, opts->omit_version_numbers);
|
||||
iso_write_opts_set_allow_deep_paths(wopts, opts->allow_deep_paths);
|
||||
@ -465,10 +497,14 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
|
||||
opts->vol_expiration_time, opts->vol_effective_time,
|
||||
opts->vol_uuid);
|
||||
|
||||
ret= isoburn_adjust_target_iso_head(out_o, opts->partition_offset, 0);
|
||||
if(ret <= 0)
|
||||
{ret= -1; goto ex;}
|
||||
if(opts->no_emul_toc) {
|
||||
if(out_o->nwa == out_o->zero_nwa &&
|
||||
out_o->zero_nwa == Libisoburn_overwriteable_starT &&
|
||||
out_o->emulation_mode == 1) {
|
||||
out_o->zero_nwa == Libisoburn_overwriteable_starT
|
||||
+ opts->partition_offset
|
||||
&& out_o->emulation_mode == 1) {
|
||||
out_o->nwa= 0;
|
||||
out_o->zero_nwa= 0;
|
||||
out_o->min_start_byte= 0;
|
||||
@ -486,6 +522,9 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
|
||||
iso_write_opts_set_appendable(wopts, !new_img);
|
||||
iso_write_opts_set_overwrite_buf(wopts,
|
||||
nwa>0 ? out_o->target_iso_head : NULL);
|
||||
iso_write_opts_set_part_offset(wopts, opts->partition_offset,
|
||||
opts->partition_secs_per_head,
|
||||
opts->partition_heads_per_cyl);
|
||||
|
||||
ret = iso_image_create_burn_source(in_o->image, wopts, &wsrc);
|
||||
if (ret < 0) {
|
||||
@ -877,6 +916,9 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
|
||||
o->data_start_lba= -1;
|
||||
o->system_area_data= NULL;
|
||||
o->system_area_options= 0;
|
||||
o->partition_offset= 0;
|
||||
o->partition_secs_per_head= 0;
|
||||
o->partition_heads_per_cyl= 0;
|
||||
o->vol_creation_time= 0;
|
||||
o->vol_modification_time= 0;
|
||||
o->vol_expiration_time= 0;
|
||||
@ -1157,3 +1199,26 @@ int isoburn_igopt_get_pvd_times(struct isoburn_imgen_opts *opts,
|
||||
}
|
||||
|
||||
|
||||
int isoburn_igopt_set_part_offset(struct isoburn_imgen_opts *opts,
|
||||
uint32_t block_offset_2k,
|
||||
int secs_512_per_head, int heads_per_cyl)
|
||||
{
|
||||
if (block_offset_2k > 0 && block_offset_2k < 16)
|
||||
return(0);
|
||||
opts->partition_offset = block_offset_2k;
|
||||
opts->partition_secs_per_head = secs_512_per_head;
|
||||
opts->partition_heads_per_cyl = heads_per_cyl;
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
int isoburn_igopt_get_part_offset(struct isoburn_imgen_opts *opts,
|
||||
uint32_t *block_offset_2k,
|
||||
int *secs_512_per_head, int *heads_per_cyl)
|
||||
{
|
||||
*block_offset_2k = opts->partition_offset;
|
||||
*secs_512_per_head = opts->partition_secs_per_head;
|
||||
*heads_per_cyl = opts->partition_heads_per_cyl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -36,11 +36,15 @@ int isoburn_toc_entry_new(struct isoburn_toc_entry **objpt,
|
||||
int isoburn_toc_entry_destroy(struct isoburn_toc_entry **o, int flag);
|
||||
|
||||
|
||||
/* Size of target_iso_head which is to be written during
|
||||
isoburn_activate_session()
|
||||
/* Minimal size of target_iso_head which is to be written during
|
||||
isoburn_activate_session().
|
||||
Within this size there is everything that is needed for image access with
|
||||
no partition offset. The actual target_iso_head buffer must be larger by
|
||||
the evential partition offset.
|
||||
*/
|
||||
#define Libisoburn_target_head_sizE (32*2048)
|
||||
|
||||
|
||||
struct isoburn {
|
||||
|
||||
|
||||
@ -104,9 +108,14 @@ struct isoburn {
|
||||
int wrote_well;
|
||||
|
||||
|
||||
/* Buffered ISO head from media (should that become part of
|
||||
ecma119_read_opts ?) */
|
||||
uint8_t target_iso_head[Libisoburn_target_head_sizE];
|
||||
/* ISO head buffer to be filled by write run */
|
||||
int target_iso_head_size;
|
||||
uint8_t *target_iso_head;
|
||||
|
||||
/* The 2k offset which was read from a loaded image.
|
||||
*/
|
||||
uint32_t loaded_partition_offset;
|
||||
|
||||
|
||||
/* Libisofs image context */
|
||||
IsoImage *image;
|
||||
@ -243,6 +252,12 @@ isoburn_data_source_new(struct burn_drive *d);
|
||||
int isoburn_data_source_shutdown(IsoDataSource *src, int flag);
|
||||
|
||||
|
||||
/** Check whether the size of target_iso_head matches the given partition
|
||||
offset. Eventually adjust size.
|
||||
*/
|
||||
int isoburn_adjust_target_iso_head(struct isoburn *o,
|
||||
uint32_t offst, int flag);
|
||||
|
||||
/**
|
||||
* Options for image reading.
|
||||
(Comments here may be outdated. API getter/setter function descriptions
|
||||
@ -520,6 +535,16 @@ struct isoburn_imgen_opts {
|
||||
and timezone 0 */
|
||||
char vol_uuid[17];
|
||||
|
||||
/* The number of unclaimed 2K blocks before start of partition 1 as of
|
||||
the MBR in system area. If not 0 this will cause double volume
|
||||
descriptor sets and double tree.
|
||||
*/
|
||||
uint32_t partition_offset;
|
||||
/* Partition table parameter: 1 to 63, 0= disabled/default */
|
||||
int partition_secs_per_head;
|
||||
/* 1 to 255, 0= disabled/default */
|
||||
int partition_heads_per_cyl;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -555,6 +580,9 @@ struct isoburn_imgen_opts {
|
||||
written by random access before they were written sequentially.
|
||||
In this case, no copy of the session 1 header is maintained and no TOC
|
||||
will be possible. Thus writing begins sequentially at LBA 0.
|
||||
|
||||
IMPORTANT: This macro gives the minimal size of an image header.
|
||||
It has to be enlarged by the eventual partition offset.
|
||||
*/
|
||||
#define Libisoburn_overwriteable_starT \
|
||||
((off_t) (Libisoburn_target_head_sizE/2048))
|
||||
|
@ -32,8 +32,8 @@
|
||||
|
||||
#endif /* Xorriso_standalonE */
|
||||
|
||||
#include "isoburn.h"
|
||||
#include "libisoburn.h"
|
||||
#include "isoburn.h"
|
||||
|
||||
#define BP(a,b) [(b) - (a) + 1]
|
||||
|
||||
@ -299,12 +299,109 @@ int isoburn_activate_session(struct burn_drive *drive)
|
||||
return 1;
|
||||
|
||||
ret = burn_random_access_write(drive, (off_t) 0, (char*)o->target_iso_head,
|
||||
Libisoburn_target_head_sizE, 1);
|
||||
o->target_iso_head_size, 1);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/** API @since 0.6.2
|
||||
*/
|
||||
int isoburn_get_img_partition_offset(struct burn_drive *drive,
|
||||
uint32_t *block_offset_2k)
|
||||
{
|
||||
int ret;
|
||||
struct isoburn *o;
|
||||
|
||||
ret = isoburn_find_emulator(&o, drive, 0);
|
||||
if(ret < 0 || o == NULL)
|
||||
return -1;
|
||||
*block_offset_2k= o->loaded_partition_offset;
|
||||
if(o->loaded_partition_offset == 0)
|
||||
return(0);
|
||||
if(o->target_iso_head_size == (off_t) Libisoburn_target_head_sizE
|
||||
+ (off_t) 2048 * (off_t) o->loaded_partition_offset)
|
||||
return(1);
|
||||
return(2);
|
||||
}
|
||||
|
||||
|
||||
/* Check for MBR signature and a first partition that starts at a 2k block
|
||||
and ends where the image ends.
|
||||
If not too large or too small, accept its start as partition offset.
|
||||
*/
|
||||
static int isoburn_inspect_partition(struct isoburn *o, uint32_t img_size,
|
||||
int flag)
|
||||
{
|
||||
uint8_t *mbr, *part, buf[2048];
|
||||
uint32_t offst, numsec;
|
||||
struct ecma119_pri_vol_desc *pvm;
|
||||
off_t data_count;
|
||||
int ret;
|
||||
char msg[160];
|
||||
static int max_offst= 512 - 32;
|
||||
|
||||
mbr= o->target_iso_head;
|
||||
part= mbr + 446;
|
||||
if(mbr[510] != 0x55 || mbr[511] != 0xAA)
|
||||
return(2); /* not an MBR */
|
||||
|
||||
/* Does the first partition entry look credible ? */
|
||||
if(part[0] != 0x80 && part[0] != 0x00)
|
||||
return(2); /* Invalid partition status */
|
||||
if(part[1] == 0 && part[2] == 0 && part[3] == 0)
|
||||
return(2); /* Zero C/H/S start address */
|
||||
|
||||
/* Does it match the normal ISO image ? */
|
||||
offst= iso_read_lsb(part + 8, 4);
|
||||
numsec= iso_read_lsb(part + 12, 4);
|
||||
if(offst < 64)
|
||||
return(2); /* Zero or unusably small partition start */
|
||||
if((offst % 4) || (numsec % 4))
|
||||
return(2); /* Not aligned to 2k */
|
||||
if(numsec < 72)
|
||||
return(2); /* No room for volume descriptors */
|
||||
offst/= 4;
|
||||
numsec/= 4;
|
||||
if(offst + numsec != img_size)
|
||||
return(2); /* Partition end does not match image end */
|
||||
|
||||
/* Is there a PVD at the partition start ? */
|
||||
ret = burn_read_data(o->drive, (off_t) (offst + 16) * (off_t) 2048,
|
||||
(char*) buf, 2048, &data_count, 2);
|
||||
if(ret <= 0)
|
||||
return(2);
|
||||
pvm = (struct ecma119_pri_vol_desc *) buf;
|
||||
if (strncmp((char*) pvm->std_identifier, "CD001", 5) != 0)
|
||||
return(2); /* not a PVD */
|
||||
if (pvm->vol_desc_type[0] != 1 || pvm->vol_desc_version[0] != 1
|
||||
|| pvm->file_structure_version[0] != 1 )
|
||||
return(2); /* failed sanity check */
|
||||
|
||||
if(iso_read_lsb(pvm->vol_space_size, 4) + offst != img_size)
|
||||
return(2); /* Image ends do not match */
|
||||
|
||||
/* Now it is credible. Not yet clear is whether it is acceptable. */
|
||||
o->loaded_partition_offset= offst;
|
||||
|
||||
/* If the partition start is too large: Report but do not accept. */
|
||||
if(offst > max_offst) { /* Not more than 1 MB of .target_iso_head */
|
||||
sprintf(msg,
|
||||
"Detected partition offset of %.f blocks. Maximum for load buffer is %d",
|
||||
(double) offst, max_offst);
|
||||
isoburn_msgs_submit(NULL, 0x00060000, msg, 0, "WARNING", 0);
|
||||
return(3);
|
||||
}
|
||||
|
||||
/* Accept partition start and adjust buffer size */
|
||||
ret= isoburn_adjust_target_iso_head(o, offst, 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/** Initialize the emulation of multi-session on random access media.
|
||||
The need for emulation is confirmed already.
|
||||
@param o A freshly created isoburn object. isoburn_create_data_source() was
|
||||
@ -337,8 +434,8 @@ int isoburn_start_emulation(struct isoburn *o, int flag)
|
||||
if (capacity > 0 || role == 2) {
|
||||
/* Might be a block device on a system where libburn cannot determine its
|
||||
size. Try to read anyway. */
|
||||
memset(o->target_iso_head, 0, Libisoburn_target_head_sizE);
|
||||
to_read = Libisoburn_target_head_sizE;
|
||||
to_read = o->target_iso_head_size;
|
||||
memset(o->target_iso_head, 0, to_read);
|
||||
if(capacity > 0 && (off_t) capacity * (off_t) 2048 < to_read)
|
||||
to_read = (off_t) capacity * (off_t) 2048;
|
||||
ret = burn_read_data(drive, (off_t) 0, (char*)o->target_iso_head,
|
||||
@ -370,7 +467,7 @@ int isoburn_start_emulation(struct isoburn *o, int flag)
|
||||
|
||||
pvm = (struct ecma119_pri_vol_desc *)(o->target_iso_head + 16 * 2048);
|
||||
|
||||
if (!strncmp((char*)pvm->std_identifier, "CD001", 5)) {
|
||||
if (strncmp((char*)pvm->std_identifier, "CD001", 5) == 0) {
|
||||
off_t size;
|
||||
|
||||
/* sanity check */
|
||||
@ -383,6 +480,9 @@ int isoburn_start_emulation(struct isoburn *o, int flag)
|
||||
|
||||
/* ok, PVM found, set size */
|
||||
size = (off_t) iso_read_lsb(pvm->vol_space_size, 4);
|
||||
ret= isoburn_inspect_partition(o, (uint32_t) size, 0);
|
||||
if (ret <= 0)
|
||||
return ret;
|
||||
size *= (off_t) 2048; /* block size in bytes */
|
||||
isoburn_set_start_byte(o, size, 0);
|
||||
o->fabricated_disc_status= BURN_DISC_APPENDABLE;
|
||||
@ -395,6 +495,7 @@ int isoburn_start_emulation(struct isoburn *o, int flag)
|
||||
/* treat any disc in an unknown format as full */
|
||||
o->fabricated_disc_status= BURN_DISC_FULL;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -146,6 +146,10 @@ size.
|
||||
|
||||
*/
|
||||
|
||||
/* Important: If you add a public API function then add its name to file
|
||||
libisoburn/libisoburn.ver
|
||||
*/
|
||||
|
||||
|
||||
/* API functions */
|
||||
|
||||
@ -220,7 +224,7 @@ void isoburn_version(int *major, int *minor, int *micro);
|
||||
*/
|
||||
#define isoburn_libisofs_req_major 0
|
||||
#define isoburn_libisofs_req_minor 6
|
||||
#define isoburn_libisofs_req_micro 34
|
||||
#define isoburn_libisofs_req_micro 36
|
||||
|
||||
/** The minimum version of libburn to be used with this version of libisoburn
|
||||
at compile time.
|
||||
@ -263,8 +267,8 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
|
||||
@since 0.1.0
|
||||
*/
|
||||
#define isoburn_header_version_major 0
|
||||
#define isoburn_header_version_minor 5
|
||||
#define isoburn_header_version_micro 9
|
||||
#define isoburn_header_version_minor 6
|
||||
#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.
|
||||
@ -1169,7 +1173,7 @@ int isoburn_igopt_get_data_start(struct isoburn_imgen_opts *o, int *lba);
|
||||
/** Set resp. get parameters "name" and "timestamp" for a scdbackup checksum
|
||||
tag. It will be appended to the libisofs session tag if the image starts at
|
||||
LBA 0. See isoburn_disc_track_lba_nwa. The scdbackup tag can be used
|
||||
to verify the image by command scdbackup_verify <device> -auto_end.
|
||||
to verify the image by command scdbackup_verify $device -auto_end.
|
||||
See scdbackup/README appendix VERIFY for its inner details.
|
||||
@since 0.4.4
|
||||
@param o The option set to work on
|
||||
@ -1218,20 +1222,59 @@ int isoburn_igopt_set_system_area(struct isoburn_imgen_opts *o,
|
||||
int isoburn_igopt_get_system_area(struct isoburn_imgen_opts *o,
|
||||
char data[32768], int *options);
|
||||
|
||||
/** Control production of a second set of volume descriptors (superblock)
|
||||
and directory trees, together with a partition table in the MBR where the
|
||||
first partition has non-zero start address and the others are zeroed.
|
||||
The first partition stretches to the end of the whole ISO image.
|
||||
The additional volume descriptor set and trees will allow to mount the
|
||||
ISO image at the start of the first partition, while it is still possible
|
||||
to mount it via the normal first volume descriptor set and tree at the
|
||||
start of the image resp. storage device.
|
||||
This makes few sense on optical media. But on USB sticks it creates a
|
||||
conventional partition table which makes it mountable on e.g. Linux via
|
||||
/dev/sdb and /dev/sdb1 alike.
|
||||
@since 0.6.2
|
||||
@param opts
|
||||
The option set to be manipulated.
|
||||
@param block_offset_2k
|
||||
The offset of the partition start relative to device start.
|
||||
This is counted in 2 kB blocks. The partition table will show the
|
||||
according number of 512 byte sectors.
|
||||
Default is 0 which causes no second set and trees.
|
||||
If it is not 0 then it must not be smaller than 16.
|
||||
@param secs_512_per_head
|
||||
Number of 512 byte sectors per head. 1 to 63. 0=automatic.
|
||||
@param heads_per_cyl
|
||||
Number of heads per cylinder. 1 to 255. 0=automatic.
|
||||
@return 1 success, <=0 failure
|
||||
*/
|
||||
int isoburn_igopt_set_part_offset(struct isoburn_imgen_opts *opts,
|
||||
uint32_t block_offset_2k,
|
||||
int secs_512_per_head, int heads_per_cyl);
|
||||
int isoburn_igopt_get_part_offset(struct isoburn_imgen_opts *opts,
|
||||
uint32_t *block_offset_2k,
|
||||
int *secs_512_per_head, int *heads_per_cyl);
|
||||
|
||||
|
||||
/** Explicitely set the four timestamps of the emerging ISO image.
|
||||
Default with all parameters is 0.
|
||||
@since 0.5.4
|
||||
ECMA-119 defines the timestamps in the Primary Volume Descriptor as:
|
||||
@param opts
|
||||
The option set to work on
|
||||
@param creation_time
|
||||
ECMA-119 Volume Creation Date and Time
|
||||
When "the information in the volume was created."
|
||||
A value of 0 means that the timepoint of write start is to be used.
|
||||
@param modification_time
|
||||
ECMA-119 Volume Modification Date and Time
|
||||
When "the informationin the volume was last modified."
|
||||
A value of 0 means that the timepoint of write start is to be used.
|
||||
@param expiration_time
|
||||
ECMA-119 Volume Expiration Date and Time
|
||||
When "the information in the volume may be regarded as obsolete."
|
||||
A value of 0 means that the information never shall expire.
|
||||
@param effective_time
|
||||
ECMA-119 Volume Effective Date and Time
|
||||
When "the information in the volume may be used."
|
||||
A value of 0 means that not such retention is intended.
|
||||
@param uuid
|
||||
@ -1251,6 +1294,7 @@ int isoburn_igopt_get_pvd_times(struct isoburn_imgen_opts *opts,
|
||||
time_t *expiration_time, time_t *effective_time,
|
||||
char uuid[17]);
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------------- */
|
||||
/* End of Options for image generation */
|
||||
/* ----------------------------------------------------------------------- */
|
||||
@ -1313,6 +1357,23 @@ int isoburn_set_read_pacifier(struct burn_drive *drive,
|
||||
int (*read_pacifier)(IsoImage*, IsoFileSource*),
|
||||
void *app_handle);
|
||||
|
||||
/** Inquire the partition offset of the loaded image. The first 512 bytes of
|
||||
the image get examined whether they bear an MBR signature and a first
|
||||
partition table entry which matches the size of the image. In this case
|
||||
the start address is recorded as partition offset and internal buffers
|
||||
get adjusted.
|
||||
See also isoburn_igopt_set_part_offset().
|
||||
@since 0.6.2
|
||||
@param drive The drive with the loaded image
|
||||
@param block_offset_2k returns the recognized partition offset
|
||||
@return <0 = error
|
||||
0 = no partition offset recognized
|
||||
1 = acceptable non-zero offset, buffers are adjusted
|
||||
2 = offset is credible but not acceptable for buffer size
|
||||
*/
|
||||
int isoburn_get_img_partition_offset(struct burn_drive *drive,
|
||||
uint32_t *block_offset_2k);
|
||||
|
||||
|
||||
/** Set the IsoImage to be used with a drive. This eventually releases
|
||||
the reference to the old IsoImage attached to the drive.
|
||||
@ -1611,3 +1672,7 @@ void isoburn_finish(void);
|
||||
int isoburn_needs_emulation(struct burn_drive *d);
|
||||
|
||||
|
||||
/* ---------------------------- Test area ----------------------------- */
|
||||
|
||||
/* no tests active, currently */
|
||||
|
||||
|
255
libisoburn/libisoburn.ver
Normal file
255
libisoburn/libisoburn.ver
Normal file
@ -0,0 +1,255 @@
|
||||
LIBISOBURN1 {
|
||||
global:
|
||||
isoburn_activate_session;
|
||||
isoburn_attach_image;
|
||||
isoburn_cancel_prepared_write;
|
||||
isoburn_disc_available_space;
|
||||
isoburn_disc_erasable;
|
||||
isoburn_disc_erase;
|
||||
isoburn_disc_get_msc1;
|
||||
isoburn_disc_get_status;
|
||||
isoburn_disc_track_lba_nwa;
|
||||
isoburn_disc_write;
|
||||
isoburn_drive_aquire;
|
||||
isoburn_drive_grab;
|
||||
isoburn_drive_release;
|
||||
isoburn_drive_scan_and_grab;
|
||||
isoburn_drive_set_msgs_submit;
|
||||
isoburn_drive_wrote_well;
|
||||
isoburn_finish;
|
||||
isoburn_get_attached_image;
|
||||
isoburn_get_fifo_status;
|
||||
isoburn_get_min_start_byte;
|
||||
isoburn_get_mount_params;
|
||||
isoburn_igopt_destroy;
|
||||
isoburn_igopt_get_data_start;
|
||||
isoburn_igopt_get_effective_lba;
|
||||
isoburn_igopt_get_extensions;
|
||||
isoburn_igopt_get_fifo_size;
|
||||
isoburn_igopt_get_level;
|
||||
isoburn_igopt_get_out_charset;
|
||||
isoburn_igopt_get_over_mode;
|
||||
isoburn_igopt_get_over_ugid;
|
||||
isoburn_igopt_get_pvd_times;
|
||||
isoburn_igopt_get_relaxed;
|
||||
isoburn_igopt_get_scdbackup_tag;
|
||||
isoburn_igopt_get_sort_files;
|
||||
isoburn_igopt_get_system_area;
|
||||
isoburn_igopt_new;
|
||||
isoburn_igopt_set_extensions;
|
||||
isoburn_igopt_set_fifo_size;
|
||||
isoburn_igopt_set_level;
|
||||
isoburn_igopt_set_out_charset;
|
||||
isoburn_igopt_set_over_mode;
|
||||
isoburn_igopt_set_over_ugid;
|
||||
isoburn_igopt_set_pvd_times;
|
||||
isoburn_igopt_set_relaxed;
|
||||
isoburn_igopt_set_scdbackup_tag;
|
||||
isoburn_igopt_set_sort_files;
|
||||
isoburn_igopt_set_system_area;
|
||||
isoburn_initialize;
|
||||
isoburn_is_compatible;
|
||||
isoburn_libburn_req;
|
||||
isoburn_libisofs_req;
|
||||
isoburn_needs_emulation;
|
||||
isoburn_prepare_blind_grow;
|
||||
isoburn_prepare_disc;
|
||||
isoburn_prepare_new_image;
|
||||
isoburn_read_image;
|
||||
isoburn_read_iso_head;
|
||||
isoburn_ropt_destroy;
|
||||
isoburn_ropt_get_auto_incharset;
|
||||
isoburn_ropt_get_default_dirperms;
|
||||
isoburn_ropt_get_default_perms;
|
||||
isoburn_ropt_get_extensions;
|
||||
isoburn_ropt_get_input_charset;
|
||||
isoburn_ropt_get_size_what;
|
||||
isoburn_ropt_new;
|
||||
isoburn_ropt_set_auto_incharset;
|
||||
isoburn_ropt_set_default_dirperms;
|
||||
isoburn_ropt_set_default_perms;
|
||||
isoburn_ropt_set_extensions;
|
||||
isoburn_ropt_set_input_charset;
|
||||
isoburn_set_msc1;
|
||||
isoburn_set_msgs_submit;
|
||||
isoburn_set_read_pacifier;
|
||||
isoburn_sync_after_write;
|
||||
isoburn_toc_disc_free;
|
||||
isoburn_toc_disc_get_sectors;
|
||||
isoburn_toc_disc_get_sessions;
|
||||
isoburn_toc_drive_get_disc;
|
||||
isoburn_toc_session_get_leadout_entry;
|
||||
isoburn_toc_session_get_sectors;
|
||||
isoburn_toc_session_get_tracks;
|
||||
isoburn_toc_track_get_emul;
|
||||
isoburn_toc_track_get_entry;
|
||||
isoburn_version;
|
||||
Xorriso_change_is_pending;
|
||||
Xorriso_destroy;
|
||||
Xorriso_dialog;
|
||||
Xorriso_eval_problem_status;
|
||||
Xorriso_execute_option;
|
||||
Xorriso__get_patch_level_text;
|
||||
Xorriso_get_problem_status;
|
||||
Xorriso_interpreter;
|
||||
Xorriso__is_compatible;
|
||||
Xorriso_lst_destroy_all;
|
||||
Xorriso_lst_get_next;
|
||||
Xorriso_lst_get_prev;
|
||||
Xorriso_lst_get_text;
|
||||
Xorriso_make_return_value;
|
||||
Xorriso_msgs_submit;
|
||||
Xorriso_msgs_submit_void;
|
||||
Xorriso_new;
|
||||
Xorriso_option_abort_on;
|
||||
Xorriso_option_abstract_file;
|
||||
Xorriso_option_acl;
|
||||
Xorriso_option_add;
|
||||
Xorriso_option_add_plainly;
|
||||
Xorriso_option_alter_date;
|
||||
Xorriso_option_application_id;
|
||||
Xorriso_option_as;
|
||||
Xorriso_option_assert_volid;
|
||||
Xorriso_option_auto_charset;
|
||||
Xorriso_option_backslash_codes;
|
||||
Xorriso_option_ban_stdio_write;
|
||||
Xorriso_option_biblio_file;
|
||||
Xorriso_option_blank;
|
||||
Xorriso_option_boot_image;
|
||||
Xorriso_option_calm_drive;
|
||||
Xorriso_option_cdi;
|
||||
Xorriso_option_cdx;
|
||||
Xorriso_option_charset;
|
||||
Xorriso_option_check_md5;
|
||||
Xorriso_option_check_media;
|
||||
Xorriso_option_check_media_defaults;
|
||||
Xorriso_option_chgrpi;
|
||||
Xorriso_option_chmodi;
|
||||
Xorriso_option_chowni;
|
||||
Xorriso_option_close;
|
||||
Xorriso_option_close_filter_list;
|
||||
Xorriso_option_commit;
|
||||
Xorriso_option_commit_eject;
|
||||
Xorriso_option_compare;
|
||||
Xorriso_option_compliance;
|
||||
Xorriso_option_copyright_file;
|
||||
Xorriso_option_cpri;
|
||||
Xorriso_option_cpx;
|
||||
Xorriso_option_cut_out;
|
||||
Xorriso_option_dev;
|
||||
Xorriso_option_devices;
|
||||
Xorriso_option_dialog;
|
||||
Xorriso_option_disk_dev_ino;
|
||||
Xorriso_option_disk_pattern;
|
||||
Xorriso_option_drive_class;
|
||||
Xorriso_option_dummy;
|
||||
Xorriso_option_dvd_obs;
|
||||
Xorriso_option_eject;
|
||||
Xorriso_option_end;
|
||||
Xorriso_option_errfile_log;
|
||||
Xorriso_option_error_behavior;
|
||||
Xorriso_option_external_filter;
|
||||
Xorriso_option_extract;
|
||||
Xorriso_option_extract_cut;
|
||||
Xorriso_option_file_size_limit;
|
||||
Xorriso_option_find;
|
||||
Xorriso_option_follow;
|
||||
Xorriso_option_fs;
|
||||
Xorriso_option_getfacli;
|
||||
Xorriso_option_gid;
|
||||
Xorriso_option_grow_blindly;
|
||||
Xorriso_option_hardlinks;
|
||||
Xorriso_option_help;
|
||||
Xorriso_option_hide;
|
||||
Xorriso_option_history;
|
||||
Xorriso_option_iso_rr_pattern;
|
||||
Xorriso_option_joliet;
|
||||
Xorriso_option_list_delimiter;
|
||||
Xorriso_option_list_formats;
|
||||
Xorriso_option_list_profiles;
|
||||
Xorriso_option_load;
|
||||
Xorriso_option_logfile;
|
||||
Xorriso_option_lsi;
|
||||
Xorriso_option_lsx;
|
||||
Xorriso_option_map;
|
||||
Xorriso_option_map_l;
|
||||
Xorriso_option_mark;
|
||||
Xorriso_option_md5;
|
||||
Xorriso_option_mkdiri;
|
||||
Xorriso_option_mount;
|
||||
Xorriso_option_mount_opts;
|
||||
Xorriso_option_mvi;
|
||||
Xorriso_option_no_rc;
|
||||
Xorriso_option_not_leaf;
|
||||
Xorriso_option_not_list;
|
||||
Xorriso_option_not_mgt;
|
||||
Xorriso_option_not_paths;
|
||||
Xorriso_option_options_from_file;
|
||||
Xorriso_option_osirrox;
|
||||
Xorriso_option_overwrite;
|
||||
Xorriso_option_pacifier;
|
||||
Xorriso_option_padding;
|
||||
Xorriso_option_page;
|
||||
Xorriso_option_paste_in;
|
||||
Xorriso_option_path_list;
|
||||
Xorriso_option_pathspecs;
|
||||
Xorriso_option_pkt_output;
|
||||
Xorriso_option_preparer_id;
|
||||
Xorriso_option_print;
|
||||
Xorriso_option_print_size;
|
||||
Xorriso_option_prog;
|
||||
Xorriso_option_prog_help;
|
||||
Xorriso_option_prompt;
|
||||
Xorriso_option_publisher;
|
||||
Xorriso_option_pvd_info;
|
||||
Xorriso_option_pwdi;
|
||||
Xorriso_option_pwdx;
|
||||
Xorriso_option_read_mkisofsrc;
|
||||
Xorriso_option_reassure;
|
||||
Xorriso_option_report_about;
|
||||
Xorriso_option_return_with;
|
||||
Xorriso_option_rmi;
|
||||
Xorriso_option_rollback;
|
||||
Xorriso_option_rom_toc_scan;
|
||||
Xorriso_option_scdbackup_tag;
|
||||
Xorriso_option_scsi_log;
|
||||
Xorriso_option_session_log;
|
||||
Xorriso_option_setfacli;
|
||||
Xorriso_option_setfacl_listi;
|
||||
Xorriso_option_setfattri;
|
||||
Xorriso_option_setfattr_listi;
|
||||
Xorriso_option_set_filter;
|
||||
Xorriso_option_speed;
|
||||
Xorriso_option_split_size;
|
||||
Xorriso_option_status;
|
||||
Xorriso_option_status_history_max;
|
||||
Xorriso_option_stdio_sync;
|
||||
Xorriso_option_stream_recording;
|
||||
Xorriso_option_system_id;
|
||||
Xorriso_option_tell_media_space;
|
||||
Xorriso_option_temp_mem_limit;
|
||||
Xorriso_option_toc;
|
||||
Xorriso_option_uid;
|
||||
Xorriso_option_unregister_filter;
|
||||
Xorriso_option_update;
|
||||
Xorriso_option_use_readline;
|
||||
Xorriso_option_version;
|
||||
Xorriso_option_volid;
|
||||
Xorriso_option_volset_id;
|
||||
Xorriso_option_volume_date;
|
||||
Xorriso_option_xattr;
|
||||
Xorriso_option_zisofs;
|
||||
Xorriso_prescan_args;
|
||||
Xorriso__preset_signal_behavior;
|
||||
Xorriso_process_errfile;
|
||||
Xorriso_process_msg_queues;
|
||||
Xorriso_program_arg_bsl;
|
||||
Xorriso_pull_outlists;
|
||||
Xorriso_push_outlists;
|
||||
Xorriso_read_rc;
|
||||
Xorriso_set_problem_status;
|
||||
Xorriso_startup_libraries;
|
||||
Xorriso__version;
|
||||
local: *;
|
||||
};
|
||||
|
@ -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
|
||||
ftp://ftp.gnu.org/gnu/xorriso/xorriso-0.5.9.tar.gz
|
||||
ftp://ftp.gnu.org/gnu/xorriso/xorriso-0.6.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-0.5.9.tar.gz, take it to a directory of your choice and do:
|
||||
Obtain xorriso-0.6.2.tar.gz, take it to a directory of your choice and do:
|
||||
|
||||
tar xzf xorriso-0.5.9.tar.gz
|
||||
cd xorriso-0.5.9
|
||||
tar xzf xorriso-0.6.2.tar.gz
|
||||
cd xorriso-0.6.2
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
@ -290,9 +290,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-0.5.8 :
|
||||
- libburn.so.4 , version libburn-0.8.2 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.32 or higher
|
||||
Dynamic library and compile time header requirements for libisoburn-0.6.2 :
|
||||
- libburn.so.4 , version libburn-0.8.4 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.36 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.
|
||||
|
@ -125,6 +125,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
m->loaded_volid[0]= 0;
|
||||
m->assert_volid[0]= 0;
|
||||
m->assert_volid_sev[0]= 0;
|
||||
m->preparer_id[0]= 0;
|
||||
m->publisher[0]= 0;
|
||||
m->application_id[0]= 0;
|
||||
m->system_id[0]= 0;
|
||||
@ -206,6 +207,9 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
m->system_area_disk_path[0]= 0;
|
||||
m->system_area_options= 0;
|
||||
m->patch_system_area= 0;
|
||||
m->partition_offset= 0;
|
||||
m->partition_secs_per_head= 0;
|
||||
m->partition_heads_per_cyl= 0;
|
||||
m->vol_creation_time= 0;
|
||||
m->vol_modification_time= 0;
|
||||
m->vol_expiration_time= 0;
|
||||
@ -352,6 +356,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
ret= Xorriso_lst_new(&(m->drive_greylist), "/dev", m->drive_greylist, 1);
|
||||
if(ret <= 0)
|
||||
goto failure;
|
||||
Xorriso_preparer_string(m, m->preparer_id, 1); /* avoids library calls */
|
||||
|
||||
return(1);
|
||||
failure:;
|
||||
|
@ -7947,7 +7947,7 @@ Documented changes and release timestamp
|
||||
* xorriso source split into more modules, object code moved into libisoburn
|
||||
* New write extension option isoburn_igopt_no_emul_toc
|
||||
* New -compliance rule no_emul_toc, new -as mkisofs --no-emul-toc
|
||||
* Implemented -as cdrecord -V
|
||||
* Implemented -as cdrecord option -V
|
||||
* Implemented -as mkisofs options -U, -N, -l, -d, -allow-lowercase
|
||||
|
||||
|
||||
@ -7969,38 +7969,586 @@ xorriso/configure_ac.txt
|
||||
xorriso/xorriso_timestamp.h
|
||||
Version leap to libisoburn-0.5.9
|
||||
|
||||
[]
|
||||
14 Jun 2010 [3270]
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
[]
|
||||
14 Jun 2010 [3271]
|
||||
svn move -m Promoted branch to tag
|
||||
http://svn.libburnia-project.org/libisoburn/branches/ZeroFiveEight
|
||||
http://svn.libburnia-project.org/libisoburn/tags/ZeroFiveEight
|
||||
|
||||
------------------------------------ cycle - xorriso-0.5.9 -
|
||||
------------------------------------ cycle - xorriso-0.5.9 - 2010.06.14.081834
|
||||
|
||||
|
||||
------------------------------------ cycle - xorriso-0.5.9 -
|
||||
------------------------------------ cycle - xorriso-0.5.9 -
|
||||
2010.06.15.160133 [3275]
|
||||
configure.ac
|
||||
libisoburn/libisoburn.h
|
||||
Requiring libburn-0.8.3 now (because SIGWINCH handling on Solaris)
|
||||
|
||||
2010.06.15.160501 [3276]
|
||||
acinclude.m4
|
||||
Enabled use of libreadline on Solaris by eventually linking -lcurses
|
||||
|
||||
2010.06.16.105449 [3278]
|
||||
libisoburn/libisoburn.h
|
||||
Clarified API description of isoburn_read_iso_head()
|
||||
|
||||
2010.06.16.105652 [3279]
|
||||
xorriso/write_run.c
|
||||
Bug fix: check_media patch_lba0= could install wrong image size
|
||||
|
||||
2010.06.16.140253 [3280]
|
||||
xorriso/write_run.c
|
||||
Made patch_lba0= more modest with overwriting.
|
||||
|
||||
2010.06.18.053105 [3281]
|
||||
xorriso/emulators.c
|
||||
Bug fix: -as mkisofs option -volset was wrongly interpreted like -volid
|
||||
|
||||
2010.06.18.113147 [3282]
|
||||
configure.ac
|
||||
libisoburn/libisoburn.h
|
||||
Requiring libisofs-0.6.33 now
|
||||
|
||||
2010.06.19.152046 [3283]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/base_obj.c
|
||||
xorriso/write_run.c
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/iso_img.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New -boot_image bootspec cat_hidden=
|
||||
|
||||
2010.06.19.152046 [3284]
|
||||
xorriso/iso_tree.h
|
||||
xorriso/iso_tree.c
|
||||
xorriso/findjob.h
|
||||
xorriso/findjob.c
|
||||
xorriso/iso_manip.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New find test -disk_name
|
||||
|
||||
2010.06.20.072130 [3285]
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/opts_d_h.c
|
||||
xorriso/iso_manip.c
|
||||
xorriso/findjob.h
|
||||
xorriso/findjob.c
|
||||
xorriso/misc_funct.h
|
||||
xorriso/misc_funct.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New find action -hide, new find test -hidden
|
||||
|
||||
2010.06.20.141555 [3286]
|
||||
xorriso/aux_objects.c
|
||||
xorriso/emulators.c
|
||||
xorriso/opts_p_z.c
|
||||
xorriso/read_run.c
|
||||
libisoburn/burn_wrap.c
|
||||
Trying to silence compiler warnings of OpenSuse Build Service
|
||||
|
||||
2010.06.20.164738 [3287]
|
||||
xorriso/xorriso.h
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/parse_exec.c
|
||||
xorriso/opts_d_h.c
|
||||
xorriso/iso_manip.c
|
||||
xorriso/disk_ops.c
|
||||
xorriso/iso_tree.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New option -hide
|
||||
|
||||
2010.06.22.132641 [3288]
|
||||
xorriso/opts_p_z.c
|
||||
Made -quoted_path_list continue to execute words after error in the same line
|
||||
|
||||
2010.06.23.134250 [3289]
|
||||
xorriso/xorriso.h
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/base_obj.c
|
||||
xorriso/aux_objects.c
|
||||
xorriso/parse_exec.c
|
||||
xorriso/opts_i_o.c
|
||||
xorriso/emulators.c
|
||||
xorriso/disk_ops.c
|
||||
xorriso/misc_funct.h
|
||||
xorriso/misc_funct.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New -as mkisofs options -hide, -hide-joliet, -hide-list, -hide-joliet-list
|
||||
|
||||
2010.06.23.134250 [3290]
|
||||
xorriso/emulators.c
|
||||
Included a missing header file
|
||||
|
||||
2010.06.23.151900 [3291]
|
||||
xorriso/parse_exec.h
|
||||
Updated the missing header file
|
||||
|
||||
2010.06.23.152337 [3292]
|
||||
xorriso/emulators.c
|
||||
Revoked unneeded change of revision 3290
|
||||
|
||||
2010.06.23.175357 [3293]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/lib_mgt.c
|
||||
xorriso/drive_mgt.c
|
||||
xorriso/iso_img.c
|
||||
Reset xorriso->boot_count when image gets discarded
|
||||
|
||||
2010.06.23.175613 [3294]
|
||||
xorriso/write_run.c
|
||||
Moved call of iso_image_set_boot_catalog_hidden() to Xorriso_write_session()
|
||||
|
||||
------------------------------------ cycle - xorriso-0.5.9 - 2010.06.23.175613
|
||||
Bug fix: -check_media patch_lba0= could install wrong image size
|
||||
Bug fix: -as mkisofs option -volset was wrongly interpreted like -volid
|
||||
Enabled use of libreadline on Solaris
|
||||
New find test -disk_name
|
||||
New option -hide, -find action -hide, -find test -hidden
|
||||
New -boot_image bootspec cat_hidden=on
|
||||
New -as mkisofs options -hide, -hide-joliet, -hide-list, -hide-joliet-list
|
||||
|
||||
|
||||
2010.06.24.084800 [3295]
|
||||
xorriso/emulators.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New -as mkisofs option --boot-catalog-hide
|
||||
|
||||
2010.06.25.095836 [3296]
|
||||
xorriso/emulators.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New -as mkisofs option -dir-mode
|
||||
|
||||
2010.06.25.102140 [3297]
|
||||
xorriso/emulators.c
|
||||
New -as mkisofs option -file-mode
|
||||
|
||||
2010.06.25.174329 [3298]
|
||||
xorriso/text_io.c
|
||||
Appending eventual strerror() to event message line rather than to new line
|
||||
|
||||
2010.06.25.175810 [3299]
|
||||
xorriso/xorriso.h
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/base_obj.c
|
||||
xorriso/parse_exec.h
|
||||
xorriso/parse_exec.c
|
||||
xorriso/opts_d_h.c
|
||||
xorriso/opts_p_z.c
|
||||
xorriso/sfile.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New option -read_mkisofsrc interprets .mkisofsrc
|
||||
|
||||
2010.06.26.113947 [3300]
|
||||
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/drive_mgt.c
|
||||
xorriso/iso_img.c
|
||||
xorriso/text_io.c
|
||||
xorriso/write_run.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New options -copright_file , -biblio_file , -abstract_file
|
||||
|
||||
2010.06.26.114315 [3301]
|
||||
xorriso/emulators.c
|
||||
New -as mkisofs options -abstract, -biblio, -copyright
|
||||
|
||||
------------------------------------ cycle - xorriso-0.5.9 - 2010.06.26.114315
|
||||
New -as mkisofs option --boot-catalog-hide
|
||||
New options -copright_file , -biblio_file , -abstract_file
|
||||
New option -read_mkisofsrc interprets .mkisofsrc
|
||||
New -as mkisofs options -dir-mode, -file-mode
|
||||
New -as mkisofs options -abstract, -biblio, -copyright
|
||||
|
||||
|
||||
2010.06.28.100903 [3302]
|
||||
xorriso/text_io.c
|
||||
Supressing "Thank you for being patient" with times smaller than 2
|
||||
|
||||
2010.06.28.101019 [3303]
|
||||
xorriso/iso_tree.c
|
||||
Made option -lsl mark files in hidden directories as hidden
|
||||
|
||||
27 Jun 2010 [3304]
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
Removed outdated doc statement about hidden files
|
||||
|
||||
2010.06.29.102043 [3305]
|
||||
configure.ac
|
||||
libisoburn/libisoburn.h
|
||||
Requiring libisofs-0.6.34 now
|
||||
|
||||
2010.06.29.102229 [3306]
|
||||
xorriso/configure_ac.txt
|
||||
Adapted GNU xorriso to version leap libisofs-0.6.35
|
||||
|
||||
2010.06.30.181822 [3315]
|
||||
configure.ac
|
||||
libisoburn/libisoburn.h
|
||||
Requiring libburn-0.8.4 now
|
||||
|
||||
2010.06.30.181908 [3316]
|
||||
xorriso/configure_ac.txt
|
||||
Adapted GNU xorriso to version leap libburn-0.8.5
|
||||
|
||||
02 Jul 2010 [3317]
|
||||
svn copy -m Branching for libisoburn release 0.6.0 \
|
||||
http://svn.libburnia-project.org/libisoburn/trunk \
|
||||
http://svn.libburnia-project.org/libisoburn/branches/ZeroSixZero
|
||||
|
||||
2010.07.02.090001 [3318]
|
||||
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
|
||||
xorriso/xorriso_timestamp.h
|
||||
Version leap to libisoburn-0.6.0
|
||||
|
||||
02 Jul 2010 [3319]
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
----------------------------------- release - xorriso-0.6.0 - 2010.07.02.090001
|
||||
Bug fix: -check_media patch_lba0= could install wrong image size
|
||||
Bug fix: -as mkisofs option -volset was wrongly interpreted like -volid
|
||||
Enabled use of libreadline on Solaris
|
||||
New find test -disk_name
|
||||
New option -hide, -find action -hide, -find test -hidden
|
||||
New -boot_image bootspec cat_hidden=on
|
||||
New options -copright_file , -biblio_file , -abstract_file
|
||||
New option -read_mkisofsrc interprets .mkisofsrc
|
||||
Implemented -as mkisofs options -hide,-hide-joliet,-hide-list,-hide-joliet-list
|
||||
New -as mkisofs option --boot-catalog-hide
|
||||
Implemented -as mkisofs options -dir-mode, -file-mode
|
||||
Implemented -as mkisofs options -abstract, -biblio, -copyright
|
||||
|
||||
|
||||
2010.07.02.195907 [3320]
|
||||
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
|
||||
xorriso/xorriso_timestamp.h
|
||||
Version leap to libisoburn-0.6.1
|
||||
|
||||
2 Jul 2010 [3321]
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
2 Jul 2010 [3322]
|
||||
svn move -m Promoted branch to tag
|
||||
http://svn.libburnia-project.org/libisoburn/branches/ZeroSixZero
|
||||
http://svn.libburnia-project.org/libisoburn/tags/ZeroSixZero
|
||||
|
||||
------------------------------------ cycle - xorriso-0.6.1 - 2010.07.02.195907
|
||||
|
||||
4 Jul 2010 [3324]
|
||||
acinclude.m4
|
||||
Added -L/usr/local/lib to libisoburn LDFLAGS for Solaris
|
||||
|
||||
2010.07.05.090409 [3327]
|
||||
xorriso/xorriso.h
|
||||
Removed definition of phantom xorriso options
|
||||
|
||||
2010.07.05.122901 [3328]
|
||||
configure.ac
|
||||
Makefile.am
|
||||
README
|
||||
+ libisoburn/libisoburn.ver
|
||||
Hiding all non-API symbols from the linker by use of --version-script
|
||||
|
||||
2010.07.06.114102 [3331]
|
||||
configure.ac
|
||||
acinclude.m4
|
||||
Let configure perform linker test with --version-script if enabled
|
||||
|
||||
2010.07.06.114503 [3332]
|
||||
libisoburn/libisoburn.h
|
||||
xorriso/xorriso.h
|
||||
Mentioned that public API calls must be in libisofs/libisofs.ver
|
||||
|
||||
2010.07.08.155900 [3333]
|
||||
xorriso/emulators.c
|
||||
Made behavior of -as mkisofs with unknown options more similar to original
|
||||
|
||||
------------------------------------ cycle - xorriso-0.6.1 - 2010.07.08.155900
|
||||
* Made behavior of -as mkisofs with unknown options more similar to original
|
||||
|
||||
|
||||
2010.07.29.164843 [3338]
|
||||
Makefile.am
|
||||
Detached make target "doc" from target "all".
|
||||
|
||||
29 Jul 2010 [3339]
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
Corrected manual text about -read_mkisofsrc
|
||||
|
||||
2010.07.30.155123 [3340]
|
||||
libisoburn/libisoburn.ver
|
||||
xorriso/xorriso.h
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/base_obj.c
|
||||
xorriso/lib_mgt.c
|
||||
xorriso/parse_exec.c
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/opts_p_z.c
|
||||
xorriso/emulators.c
|
||||
xorriso/text_io.c
|
||||
xorriso/write_run.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New option -preparer_id, -as mkisofs options -p and -preparer
|
||||
|
||||
30 Jul 2010 [3342]
|
||||
doc/doxygen.conf.in
|
||||
Removed problematic DETAILS_AT_TOP to silence warning of Debian buildd
|
||||
|
||||
30 Jul 2010 [3343]
|
||||
doc/doxygen.conf.in
|
||||
Corrected FILE_PATTERNS
|
||||
|
||||
2010.07.31.085437 [3344]
|
||||
xorriso/cmp_update.c
|
||||
Missing device,inode numbers caused -compare_r to report a difference
|
||||
|
||||
------------------------------------ cycle - xorriso-0.6.1 - 2010.07.31.085437
|
||||
* New option -preparer_id, -as mkisofs options -p and -preparer
|
||||
|
||||
|
||||
2010.08.09.092037 [3351]
|
||||
libisoburn/libisoburn.h
|
||||
doc/comments
|
||||
Hopefully silenced warnings of doxygen on Debian buildd
|
||||
|
||||
2010.08.18.102709 [3353]
|
||||
xorriso/emulators.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New -as mkisofs option -e from Fedora genisoimage
|
||||
|
||||
2010.08.18.181640 [3354]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New -boot_image specifier emul_type=none|hard_disk|floppy
|
||||
|
||||
2010.08.18.181855 [3355]
|
||||
xorriso/emulators.c
|
||||
New -as mkisofs option -hard-disk-boot, enabled -b without -no-emul-boot
|
||||
|
||||
2010.08.21.103003 [3357]
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
xorriso/xorriso_eng.html
|
||||
Mentioned support for DVD-R DL as single-session media
|
||||
|
||||
2010.09.04.100823 [3359]
|
||||
xorriso/iso_manip.c
|
||||
This was obviously forgotten to commit with rev 3289
|
||||
|
||||
2010.09.05.113621 [3360]
|
||||
libisoburn/libisoburn.h
|
||||
libisoburn/isoburn.h
|
||||
libisoburn/isoburn.c
|
||||
New API function isoburn_igopt_set_part_offset(), requiring libisofs 0.6.35
|
||||
|
||||
2010.09.05.113655 [3361]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/base_obj.c
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/text_io.c
|
||||
xorriso/write_run.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New boot_image boot specs partition_offset, partition_hd_cyl, partition_sec_hd
|
||||
|
||||
2010.09.05.113945 [3362]
|
||||
xorriso/emulators.c
|
||||
New -as mkisofs options -partition_offset, -partition_hd_cyl, -partition_sec_hd
|
||||
|
||||
------------------------------------ cycle - xorriso-0.6.1 - 2010.09.05.113945
|
||||
* New API function isoburn_igopt_set_part_offset()
|
||||
* New -boot_image specifier emul_type=none|hard_disk|floppy
|
||||
* New -as mkisofs option -hard-disk-boot, enabled -b without -no-emul-boot
|
||||
* New -as mkisofs option -e from Fedora genisoimage
|
||||
* New boot_image boot specs partition_offset, partition_hd_cyl, partition_sec_hd
|
||||
* New -as mkisofs options -partition_offset, -partition_hd_cyl, -partition_sec_hd
|
||||
|
||||
|
||||
2010.09.06.103347 [3363]
|
||||
libisoburn/isoburn.c
|
||||
Bug fix: Re-enabled use of iso_write_opts_set_rrip_1_10_px_ino()
|
||||
|
||||
2010.09.10.170925 [3364]
|
||||
libisoburn/libisoburn.h
|
||||
libisoburn/isoburn.h
|
||||
libisoburn/isoburn.c
|
||||
libisoburn/isofs_wrap.c
|
||||
libisoburn/burn_wrap.c
|
||||
Enabled multi-session with partition offset
|
||||
|
||||
2010.09.10.171223 [3365]
|
||||
xorriso/drive_mgt.c
|
||||
xorriso/write_run.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
Enabled multi-session with partition offset
|
||||
|
||||
2010.09.11.125002 [3366]
|
||||
libisoburn/libisoburn.h
|
||||
libisoburn/isoburn.h
|
||||
libisoburn/isoburn.c
|
||||
libisoburn/isofs_wrap.c
|
||||
Removed development marks
|
||||
|
||||
2010.09.11.125039 [3367]
|
||||
xorriso/xorriso_private.h
|
||||
Removed development marks
|
||||
|
||||
------------------------------------ cycle - xorriso-0.6.1 - 2010.09.11.125039
|
||||
* Bug fix: Regression with -hardlinks and -compliance old_rr, 0.4.2, Aug 2009
|
||||
|
||||
|
||||
2010.09.15.065722 [3370]
|
||||
Makefile.am
|
||||
ChangeLog
|
||||
Meaningful change log file derived by George Danchev from web site
|
||||
|
||||
2010.09.15.091546 [3371]
|
||||
configure.ac
|
||||
libisoburn/libisoburn.h
|
||||
Requiring libisofs-0.6.36 now
|
||||
|
||||
2010.09.15.092023 [3372]
|
||||
xorriso/configure_ac.txt
|
||||
Version leap to 0.6.37
|
||||
|
||||
17 Sep 2010 [3380]
|
||||
xorriso/configure_ac.txt
|
||||
Version leap to libburn-0.8.7
|
||||
|
||||
18 Sep 2010 [3382]
|
||||
svn copy -m Branching for libisoburn release 0.6.0
|
||||
http://svn.libburnia-project.org/libisoburn/trunk
|
||||
http://svn.libburnia-project.org/libisoburn/branches/ZeroSixZero
|
||||
|
||||
18 Sep 2010 [3383]
|
||||
svn delete http://svn.libburnia-project.org/libisoburn/branches/ZeroSixZero
|
||||
Removed falsely named branch
|
||||
|
||||
18 Sep 2010 [3384]
|
||||
svn copy -m Branching for libisoburn release 0.6.2
|
||||
http://svn.libburnia-project.org/libisoburn/trunk
|
||||
http://svn.libburnia-project.org/libisoburn/branches/ZeroSixTwo
|
||||
|
||||
2010.09.18.120001 [3385]
|
||||
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
|
||||
xorriso/xorriso_timestamp.h
|
||||
Version leap to libisoburn-0.6.2
|
||||
|
||||
18 Sep 2010 [3386]
|
||||
ChangeLog
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
2010.09.18.210001 [3387]
|
||||
libisoburn/isoburn.c
|
||||
Fixed a bug with uninitialized variable introduced by rev 3364
|
||||
|
||||
19 Sep 2010 []
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
----------------------------------- release - xorriso-0.6.2 - 2010.09.18.210001
|
||||
libisoburn novelties:
|
||||
* New API function isoburn_igopt_set_part_offset()
|
||||
* Hiding all non-API symbols from the linker by use of --version-script
|
||||
* Now with history of release notes in ./ChangeLog file.
|
||||
xorriso novelties:
|
||||
* Bug fix: Regression with -hardlinks and -compliance old_rr, 0.4.2, Aug 2009
|
||||
* New option -preparer_id, -as mkisofs options -p and -preparer
|
||||
* New -boot_image specifier emul_type=none|hard_disk|floppy
|
||||
* New boot_image boot specs partition_offset, partition_hd_cyl, partition_sec_hd
|
||||
* Made behavior of -as mkisofs with unknown options more similar to original
|
||||
* New -as mkisofs option -hard-disk-boot, enabled -b without -no-emul-boot
|
||||
* New -as mkisofs option -e from Fedora genisoimage
|
||||
* New -as mkisofs options -partition_offset,-partition_hd_cyl,-partition_sec_hd
|
||||
|
||||
|
||||
------------------------------------ cycle - xorriso-0.6.3 -
|
||||
------------------------------------ cycle - xorriso-0.6.3 -
|
||||
|
||||
|
||||
**********************************************************************
|
||||
Important: When adding a public API function then add its name to file
|
||||
libisoburn/libisoburn.ver
|
||||
**********************************************************************
|
||||
|
||||
===============================================================================
|
||||
TODO
|
||||
===============================================================================
|
||||
|
||||
|
||||
------------------------------------------------- For Solaris
|
||||
|
||||
libreadline does not know that it needs
|
||||
libcurses. (On Linux and on FreeBSD it
|
||||
links -lcurses automatically.)
|
||||
I need a smarter ./configure test.
|
||||
|
||||
The OS adapter header os-dummy.h for general
|
||||
X/Open systems does not know that it shall
|
||||
ignore SIGWINCH (which libreadline throws).
|
||||
|
||||
The mount command needs to be adapted to Solaris.
|
||||
(What is possible, at all ?)
|
||||
(The mount command needs to be adapted to Solaris.
|
||||
But currently there is no sector address option with mount.)
|
||||
|
||||
|
||||
------------------------------------------------- For GRUB
|
||||
@ -8017,16 +8565,54 @@ The mount command needs to be adapted to Solaris.
|
||||
- warn that multiple boot images work only if they stem from
|
||||
distinct disk files
|
||||
|
||||
- Option to avoid TOC-emulation and save 64 to 126 kB
|
||||
|
||||
|
||||
------------------------------------------------- FreeBSD
|
||||
|
||||
- Examine and replay:
|
||||
http://wiki.freebsd.org/AvgLiveCD
|
||||
|
||||
- looks ok now:
|
||||
mkisofs -R -l -ldots -allow-lowercase -allow-multidot \
|
||||
-V 'My FreeBSD' -volset 'My FreeBSDs' \
|
||||
-hide boot.catalog -o ../R.iso -no-emul-boot \
|
||||
-b boot/cdboot .
|
||||
|
||||
|
||||
- try
|
||||
qemu -m 256 -cdrom /tmp/R.iso -boot d
|
||||
>>> does not do anything recognizable. Not even fails.
|
||||
|
||||
------------------------------------------------- bugs
|
||||
|
||||
- Empty boot image file
|
||||
-boot_image any bin_path=/with_bytes
|
||||
-boot_image any next
|
||||
-boot_image any bin_path=/empty_file
|
||||
reports no problems during write but causes strange load messages
|
||||
xorriso : NOTE : Loading ISO image tree from LBA 0
|
||||
libisofs: WARNING : More than one ISO node has been found for the same boot image.
|
||||
xorriso : UPDATE : 3905 nodes read in 1 seconds
|
||||
libisofs: WARNING : More than one ISO node has been found for the same boot image.
|
||||
libisofs: WARNING : Found hidden El-Torito image. Its size could not be figure out, so image modify or boot image patching may lead to bad results.
|
||||
-boot_image any show_status
|
||||
yields
|
||||
Boot record : El Torito
|
||||
Boot catalog : '/u/boot.cat'
|
||||
Boot image : '/u/x'
|
||||
Boot image : -not-found-any-more-
|
||||
|
||||
|
||||
- xorriso ... -b ... -c does/not/exist/in/image ...
|
||||
yields riddling error message:
|
||||
libisofs: FAILURE : A requested node does not exist
|
||||
xorriso : FAILURE : Could not attach El-Torito boot image to ISO 9660 image
|
||||
|
||||
|
||||
- An ISO image as first file of a stdout stream might start at LBA 32
|
||||
and thus look like a session. It has not the proper offset, though.
|
||||
|
||||
- reduce xorriso -abort_on default to FAILURE ?
|
||||
or increase "Not a known option" to FATAL ?
|
||||
|
||||
- xorriso_eng.html on www.gnu.org it should rather be xorriso.html
|
||||
|
||||
- DVD-ROM drives report CD tracks with size up to the next track start.
|
||||
@ -8036,13 +8622,6 @@ The mount command needs to be adapted to Solaris.
|
||||
- make iso_init() and iso_finish() safe against multiple calls
|
||||
from multiple threads.
|
||||
|
||||
- Is it harmless to have an empty xorriso->loaded_boot_cat_path ?
|
||||
This situation appears if an image gets loaded that was created
|
||||
by mkisofs ... -hide boot.catalog ...
|
||||
xorriso -toc reports:
|
||||
Boot bin_path: '/boot/isolinux/isolinux.bin'
|
||||
Boot cat_path: -not-found-at-load-time-
|
||||
|
||||
- what about split files and hard links ?
|
||||
|
||||
- xorriso -as cdrecord in rare cases reports intermediate "X of X MB"
|
||||
@ -8062,8 +8641,6 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
|
||||
|
||||
- options -print_info , -print_mark
|
||||
|
||||
- (ECMA-119 names in: -copyright_id , -abstract_id , -biblio_id)
|
||||
|
||||
- Mark data blocks of -check_md5 matching files as valid in sector map ?
|
||||
|
||||
- tree of name nodes to represent the cached paths of hardlink candidates.
|
||||
@ -8078,6 +8655,10 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
|
||||
- what about differently filtered streams ?
|
||||
It is not wrong but a waste to update them as siblings.
|
||||
|
||||
- one-time delimiter which overrides -list_delimiter for only the
|
||||
next command.
|
||||
E.g. for --back_to_xorriso in emulations
|
||||
|
||||
|
||||
|
||||
- sudo and setuid chapter in man page
|
||||
|
@ -297,7 +297,7 @@ int Xorriso_compare_2_files(struct XorrisO *xorriso, char *disk_adr,
|
||||
{
|
||||
struct stat s1, s2, stbuf;
|
||||
int ret, missing= 0, is_split= 0, i, was_error= 0, diff_count= 0;
|
||||
int content_shortcut= 0;
|
||||
int content_shortcut= 0, mask;
|
||||
char *respt;
|
||||
char a[5*SfileadrL], sfe[5*SfileadrL];
|
||||
char ttx1[40], ttx2[40];
|
||||
@ -636,8 +636,12 @@ int Xorriso_compare_2_files(struct XorrisO *xorriso, char *disk_adr,
|
||||
}
|
||||
if(was_error)
|
||||
ret= -1;
|
||||
else
|
||||
ret= (((*result) & ~((1 << 17) | (1 << 18) | (1 << 23)))==0);
|
||||
else {
|
||||
mask= ~((1 << 17) | (1 << 18) | (1 << 22) | (1 << 23));
|
||||
if(xorriso->do_aaip & 32)
|
||||
mask|= 1 << 22;
|
||||
ret= (((*result) & mask)==0);
|
||||
}
|
||||
ex:;
|
||||
if(split_parts!=NULL)
|
||||
Splitparts_destroy(&split_parts, split_count, 0);
|
||||
|
@ -3,7 +3,7 @@
|
||||
# Copyright (c) 2007 - 2010 Thomas Schmitt <scdbackup@gmx.net>
|
||||
# Provided under GPL version 2 or later.
|
||||
|
||||
AC_INIT([xorriso], [0.5.8], [http://libburnia-project.org])
|
||||
AC_INIT([xorriso], [0.6.2], [http://libburnia-project.org])
|
||||
AC_PREREQ([2.50])
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
@ -22,14 +22,14 @@ AC_DEFINE([Xorriso_standalonE], [])
|
||||
|
||||
BURN_MAJOR_VERSION=0
|
||||
BURN_MINOR_VERSION=8
|
||||
BURN_MICRO_VERSION=5
|
||||
BURN_MICRO_VERSION=7
|
||||
AC_SUBST(BURN_MAJOR_VERSION)
|
||||
AC_SUBST(BURN_MINOR_VERSION)
|
||||
AC_SUBST(BURN_MICRO_VERSION)
|
||||
|
||||
LIBISOFS_MAJOR_VERSION=0
|
||||
LIBISOFS_MINOR_VERSION=6
|
||||
LIBISOFS_MICRO_VERSION=35
|
||||
LIBISOFS_MICRO_VERSION=37
|
||||
AC_SUBST(LIBISOFS_MAJOR_VERSION)
|
||||
AC_SUBST(LIBISOFS_MINOR_VERSION)
|
||||
AC_SUBST(LIBISOFS_MICRO_VERSION)
|
||||
|
@ -155,7 +155,7 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
{
|
||||
int ret, hret, not_writeable= 0, has_what, aquire_flag, load_lba, ext;
|
||||
int lba, track, session, params_flag, adr_mode, read_ret;
|
||||
uint32_t size;
|
||||
uint32_t size, offst;
|
||||
struct burn_drive_info *dinfo= NULL, *out_dinfo, *in_dinfo;
|
||||
struct burn_drive *drive= NULL, *out_drive, *in_drive;
|
||||
enum burn_disc_status state;
|
||||
@ -233,6 +233,16 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
}
|
||||
|
||||
state= isoburn_disc_get_status(dinfo[0].drive);
|
||||
ret= isoburn_get_img_partition_offset(dinfo[0].drive, &offst);
|
||||
if((state == BURN_DISC_APPENDABLE || state == BURN_DISC_FULL) && ret == 1) {
|
||||
sprintf(xorriso->info_text,
|
||||
"ISO image bears MBR with -boot_image any partition_offset=%lu",
|
||||
(unsigned long) offst);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
}
|
||||
|
||||
if(flag&1)
|
||||
if(xorriso->image_start_mode&(1<<31)) /* used up setting */
|
||||
xorriso->image_start_mode= 0; /* no need to perform auto setting */
|
||||
@ -242,6 +252,8 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
xorriso->outdev_is_exclusive= xorriso->drives_exclusive;
|
||||
}
|
||||
drive= dinfo[0].drive;
|
||||
state= isoburn_disc_get_status(drive);
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
if(flag&1) {
|
||||
if(xorriso->image_start_mode&(1<<31)) /* used up setting */
|
||||
xorriso->image_start_mode&= ~0xffff; /* perform auto setting */
|
||||
@ -279,8 +291,6 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
xorriso->image_start_mode|= (1<<31); /* mark as used up */
|
||||
}
|
||||
}
|
||||
state= isoburn_disc_get_status(drive);
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
if(flag&1) {
|
||||
volset= isoburn_get_attached_image(drive);
|
||||
if(volset != NULL) { /* The image object is already created */
|
||||
|
@ -494,6 +494,110 @@ ex:;
|
||||
}
|
||||
|
||||
|
||||
/* This function shall know all options of mkisofs, genisoimage, xorrisofs, ...
|
||||
and the number of arguments which they expect and consume.
|
||||
*/
|
||||
int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
int *count, int flag)
|
||||
{
|
||||
int i;
|
||||
char *cmd;
|
||||
|
||||
static char partial_options[][41]= {
|
||||
"errctl=",
|
||||
"isolinux_mbr=", "--modification-date=",
|
||||
""
|
||||
};
|
||||
static char arg0_options[][41]= {
|
||||
"-allow-leading-dots", "-ldots", "-allow-lowercase", "-allow-multidot",
|
||||
"-cache-inodes", "-no-cache-inodes", "-eltorito-alt-boot",
|
||||
"-hard-disk-boot", "-no-emul-boot", "-no-boot", "-boot-info-table",
|
||||
"-check-oldnames", "-d", "-D", "-dvd-video", "-f", "-gui", "-graft-points",
|
||||
"-hide-joliet-trans-tbl", "-hide-rr-moved", "-J", "-joliet-long", "-l",
|
||||
"-L", "-max-iso9660-filenames", "-N", "-nobak", "-no-bak",
|
||||
"-no-limit-pathtables", "-force-rr", "-no-rr",
|
||||
"-no-split-symlink-components", "-no-split-symlink-fields", "-pad",
|
||||
"-no-pad", "-posix-H", "-posix-L", "-posix-P", "-print-size",
|
||||
"-quiet", "-R", "-r", "-relaxed-filenames", "-rrip110", "-rrip112",
|
||||
"-split-output", "-T", "-UDF", "-udf", "-udf-symlinks", "-no-udf-symlinks",
|
||||
"-U", "-no-iso-translate", "-v", "-XA", "-xa", "-z",
|
||||
"-hfs", "-no-hfs", "-apple", "-probe", "-no-desktop", "-mac-name",
|
||||
"-part", "-icon-position", "-chrp-t", "-hfs-unlock", "--cap", "--netatalk",
|
||||
"--double", "--ethershare", "--ushare", "--exchange", "--sgi", "--xinet",
|
||||
"--macbin", "--single", "--dave", "--sfm", "--osx-double", "--osx-hfs",
|
||||
"-debug", "-omit-period", "-disable-deep-relocation", "-joliet",
|
||||
"-full-iso9660-filenames", "-follow-links", "-help",
|
||||
"-transparent-compression",
|
||||
"-omit-version-number", "-rational-rock", "-rock", "-translation-table",
|
||||
"-untranslated-filenames", "-verbose", "-version", "-g", "-h",
|
||||
"-no-mac-files", "-chrp-boot",
|
||||
"--hardlinks", "--acl", "--xattr", "--md5", "--for_backup",
|
||||
"--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc",
|
||||
""
|
||||
};
|
||||
static char arg1_options[][41]= {
|
||||
"-abstract", "-A", "-appid", "-biblio", "-b", "-B", "-boot-load-seg",
|
||||
"-boot-load-size", "-C", "-c", "-check-session", "-copyright",
|
||||
"-dir-mode", "-file-mode", "-G", "-gid", "-hide", "-hide-list",
|
||||
"-hidden", "-hidden-list", "-hide-joliet", "-hide-joliet-list",
|
||||
"-hide-udf", "-hide-udf-list", "-input-charset", "-output-charset",
|
||||
"-iso-level", "-jcharset", "-log-file", "-m", "-exclude-list", "-M",
|
||||
"-dev", "-new-dir-mode", "-o", "-p", "-preparer",
|
||||
"-path-list", "-publisher", "-root",
|
||||
"-old-root", "-s", "-sectype", "-sort", "-sparc-boot", "-sparc-label",
|
||||
"-stream-media-size", "-stream-file-name", "-sunx86-boot", "-sunx86-label",
|
||||
"-sysid", "-table-name", "-ucs-level", "-uid", "-V", "-volset",
|
||||
"-volset-size", "-volset-seqno", "-x", "-P",
|
||||
"-map", "-magic", "-hfs-creator", "-hfs-type", "-boot-hfs-file", "-auto",
|
||||
"-cluster-size", "-hide-hfs", "-hide-hfs-list", "-hfs-volid",
|
||||
"-root-info", "-prep-boot", "-input-hfs-charset", "-output-hfs-charset",
|
||||
"-hfs-bless", "-hfs-parms",
|
||||
"-eltorito-boot", "-generic-boot", "-eltorito-catalog", "-cdrecord-params",
|
||||
"-errctl", "-exclude", "-prev-session", "-output", "-use-fileversion",
|
||||
"-volid", "-old-exclude",
|
||||
"-alpha-boot", "-hppa-cmdline", "-hppa-kernel-32", "-hppa-kernel-64",
|
||||
"-hppa-bootloader", "-hppa-ramdisk", "-mips-boot", "-mipsel-boot",
|
||||
"-jigdo-jigdo", "-jigdo-template", "-jigdo-min-file-size",
|
||||
"-jigdo-force-md5", "-jigdo-exclude", "-jigdo-map", "-md5-list",
|
||||
"--stdio_sync", "--quoted_path_list", "--efi-boot", "--embedded-boot",
|
||||
"-isohybrid-mbr", "-e", "-partition_offset", "-partition_hd_cyl",
|
||||
"-partition_sec_hd",
|
||||
""
|
||||
};
|
||||
static char arg2_options[][41]= {
|
||||
"--scdbackup_tag", "--sort-weight",
|
||||
""
|
||||
};
|
||||
static char final_options[][41]= {
|
||||
"-find",
|
||||
""
|
||||
};
|
||||
|
||||
cmd= argv[0];
|
||||
*count= 0;
|
||||
for(i=0; partial_options[i][0]!=0; i++)
|
||||
if(strncmp(partial_options[i], cmd, strlen(partial_options[i]))==0)
|
||||
return(1);
|
||||
for(i=0; arg0_options[i][0]!=0; i++)
|
||||
if(strcmp(arg0_options[i], cmd)==0)
|
||||
return(1);
|
||||
*count= 1;
|
||||
for(i=0; arg1_options[i][0]!=0; i++)
|
||||
if(strcmp(arg1_options[i], cmd)==0)
|
||||
return(1);
|
||||
*count= 2;
|
||||
for(i=0; arg2_options[i][0]!=0; i++)
|
||||
if(strcmp(arg2_options[i], cmd)==0)
|
||||
return(1);
|
||||
*count= argc - 1;
|
||||
for(i=0; final_options[i][0]!=0; i++)
|
||||
if(strcmp(final_options[i], cmd)==0)
|
||||
return(1);
|
||||
*count= 0;
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
/* @param flag bit0= do not report eventual ignore decision
|
||||
*/
|
||||
int Xorriso_genisofs_ignore(struct XorrisO *xorriso, char *whom,
|
||||
@ -509,7 +613,7 @@ int Xorriso_genisofs_ignore(struct XorrisO *xorriso, char *whom,
|
||||
""
|
||||
};
|
||||
static char ignored_arg1_options[][41]= {
|
||||
"-check-session", "-hide-hfs", "-hide-hfs-list", "-p", "-preparer", "-root",
|
||||
"-check-session", "-hide-hfs", "-hide-hfs-list", "-root",
|
||||
"-old-root", "-table-name", "-volset-seqno", "-volset-size",
|
||||
""
|
||||
};
|
||||
@ -536,23 +640,19 @@ no_volunteer:;
|
||||
|
||||
|
||||
int Xorriso_genisofs_add_boot(struct XorrisO *xorriso, char *whom,
|
||||
int *option_b, int *no_emul_boot, int flag)
|
||||
int *option_b, int *emul_boot, int flag)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if(*option_b && !*no_emul_boot) {
|
||||
xorriso->boot_image_bin_path[0]= 0;
|
||||
sprintf(xorriso->info_text,
|
||||
"-as %s: Option -b is supported only if option -no-emul-boot is given",
|
||||
whom);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
if(*option_b)
|
||||
xorriso->boot_image_emul= *emul_boot;
|
||||
else
|
||||
xorriso->boot_image_emul= 0;
|
||||
ret= Xorriso_attach_boot_image(xorriso, 0);
|
||||
if(ret <= 0)
|
||||
xorriso->boot_image_bin_path[0]= 0;
|
||||
*option_b= 0;
|
||||
*no_emul_boot= 1;
|
||||
*emul_boot= 2;
|
||||
return(ret);
|
||||
}
|
||||
|
||||
@ -611,18 +711,24 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
" -abstract FILE Set Abstract filename",
|
||||
" -biblio FILE Set Bibliographic filename",
|
||||
" -copyright FILE Set Copyright filename",
|
||||
" -p PREP, -preparer PREP Set Volume preparer",
|
||||
" -b FILE, -eltorito-boot FILE",
|
||||
" Set El Torito boot image name",
|
||||
" -eltorito-alt-boot Start specifying alternative El Torito boot parameters",
|
||||
" --efi-boot FILE Set El Torito EFI boot image name and type",
|
||||
" -e FILE Set EFI boot image name (more rawly)",
|
||||
" -c FILE, -eltorito-catalog FILE",
|
||||
" Set El Torito boot catalog name",
|
||||
" --boot-catalog-hide Hide boot catalog from ISO9660/RR and Joliet",
|
||||
" -boot-load-size # Set numbers of load sectors",
|
||||
" -hard-disk-boot Boot image is a hard disk image",
|
||||
" -no-emul-boot Boot image is 'no emulation' image",
|
||||
" -boot-info-table Patch boot image with info table",
|
||||
" -G FILE, -generic-boot FILE Set generic boot image name",
|
||||
" --protective-msdos-label Patch System Area by partition table",
|
||||
" -partition_offset LBA Make image mountable by first partition, too",
|
||||
" -partition_sec_hd NUMBER Define number of sectors per head",
|
||||
" -partition_hd_cyl NUMBER Define number of heads per cylinder",
|
||||
" --modification-date=YYYYMMDDhhmmsscc",
|
||||
" Override date of creation and modification",
|
||||
" -isohybrid-mbr FILE Set SYSLINUX mbr/isohdp[fp]x*.bin for isohybrid",
|
||||
@ -738,9 +844,9 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
int argc, char **argv, int flag)
|
||||
{
|
||||
int ret, i, j, was_path= 0, was_other_option= 0, mem_graft_points, mem;
|
||||
int do_print_size= 0, fd, idx, iso_level= 0, no_emul_boot= 0;
|
||||
int do_print_size= 0, fd, idx, iso_level= 0, emul_boot= 2;
|
||||
int option_b= 0, was_failure= 0, fret, lower_r= 0, zero= 0;
|
||||
int dir_mode= -1, file_mode= -1;
|
||||
int dir_mode= -1, file_mode= -1, count;
|
||||
mode_t mode_and, mode_or;
|
||||
int with_boot_image= 0, with_cat_path= 0;
|
||||
int *weight_list= NULL, weight_count= 0;
|
||||
@ -907,7 +1013,9 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
Xorriso_option_stdio_sync(xorriso, argv[i], 0);
|
||||
} else
|
||||
was_other_option= 1;
|
||||
|
||||
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 0);
|
||||
if(ret > 0)
|
||||
i+= count; /* skip eventual arguments of known option */
|
||||
continue; /* regular bottom of loop */
|
||||
problem_handler_1:;
|
||||
was_failure= 1;
|
||||
@ -1038,6 +1146,7 @@ not_enough_args:;
|
||||
/* was already handled in first argument scan */;
|
||||
} else if(strcmp(argv[i], "-V")==0 || strcmp(argv[i], "-volid")==0 ||
|
||||
strcmp(argv[i], "-volset")==0 ||
|
||||
strcmp(argv[i], "-p")==0 || strcmp(argv[i], "-preparer")==0 ||
|
||||
strcmp(argv[i], "-P")==0 || strcmp(argv[i], "-publisher")==0 ||
|
||||
strcmp(argv[i], "-A")==0 || strcmp(argv[i], "-appid")==0 ||
|
||||
strcmp(argv[i], "-sysid")==0 ||
|
||||
@ -1052,6 +1161,9 @@ not_enough_args:;
|
||||
ret= Xorriso_option_volid(xorriso, argv[i], 0);
|
||||
else if(strcmp(argv[i - 1], "-volset")==0)
|
||||
ret= Xorriso_option_volset_id(xorriso, argv[i], 0);
|
||||
else if(strcmp(argv[i - 1], "-p")==0 ||
|
||||
strcmp(argv[i - 1], "-preparer")==0)
|
||||
ret= Xorriso_option_preparer_id(xorriso, argv[i], 0);
|
||||
else if(strcmp(argv[i - 1], "-P")==0 ||
|
||||
strcmp(argv[i - 1], "-publisher")==0)
|
||||
ret= Xorriso_option_publisher(xorriso, argv[i], 0);
|
||||
@ -1092,13 +1204,15 @@ not_enough_args:;
|
||||
xorriso->do_disk_pattern= mem;
|
||||
if(ret<=0)
|
||||
goto problem_handler_2;
|
||||
} else if(strcmp(argv[i], "-v")==0 || strcmp(argv[i], "-quiet")==0) {
|
||||
} else if(strcmp(argv[i], "-v")==0 || strcmp(argv[i], "-verbose")==0 ||
|
||||
strcmp(argv[i], "-quiet")==0) {
|
||||
/* was already handled in first argument scan */;
|
||||
|
||||
} else if(strcmp(argv[i], "-iso-level")==0) {
|
||||
i++;
|
||||
/* was already handled in first argument scan */;
|
||||
} else if(strcmp(argv[i], "-no-emul-boot")==0 ||
|
||||
strcmp(argv[i], "-hard-disk-boot")==0 ||
|
||||
strcmp(argv[i], "-boot-info-table")==0 ||
|
||||
strncmp(argv[i], "isolinux_mbr=", 13)==0 ||
|
||||
strcmp(argv[i], "-eltorito-alt-boot")==0 ||
|
||||
@ -1108,12 +1222,16 @@ not_enough_args:;
|
||||
} else if(strcmp(argv[i], "-b") == 0 ||
|
||||
strcmp(argv[i], "-eltorito-boot") == 0 ||
|
||||
strcmp(argv[i], "--efi-boot") == 0 ||
|
||||
strcmp(argv[i], "-e") == 0 ||
|
||||
strcmp(argv[i], "-c") == 0 ||
|
||||
strcmp(argv[i], "-eltorito-catalog") == 0 ||
|
||||
strcmp(argv[i], "-boot-load-size") == 0 ||
|
||||
strcmp(argv[i], "--embedded-boot")==0 ||
|
||||
strcmp(argv[i], "-generic-boot")==0 ||
|
||||
strcmp(argv[i], "-G") == 0 ||
|
||||
strcmp(argv[i], "-partition_offset") == 0 ||
|
||||
strcmp(argv[i], "-partition_hd_cyl") == 0 ||
|
||||
strcmp(argv[i], "-partition_sec_hd") == 0 ||
|
||||
strcmp(argv[i], "-isohybrid-mbr")==0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
@ -1193,12 +1311,17 @@ not_enough_args:;
|
||||
goto problem_handler_2;
|
||||
file_mode= mode_or;
|
||||
} else if(argv[i][0]=='-' && argv[i][1]!=0) {
|
||||
sprintf(xorriso->info_text, "-as %s: Unknown option %s",
|
||||
whom, Text_shellsafe(argv[i], sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 1);
|
||||
if(ret > 0) {
|
||||
sprintf(xorriso->info_text, "-as %s: Unsupported option %s",
|
||||
whom, Text_shellsafe(argv[i], sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
i+= count;
|
||||
goto problem_handler_2;
|
||||
} else
|
||||
goto is_pathspec_2;
|
||||
} else {
|
||||
int zero= 0;
|
||||
|
||||
is_pathspec_2:;
|
||||
/* implementing mkisofs tendency to map single-path pathspecs to / */
|
||||
if((!xorriso->allow_graft_points) ||
|
||||
Fileliste__target_source_limit(argv[i], '=', &ept, 0)<=0) {
|
||||
@ -1225,6 +1348,7 @@ not_enough_args:;
|
||||
add_pt= argv[i];
|
||||
mem_graft_points= xorriso->allow_graft_points;
|
||||
xorriso->allow_graft_points= 1;
|
||||
zero= 0;
|
||||
ret= Xorriso_option_add(xorriso, 1, &add_pt, &zero, was_path<<1);
|
||||
xorriso->allow_graft_points= mem_graft_points;
|
||||
if(ret<=0)
|
||||
@ -1292,27 +1416,35 @@ problem_handler_2:;
|
||||
for(j= 0; j < delay_opt_count; j++) {
|
||||
i= delay_opt_list[j];
|
||||
if(strcmp(argv[i], "-no-emul-boot")==0) {
|
||||
no_emul_boot= 1;
|
||||
emul_boot= xorriso->boot_image_emul= 0;
|
||||
} else if(strcmp(argv[i], "-hard-disk-boot")==0) {
|
||||
emul_boot= xorriso->boot_image_emul= 1;
|
||||
} else if(strcmp(argv[i], "-boot-info-table")==0) {
|
||||
xorriso->patch_isolinux_image= 1;
|
||||
} else if(strcmp(argv[i], "-b") == 0 ||
|
||||
strcmp(argv[i], "-eltorito-boot") == 0 ||
|
||||
strcmp(argv[i], "--efi-boot") == 0) {
|
||||
strcmp(argv[i], "--efi-boot") == 0 ||
|
||||
strcmp(argv[i], "-e") == 0) {
|
||||
i++;
|
||||
if(strcmp(argv[i - 1], "--efi-boot") == 0) {
|
||||
if(xorriso->boot_image_bin_path[0]) {
|
||||
ret= Xorriso_genisofs_add_boot(xorriso, whom,
|
||||
&option_b, &no_emul_boot, 0);
|
||||
&option_b, &emul_boot, 0);
|
||||
if(ret <= 0)
|
||||
goto problem_handler_boot;
|
||||
}
|
||||
boot_path= xorriso->boot_image_bin_path;
|
||||
xorriso->boot_efi_default= 1;
|
||||
emul_boot= xorriso->boot_image_emul= 0;
|
||||
} else {
|
||||
boot_path= xorriso->boot_image_bin_path;
|
||||
xorriso->boot_platform_id= 0x00;
|
||||
if(strcmp(argv[i - 1], "-e") == 0)
|
||||
xorriso->boot_platform_id= 0xef;
|
||||
else
|
||||
xorriso->boot_platform_id= 0x00;
|
||||
xorriso->boot_efi_default= 0;
|
||||
option_b= 1;
|
||||
xorriso->boot_image_emul= emul_boot;
|
||||
}
|
||||
boot_path[0]= 0;
|
||||
if(argv[i][0] != '/')
|
||||
@ -1322,8 +1454,9 @@ problem_handler_2:;
|
||||
goto ex;
|
||||
if(xorriso->boot_efi_default && xorriso->boot_image_bin_path[0]) {
|
||||
option_b= 0;
|
||||
emul_boot= 0;
|
||||
ret= Xorriso_genisofs_add_boot(xorriso, whom,
|
||||
&option_b, &no_emul_boot, 0);
|
||||
&option_b, &emul_boot, 0);
|
||||
if(ret <= 0)
|
||||
goto problem_handler_boot;
|
||||
}
|
||||
@ -1356,7 +1489,7 @@ problem_handler_2:;
|
||||
goto problem_handler_boot;
|
||||
} else if(strcmp(argv[i], "-eltorito-alt-boot")==0) {
|
||||
ret= Xorriso_genisofs_add_boot(xorriso, whom,
|
||||
&option_b, &no_emul_boot, 0);
|
||||
&option_b, &emul_boot, 0);
|
||||
if(ret <= 0)
|
||||
goto problem_handler_boot;
|
||||
} else if(strcmp(argv[i], "--embedded-boot")==0 ||
|
||||
@ -1375,6 +1508,16 @@ problem_handler_2:;
|
||||
xorriso->system_area_options= (xorriso->system_area_options & ~3) | 1;
|
||||
} else if(strcmp(argv[i], "--boot-catalog-hide")==0) {
|
||||
xorriso->boot_image_cat_hidden|= 3;
|
||||
} else if(strcmp(argv[i], "-partition_offset") == 0 ||
|
||||
strcmp(argv[i], "-partition_sec_hd") == 0 ||
|
||||
strcmp(argv[i], "-partition_dh_cyl") == 0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
i++;
|
||||
sprintf(sfe, "%s=%.16s", argv[i-1] + 1, argv[i]);
|
||||
ret= Xorriso_option_boot_image(xorriso, "any", sfe, 0);
|
||||
if(ret <= 0)
|
||||
goto problem_handler_boot;
|
||||
}
|
||||
continue; /* regular bottom of loop */
|
||||
problem_handler_boot:;
|
||||
@ -1388,7 +1531,7 @@ problem_handler_boot:;
|
||||
if(with_boot_image && with_cat_path == 0)
|
||||
strcpy(xorriso->boot_image_cat_path, "/boot.catalog");
|
||||
if(xorriso->boot_image_bin_path[0]) {
|
||||
ret= Xorriso_genisofs_add_boot(xorriso, whom, &option_b, &no_emul_boot, 0);
|
||||
ret= Xorriso_genisofs_add_boot(xorriso, whom, &option_b, &emul_boot, 0);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
}
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include "iso_tree.h"
|
||||
#include "iso_manip.h"
|
||||
#include "sort_cmp.h"
|
||||
#include "parse_exec.h"
|
||||
|
||||
|
||||
|
||||
@ -149,6 +150,8 @@ int Xorriso_graft_split(struct XorrisO *xorriso, IsoImage *volume,
|
||||
|
||||
/*
|
||||
@param flag bit3= cut_out_node: offset and size are valid
|
||||
bit8= hide in iso_rr
|
||||
bit9= hide in joliet
|
||||
*/
|
||||
int Xorriso_tree_graft_node(struct XorrisO *xorriso, IsoImage *volume,
|
||||
IsoDir *dir, char *disk_path, char *img_name,
|
||||
@ -199,7 +202,11 @@ int Xorriso_tree_graft_node(struct XorrisO *xorriso, IsoImage *volume,
|
||||
goto ex;
|
||||
}
|
||||
}
|
||||
|
||||
if(flag & (256 | 512)) {
|
||||
ret= Xorriso_set_hidden(xorriso, (void *) *node, "", (flag >> 8) & 3, 0);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
}
|
||||
if(stbuf_valid && ((xorriso->do_aaip & 16) || !(xorriso->ino_behavior & 2))) {
|
||||
ret= Xorriso_record_dev_inode(xorriso, disk_path,
|
||||
stbuf.st_dev, stbuf.st_ino, (void *) *node, "", 1);
|
||||
@ -224,6 +231,8 @@ ex:;
|
||||
bit1= do not report added files
|
||||
bit6= do not delete eventually existing node from di_array
|
||||
bit7= no special handling of split file directories
|
||||
bit8= hide in iso_rr
|
||||
bit9= hide in joliet
|
||||
*/
|
||||
int Xorriso_add_tree(struct XorrisO *xorriso, IsoDir *dir,
|
||||
char *img_dir_path, char *disk_dir_path,
|
||||
@ -232,7 +241,7 @@ int Xorriso_add_tree(struct XorrisO *xorriso, IsoDir *dir,
|
||||
IsoImage *volume;
|
||||
IsoNode *node;
|
||||
int ret, target_is_dir, source_is_dir, source_is_link, fret, was_failure= 0;
|
||||
int do_not_dive, target_is_split= 0;
|
||||
int do_not_dive, target_is_split= 0, hide_attrs;
|
||||
struct DirseQ *dirseq= NULL;
|
||||
char *name, *img_name, *srcpt, *stbuf_src= "";
|
||||
struct stat stbuf, hstbuf;
|
||||
@ -313,12 +322,21 @@ cannot_open_dir:;
|
||||
{ret= -1; goto ex;}
|
||||
}
|
||||
|
||||
/* compare exclusions against disk_path resp. name */
|
||||
/* Compare exclusions against disk_path resp. name */
|
||||
ret= Xorriso_path_is_excluded(xorriso, disk_path, 0); /* (is never param) */
|
||||
if(ret<0)
|
||||
{ret= -1; goto ex;}
|
||||
if(ret>0)
|
||||
continue;
|
||||
/* Check for mkisofs-style hidings */
|
||||
hide_attrs= (flag >> 8) & 3;
|
||||
if(hide_attrs != 3) {
|
||||
ret= Xorriso_path_is_hidden(xorriso, disk_path, 0);
|
||||
if(ret<0)
|
||||
return(ret);
|
||||
if(ret>=0)
|
||||
hide_attrs|= ret;
|
||||
}
|
||||
|
||||
strcpy(img_name, name);
|
||||
if(Xorriso_much_too_long(xorriso, strlen(img_path), 0)<=0)
|
||||
@ -409,7 +427,7 @@ cannot_lstat:;
|
||||
if(node==NULL) {
|
||||
ret= Xorriso_tree_graft_node(xorriso, volume, dir, srcpt, img_name,
|
||||
"", img_path, (off_t) 0, (off_t) 0,
|
||||
&node, 0);
|
||||
&node, (hide_attrs << 8));
|
||||
}
|
||||
if(node==NULL) {
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
@ -470,11 +488,12 @@ ex:
|
||||
|
||||
|
||||
/* @param flag bit0= cut_out mode : base on leaf parent directory
|
||||
bit1= do not check and perform hidings
|
||||
*/
|
||||
int Xorriso_copy_implicit_properties(struct XorrisO *xorriso, IsoDir *dir,
|
||||
char *full_img_path, char *img_path, char *full_disk_path, int flag)
|
||||
{
|
||||
int ret, nfic, nic, nfdc, d, i;
|
||||
int ret, nfic, nic, nfdc, d, i, hide_attrs;
|
||||
char nfi[SfileadrL], ni[SfileadrL], nfd[SfileadrL], *cpt;
|
||||
char sfe[5*SfileadrL];
|
||||
struct stat stbuf;
|
||||
@ -516,6 +535,20 @@ int Xorriso_copy_implicit_properties(struct XorrisO *xorriso, IsoDir *dir,
|
||||
" from %s", Text_shellsafe(nfd, sfe, 0));
|
||||
if(!((flag&1) && d==0))
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
|
||||
|
||||
if(!(flag & 2)) {
|
||||
/* Check for mkisofs-style hidings */
|
||||
hide_attrs= 0;
|
||||
ret= Xorriso_path_is_hidden(xorriso, nfd, 0);
|
||||
if(ret<0)
|
||||
return(ret);
|
||||
if(ret>=0) {
|
||||
/* Hide dir */
|
||||
ret= Xorriso_set_hidden(xorriso, (void *) dir, "", ret, 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
}
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
|
||||
@ -558,6 +591,8 @@ int Xorriso_copy_properties(struct XorrisO *xorriso,
|
||||
bit5= if directory then do not add sub tree
|
||||
bit6= do not delete eventually existing node from di_array
|
||||
bit7= no special handling of split file directories
|
||||
bit8= hide in iso_rr
|
||||
bit9= hide in joliet
|
||||
@return <=0 = error , 1 = added simple node , 2 = added directory ,
|
||||
3 = rejected
|
||||
*/
|
||||
@ -571,7 +606,7 @@ int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,
|
||||
IsoDir *dir, *hdir;
|
||||
IsoNode *node;
|
||||
int done= 0, is_dir= 0, l, ret, target_is_dir, source_is_dir, resolve_link= 0;
|
||||
int target_is_split;
|
||||
int target_is_split, hide_attrs;
|
||||
struct stat stbuf;
|
||||
|
||||
ret= Xorriso_path_is_excluded(xorriso, disk_path, !(flag&4));
|
||||
@ -580,6 +615,16 @@ int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,
|
||||
if(ret>0)
|
||||
return(3*!!(flag&16));
|
||||
|
||||
/* Check for mkisofs-style hidings */
|
||||
hide_attrs= (flag >> 8) & 3;
|
||||
if(hide_attrs != 3) {
|
||||
ret= Xorriso_path_is_hidden(xorriso, disk_path, 0);
|
||||
if(ret<0)
|
||||
return(ret);
|
||||
if(ret>=0)
|
||||
hide_attrs|= ret;
|
||||
}
|
||||
|
||||
for(cpt= img_path; 1; cpt++) {
|
||||
cpt= strstr(cpt,"/.");
|
||||
if(cpt==NULL)
|
||||
@ -731,9 +776,10 @@ handle_path_node:;
|
||||
iso_node_set_gid((IsoNode *) dir, getegid());
|
||||
|
||||
if(disk_path!=NULL && !done)
|
||||
/* This not only copies disk directory properties
|
||||
but also sets eventual hide_attrs */
|
||||
Xorriso_copy_implicit_properties(xorriso, dir, img_path, path, disk_path,
|
||||
!!(flag&8));
|
||||
|
||||
}
|
||||
if(done) {
|
||||
attach_source:;
|
||||
@ -759,8 +805,8 @@ attach_source:;
|
||||
disk_path_pt= disk_path;
|
||||
|
||||
ret= Xorriso_tree_graft_node(xorriso, volume, dir, disk_path_pt, apt,
|
||||
disk_path, img_path,
|
||||
offset, cut_size, &node, flag&8);
|
||||
disk_path, img_path, offset, cut_size,
|
||||
&node, (flag&8) | (hide_attrs << 8));
|
||||
if(ret<=0) {
|
||||
sprintf(xorriso->info_text, "Grafting failed: %s = %s",
|
||||
Text_shellsafe(img_path,sfe,0), Text_shellsafe(disk_path,sfe2,0));
|
||||
@ -2649,14 +2695,11 @@ int Xorriso_perform_attr_from_list(struct XorrisO *xorriso, char *path,
|
||||
}
|
||||
value_lengths= calloc(num_attr, sizeof(size_t));
|
||||
if(value_lengths== NULL) {
|
||||
free(names);
|
||||
Xorriso_no_malloc_memory(xorriso, NULL, 0);
|
||||
ret= -1; goto ex;
|
||||
}
|
||||
values= calloc(num_attr, sizeof(char *));
|
||||
if(values== NULL) {
|
||||
free(names);
|
||||
free(value_lengths);
|
||||
Xorriso_no_malloc_memory(xorriso, NULL, 0);
|
||||
ret= -1; goto ex;
|
||||
}
|
||||
|
@ -181,6 +181,10 @@ LIBISOBURN_MISCONFIGURATION_ = 0;
|
||||
xorriso->zlib_level= xorriso->zlib_level_default=
|
||||
zisofs_ctrl.compression_level;
|
||||
}
|
||||
|
||||
/* Second initialization. This time with libs. */
|
||||
Xorriso_preparer_string(xorriso, xorriso->preparer_id, 0);
|
||||
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
if(reason[0]) {
|
||||
sprintf(xorriso->info_text, "%s", reason);
|
||||
@ -486,3 +490,34 @@ int Xorriso_md5_end(struct XorrisO *xorriso, void **ctx, char md5[16],
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/* @param flag bit0= avoid library calls
|
||||
*/
|
||||
int Xorriso_preparer_string(struct XorrisO *xorriso, char xorriso_id[129],
|
||||
int flag)
|
||||
{
|
||||
int major, minor, micro;
|
||||
|
||||
xorriso_id[0]= 0;
|
||||
sprintf(xorriso_id, "XORRISO-%d.%d.%d",
|
||||
Xorriso_header_version_majoR, Xorriso_header_version_minoR,
|
||||
Xorriso_header_version_micrO);
|
||||
if(strlen(xorriso_id) + strlen(Xorriso_timestamP) < 128)
|
||||
strcat(xorriso_id, Xorriso_timestamP);
|
||||
if(flag & 1)
|
||||
return(1);
|
||||
isoburn_version(&major, &minor, µ);
|
||||
if(strlen(xorriso_id) < 100)
|
||||
sprintf(xorriso_id + strlen(xorriso_id),
|
||||
", LIBISOBURN-%d.%d.%d", major, minor, micro);
|
||||
iso_lib_version(&major, &minor, µ);
|
||||
if(strlen(xorriso_id) < 100)
|
||||
sprintf(xorriso_id + strlen(xorriso_id),
|
||||
", LIBISOFS-%d.%d.%d", major, minor, micro);
|
||||
burn_version(&major, &minor, µ);
|
||||
if(strlen(xorriso_id) < 100)
|
||||
sprintf(xorriso_id + strlen(xorriso_id),
|
||||
", LIBBURN-%d.%d.%d", major, minor, micro);
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ create_gnu_xorriso="yes"
|
||||
current_dir=$(pwd)
|
||||
lone_dir="$current_dir"/"xorriso-standalone"
|
||||
|
||||
xorriso_rev=0.5.9
|
||||
xorriso_rev=0.6.2
|
||||
# For unstable uploads and patch level 0 of stable releases:
|
||||
xorriso_pl=""
|
||||
# For higher patch levels of stable releases:
|
||||
|
@ -259,11 +259,14 @@ ex:;
|
||||
int Xorriso_option_application_id(struct XorrisO *xorriso, char *name,
|
||||
int flag)
|
||||
{
|
||||
if(Xorriso_check_name_len(xorriso, name,
|
||||
(int) sizeof(xorriso->application_id),
|
||||
"-application_id", 0) <= 0)
|
||||
return(0);
|
||||
strcpy(xorriso->application_id,name);
|
||||
if(Xorriso_check_name_len(xorriso, name,
|
||||
(int) sizeof(xorriso->application_id),
|
||||
"-application_id", 0) <= 0)
|
||||
return(0);
|
||||
if(strcmp(name, "@xorriso@") == 0)
|
||||
Xorriso_preparer_string(xorriso, xorriso->application_id, 0);
|
||||
else
|
||||
strcpy(xorriso->application_id,name);
|
||||
Xorriso_set_change_pending(xorriso, 1);
|
||||
return(1);
|
||||
}
|
||||
@ -788,6 +791,40 @@ treatment_patch:;
|
||||
} else
|
||||
was_ok= 0;
|
||||
|
||||
} else if(strncmp(treatpt, "partition_offset=", 17)==0) {
|
||||
u= 0;
|
||||
sscanf(treatpt + 17, "%u", &u);
|
||||
if(u > 0 && u < 16) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-boot_image %s partition_offset= : Non-zero number too small (<16).",
|
||||
formpt);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
xorriso->partition_offset= u;
|
||||
|
||||
} else if(strncmp(treatpt, "partition_hd_cyl=", 17)==0) {
|
||||
u= 0;
|
||||
sscanf(treatpt + 17, "%u", &u);
|
||||
if(u > 255) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-boot_image %s partition_hd_cyl= : Number too large (>255).", formpt);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
xorriso->partition_heads_per_cyl= u;
|
||||
|
||||
} else if(strncmp(treatpt, "partition_sec_hd=", 17)==0) {
|
||||
u= 0;
|
||||
sscanf(treatpt + 17, "%u", &u);
|
||||
if(u > 63) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-boot_image %s partition_sec_hd= : Number too large (>63).", formpt);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
xorriso->partition_secs_per_head= u;
|
||||
|
||||
} else if(strncmp(treatpt, "platform_id=", 12)==0) {
|
||||
if(strncmp(treatpt + 12, "0x", 2) == 0)
|
||||
sscanf(treatpt + 14, "%x", &u);
|
||||
@ -802,6 +839,23 @@ treatment_patch:;
|
||||
}
|
||||
xorriso->boot_platform_id= u;
|
||||
|
||||
} else if(strncmp(treatpt, "emul_type=", 10)==0) {
|
||||
if(strcmp(treatpt + 10, "none") == 0 ||
|
||||
strcmp(treatpt + 10, "no_emulation") == 0) {
|
||||
xorriso->boot_image_emul= 0;
|
||||
} else if(strcmp(treatpt + 10, "hard_disk") == 0) {
|
||||
xorriso->boot_image_emul= 1;
|
||||
} else if(strcmp(treatpt + 10, "floppy") == 0 ||
|
||||
strcmp(treatpt + 10, "diskette") == 0) {
|
||||
xorriso->boot_image_emul= 2;
|
||||
} else {
|
||||
sprintf(xorriso->info_text,
|
||||
"-boot_image %s : Unknown media_type : %s",
|
||||
formpt, treatpt + 10);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
|
||||
} else if(strncmp(treatpt, "isohybrid=", 10) == 0 &&
|
||||
strcmp(formpt, "isolinux")==0) {
|
||||
|
||||
|
@ -218,6 +218,22 @@ int Xorriso_option_pkt_output(struct XorrisO *xorriso, char *mode, int flag)
|
||||
}
|
||||
|
||||
|
||||
/* Option -preparer_id */
|
||||
int Xorriso_option_preparer_id(struct XorrisO *xorriso, char *name, int flag)
|
||||
{
|
||||
if(Xorriso_check_name_len(xorriso, name,
|
||||
(int) sizeof(xorriso->preparer_id),
|
||||
"-preparer_id", 0) <= 0)
|
||||
return(0);
|
||||
if(strcmp(name, "@xorriso@") == 0)
|
||||
Xorriso_preparer_string(xorriso, xorriso->preparer_id, 0);
|
||||
else
|
||||
strcpy(xorriso->preparer_id, name);
|
||||
Xorriso_set_change_pending(xorriso, 1);
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/* Option -print */
|
||||
int Xorriso_option_print(struct XorrisO *xorriso, char *text, int flag)
|
||||
{
|
||||
|
@ -465,7 +465,8 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
"list_delimiter","list_profiles","local_charset",
|
||||
"mark","md5","mount_opts","not_leaf","not_list","not_mgt",
|
||||
"options_from_file","osirrox","outdev","out_charset","overwrite",
|
||||
"pacifier","padding","path_list","pathspecs","pkt_output","print","prompt",
|
||||
"pacifier","padding","path_list","pathspecs","pkt_output",
|
||||
"preparer_id","print","prompt",
|
||||
"prog","prog_help","publisher","quoted_not_list","quoted_path_list",
|
||||
"reassure","report_about","rom_toc_scan","scsi_log",
|
||||
"session_log","speed","split_size","status","status_history_max",
|
||||
@ -1114,6 +1115,10 @@ next_command:;
|
||||
(*idx)++;
|
||||
ret= Xorriso_option_pkt_output(xorriso, arg1, 0);
|
||||
|
||||
} else if(strcmp(cmd,"preparer_id")==0) {
|
||||
(*idx)++;
|
||||
ret= Xorriso_option_preparer_id(xorriso, arg1, 0);
|
||||
|
||||
} else if(strcmp(cmd,"print")==0) {
|
||||
(*idx)++;
|
||||
ret= Xorriso_option_print(xorriso, arg1, 0);
|
||||
|
@ -512,7 +512,7 @@ int Xorriso_write_to_channel(struct XorrisO *xorriso,
|
||||
bit15= with bit1 or bit2: close depicted log file
|
||||
*/
|
||||
{
|
||||
char *rpt, *npt, *text;
|
||||
char *rpt, *npt, *text= NULL;
|
||||
int ret= 1, info_redirected= 0, result_redirected= 0;
|
||||
char prefix[16];
|
||||
FILE *logfile_fp, *pktlog_fp;
|
||||
@ -520,11 +520,11 @@ bit15= with bit1 or bit2: close depicted log file
|
||||
static int num_channels= 4;
|
||||
static char channel_prefixes[4][4]= {".","R","I","M"};
|
||||
|
||||
text= in_text; /* might change due to backslash encoding */
|
||||
|
||||
if(channel_no<0 || channel_no>=num_channels)
|
||||
{ret= -1; goto ex;}
|
||||
|
||||
text= in_text; /* might change due to backslash encoding */
|
||||
|
||||
/* Logfiles */
|
||||
logfile_fp= xorriso->logfile_fp[channel_no];
|
||||
pktlog_fp= xorriso->pktlog_fp;
|
||||
@ -1087,7 +1087,7 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
||||
int part_table_implicit= 0;
|
||||
char *line, sfe[5 * SfileadrL + 80], mode[80], *form, *treatment;
|
||||
char *in_pt, *out_pt, *nl_charset, *local_charset, *mode_pt;
|
||||
char *dev_filter= NULL;
|
||||
char *dev_filter= NULL, xorriso_id[129];
|
||||
static char channel_prefixes[4][4]= {".","R","I","M"};
|
||||
static char load_names[][20]= {"auto", "session", "track", "lba", "volid"};
|
||||
static int max_load_mode= 4;
|
||||
@ -1278,7 +1278,25 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
||||
Text_shellsafe(xorriso->system_area_disk_path, sfe, 0));
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
if(xorriso->system_area_disk_path[0] || !part_table_implicit) {
|
||||
|
||||
is_default= (xorriso->partition_offset == 0);
|
||||
sprintf(line,"-boot_image any partition_offset=%lu\n",
|
||||
(unsigned long int) xorriso->partition_offset);
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
is_default= (xorriso->partition_secs_per_head == 0);
|
||||
sprintf(line,"-boot_image any partition_sec_hd=%lu\n",
|
||||
(unsigned long int) xorriso->partition_secs_per_head);
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
is_default= (xorriso->partition_heads_per_cyl == 0);
|
||||
sprintf(line,"-boot_image any partition_hd_cyl=%lu\n",
|
||||
(unsigned long int) xorriso->partition_heads_per_cyl);
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
|
||||
if((xorriso->system_area_disk_path[0] || !part_table_implicit) &&
|
||||
(xorriso->partition_offset == 0 || (xorriso->system_area_options & 2))) {
|
||||
is_default= ((xorriso->system_area_options & 3) == 0);
|
||||
sprintf(line,"-boot_image %s partition_table=%s\n",
|
||||
xorriso->system_area_options & 2 ? "isolinux" : "grub",
|
||||
@ -1382,6 +1400,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
}
|
||||
|
||||
Xorriso_preparer_string(xorriso, xorriso_id, 0);
|
||||
is_default= (strcmp(xorriso->preparer_id, xorriso_id) == 0);
|
||||
sprintf(line,"-preparer_id %s\n",Text_shellsafe(xorriso->preparer_id,sfe,0));
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
|
||||
is_default= (xorriso->publisher[0]==0);
|
||||
sprintf(line,"-publisher %s\n",Text_shellsafe(xorriso->publisher,sfe,0));
|
||||
if(!(is_default && no_defaults))
|
||||
|
@ -213,6 +213,8 @@ int Xorriso_set_system_area(struct XorrisO *xorriso, struct burn_drive *drive,
|
||||
unsigned char *ub;
|
||||
ElToritoBootImage *bootimg;
|
||||
IsoFile *bootimg_node;
|
||||
uint32_t offst;
|
||||
enum burn_disc_status state;
|
||||
|
||||
system_area_options= xorriso->system_area_options;
|
||||
memset(buf, 0, 32768);
|
||||
@ -308,6 +310,27 @@ do_set:;
|
||||
0, "FAILURE", 1);
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
offst= xorriso->partition_offset;
|
||||
state= isoburn_disc_get_status(drive);
|
||||
if(state == BURN_DISC_APPENDABLE) {
|
||||
ret= isoburn_get_img_partition_offset(drive, &offst);
|
||||
if(ret == 1) {
|
||||
sprintf(xorriso->info_text,
|
||||
"Preserving in ISO image: -boot_image any partition_offset=%lu",
|
||||
(unsigned long) offst);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
} else
|
||||
offst= xorriso->partition_offset;
|
||||
}
|
||||
ret= isoburn_igopt_set_part_offset(sopts, offst,
|
||||
xorriso->partition_secs_per_head,
|
||||
xorriso->partition_heads_per_cyl);
|
||||
if(ret != ISO_SUCCESS) {
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
Xorriso_report_iso_error(xorriso, "", ret,
|
||||
"Error when setting partition offset", 0, "FAILURE", 1);
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
ret= 1;
|
||||
ex:;
|
||||
if(fp != NULL && fp != stdin)
|
||||
@ -487,7 +510,7 @@ ex:;
|
||||
int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
{
|
||||
int ret, relax= 0, i, pacifier_speed= 0, data_lba, ext, is_bootable= 0;
|
||||
int major, minor, micro, freshly_bootable= 0, hide_attr;
|
||||
int freshly_bootable= 0, hide_attr;
|
||||
char xorriso_id[256], *img_id, sfe[5*SfileadrL], *out_cs;
|
||||
struct isoburn_imgen_opts *sopts= NULL;
|
||||
struct burn_drive_info *dinfo, *source_dinfo;
|
||||
@ -522,6 +545,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
"on attempt to write", 2);
|
||||
if(ret<=0)
|
||||
return(0);
|
||||
|
||||
if(xorriso->out_drive_handle == xorriso->in_drive_handle) {
|
||||
source_drive= drive;
|
||||
} else {
|
||||
@ -692,22 +716,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
xorriso->scdbackup_tag_time,
|
||||
xorriso->scdbackup_tag_written);
|
||||
if(image!=NULL && 12+strlen(Xorriso_timestamP)<80) {
|
||||
sprintf(xorriso_id, "XORRISO-%d.%d.%d %s",
|
||||
Xorriso_header_version_majoR, Xorriso_header_version_minoR,
|
||||
Xorriso_header_version_micrO, Xorriso_timestamP);
|
||||
isoburn_version(&major, &minor, µ);
|
||||
if(strlen(xorriso_id)<80)
|
||||
sprintf(xorriso_id+strlen(xorriso_id),
|
||||
", LIBISOBURN-%d.%d.%d", major, minor, micro);
|
||||
iso_lib_version(&major, &minor, µ);
|
||||
if(strlen(xorriso_id)<80)
|
||||
sprintf(xorriso_id+strlen(xorriso_id),
|
||||
", LIBISOFS-%d.%d.%d", major, minor, micro);
|
||||
burn_version(&major, &minor, µ);
|
||||
if(strlen(xorriso_id)<80)
|
||||
sprintf(xorriso_id+strlen(xorriso_id),
|
||||
", LIBBURN-%d.%d.%d", major, minor, micro);
|
||||
xorriso_id[128]= 0;
|
||||
strcpy(xorriso_id, xorriso->preparer_id);
|
||||
img_id= (char *) iso_image_get_data_preparer_id(image);
|
||||
if(img_id!=NULL) {
|
||||
for(i= strlen(img_id)-1; i>=0 && img_id[i]==' '; i--);
|
||||
|
@ -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 "Jun 27, 2010"
|
||||
.TH XORRISO 1 "Sep 10, 2010"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -168,6 +168,10 @@ There are two families of media in the MMC standard:
|
||||
unformatted DVD-RW. These media provide a table of content which
|
||||
describes their existing sessions. See option \fB\-toc\fR.
|
||||
.br
|
||||
Similar to multi-session media are DVD-R DL and minimally blanked DVD-RW.
|
||||
They allow only a single session of which the size must be known in advance.
|
||||
xorriso will write onto them only if option -close is set to "on".
|
||||
.br
|
||||
\fBOverwriteable media\fR are DVD-RAM, DVD+RW, BD-RE, and formatted DVD-RW.
|
||||
They allow random write access but do not provide information about their
|
||||
session history. If they contain one or more ISO 9660 sessions and if the
|
||||
@ -241,7 +245,7 @@ The write method of \fBmodifying\fR produces compact filesystem
|
||||
images with no outdated files or directory trees. Modifying can write its
|
||||
images to target media which are completely unsuitable for multi-session
|
||||
operations. E.g. DVD-RW which were treated with -blank deformat_quickest,
|
||||
named pipes, character devices, sockets.
|
||||
DVD-R DL, named pipes, character devices, sockets.
|
||||
On the other hand modified sessions cannot be written to appendable media
|
||||
but to blank media only.
|
||||
.br
|
||||
@ -2043,6 +2047,10 @@ Set the application id string to be written with the next -commit. This may
|
||||
identify the specification of how the data are recorded.
|
||||
Permissible are up to 128 characters. This setting gets overridden by
|
||||
image loading.
|
||||
.br
|
||||
The special text "@xorriso@" gets converted to the id string of xorriso
|
||||
which is normally written as -preparer_id. It is a wrong tradition to write
|
||||
the program id as -application_id.
|
||||
.TP
|
||||
\fB\-system_id\fR text
|
||||
Set the system id string to be written with the next -commit. This may
|
||||
@ -2099,6 +2107,18 @@ records.
|
||||
Permissible are up to 37 characters. This setting gets overridden by
|
||||
image loading.
|
||||
.TP
|
||||
\fB\-preparer_id\fR
|
||||
Set the preparer id string to be written with the next -commit. This may
|
||||
identify the person or other entity which controls the preparation of the data
|
||||
which shall be recorded. Normally this should be the id of xorriso and not
|
||||
of the person or program which operates xorriso. Please avoid to change it.
|
||||
Permissible are up to 128 characters.
|
||||
.br
|
||||
The special text "@xorriso@" gets converted to the id string of xorriso
|
||||
which is default at program startup.
|
||||
.br
|
||||
Unlike other id strings, 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.
|
||||
@ -2289,13 +2309,6 @@ which bundles these individual settings:
|
||||
.br
|
||||
-boot_image any boot_info_table=on
|
||||
.br
|
||||
\fBbin_path=\fR depicts the boot image file, a binary program which is to be
|
||||
started by the hardware boot facility (e.g. the BIOS) at boot time.
|
||||
.br
|
||||
\fBefi_path=\fR depicts a boot image file that is ready for EFI booting.
|
||||
Its load_size is determined automatically, no boot info table gets
|
||||
written, platform_id is 0xef.
|
||||
.br
|
||||
An El Torito boot catalog file gets inserted into the ISO image with address
|
||||
\fBcat_path=\fR at -commit time.
|
||||
It is subject to normal -overwrite and -reassure processing if there is already
|
||||
@ -2305,6 +2318,17 @@ one of the boot images. But it is not necessary that it appears in the
|
||||
directory tree at all. One may hide it in all trees by \fBcat_hidden=on\fR.
|
||||
Other possible values are "iso_rr", "joliet", and the default "off".
|
||||
.br
|
||||
\fBbin_path=\fR depicts a boot image file, a binary program which is to be
|
||||
started by the hardware boot facility (e.g. the BIOS) at boot time.
|
||||
.br
|
||||
\fBefi_path=\fR depicts a boot image file that is ready for EFI booting.
|
||||
Its load_size is determined automatically, no boot info table gets
|
||||
written, no boot media gets emulated, platform_id is 0xef.
|
||||
.br
|
||||
\fBemul_type=\fR can be one of "no_emulation", "hard_disk", "diskette".
|
||||
It controls the boot media emulation code of a boot image.
|
||||
The default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD cdboot.
|
||||
.br
|
||||
\fBload_size=\fR is a value which depends on the boot image.
|
||||
Default 2048 should be overridden only if a better value is known.
|
||||
.br
|
||||
@ -2369,6 +2393,22 @@ then those parameters get updated when the new System Area is written.
|
||||
Special "system_area=/dev/zero" causes 32k of NUL-bytes.
|
||||
Use this to discard an MBR which eventually was loaded with the ISO image.
|
||||
.br
|
||||
\fBpartition_offset=\fR2kb_block_adr causes a partition table with a single
|
||||
partition that begins at the given block address. This is counted in 2048 byte
|
||||
blocks, not in 512 byte blocks. If the block address is non-zero then it must
|
||||
be at least 16. A non-zero partition offset causes two superblocks to be
|
||||
generated and two sets of directory trees. The image is then mountable from its
|
||||
absolute start as well as from the partition start.
|
||||
.br
|
||||
The offset value of an ISO image gets preserved when a new session is added.
|
||||
So the value defined here is only in effect if a new ISO image gets written.
|
||||
.br
|
||||
\fBpartition_sec_hd=\fRnumber gives the number of sectors per head for
|
||||
partition offset. 0 chooses a default value.
|
||||
.br
|
||||
\fBpartition_hd_cyl=\fRnumber gives the number of heads per cylinder for
|
||||
partition offset. 0 chooses a default value.
|
||||
.br
|
||||
.TP
|
||||
.B Character sets:
|
||||
.PP
|
||||
@ -3251,8 +3291,12 @@ of all regular files underneath directory iso_rr_path.
|
||||
Adopted from grub-mkisofs are --protective-msdos-label
|
||||
(see -boot_image grub partition_table=on) and
|
||||
--modification-date=YYYYMMDDhhmmsscc
|
||||
(see -volume_date uuid). For EFI bootable GRUB boot images use --efi-boot.
|
||||
It performs -boot_image grub efi_path= surrounded by two -boot_image any next.
|
||||
(see -volume_date uuid). For EFI bootable GRUB boot images use
|
||||
--efi-boot.
|
||||
It performs -boot_image grub efi_path= surrounded by two
|
||||
-boot_image "any" "next".
|
||||
Alternative option -e from Fedora genisoimage sets bin_path and
|
||||
platform_id for EFI, but performs no "next".
|
||||
.br
|
||||
For MBR bootable ISOLINUX images there is -isohybrid-mbr FILE, where
|
||||
FILE is one of the Syslinux files mbr/isohdp[fp]x*.bin . Use this
|
||||
@ -3260,6 +3304,9 @@ instead of -G to apply the effect of -boot_image isolinux partition_table=on.
|
||||
.br
|
||||
--boot-catalog-hide is -boot_image any cat_hidden=on.
|
||||
.br
|
||||
-partition_offset number is
|
||||
-boot_image any partition_offset=number.
|
||||
.br
|
||||
Personalites "\fBxorrisofs\fR", "\fBgenisoimage\fR",
|
||||
and "\fBgenisofs\fR" are aliases for "mkisofs".
|
||||
.br
|
||||
@ -3315,11 +3362,11 @@ From then on, options are interpreted as xorriso options.
|
||||
.TP
|
||||
\fB\-read_mkisofsrc\fR
|
||||
Try one by one to open for reading:
|
||||
./.mkisofsrc , $MKISOFSRC , $HOME/.mkisofsrc , $(basename $0)/.mkisofs
|
||||
./.mkisofsrc , $MKISOFSRC , $HOME/.mkisofsrc , $(dirname $0)/.mkisofsrc
|
||||
.br
|
||||
On success interpret the file content as of man mkisofs CONFIGURATION,
|
||||
and end this command. Do not try further files.
|
||||
The last address is used only if start argument 0 has a non-trivial basename.
|
||||
The last address is used only if start argument 0 has a non-trivial dirname.
|
||||
.br
|
||||
The reader currently interprets the following NAME=VALUE pairs:
|
||||
APPI (-application_id) , PUBL (-publisher) , SYSI (-system_id) ,
|
||||
|
@ -32,6 +32,11 @@
|
||||
libisoburn.h. One should not mix those calls with the ones of xorriso.h .
|
||||
*/
|
||||
|
||||
/* Important: If you add a public API function then add its name to file
|
||||
libisoburn/libisoburn.ver
|
||||
*/
|
||||
|
||||
|
||||
#ifndef Xorriso_includeD
|
||||
#define Xorriso_includeD yes
|
||||
|
||||
@ -55,8 +60,8 @@ struct XorrisO;
|
||||
@since 0.5.8
|
||||
*/
|
||||
#define Xorriso_header_version_majoR 0
|
||||
#define Xorriso_header_version_minoR 5
|
||||
#define Xorriso_header_version_micrO 9
|
||||
#define Xorriso_header_version_minoR 6
|
||||
#define Xorriso_header_version_micrO 2
|
||||
|
||||
|
||||
/** Eventually something like ".pl01" to indicate a bug fix. Normally empty.
|
||||
@ -110,7 +115,7 @@ void Xorriso__version(int *major, int *minor, int *micro);
|
||||
@param flag Bitfield for control purposes. Unused yet. Submit 0.
|
||||
@return 1= library can work for caller
|
||||
0= library is not usable in some aspects. Caller must restrict
|
||||
itself to an earlier API version or must not use this libray
|
||||
itself to an earlier API version or must not use this library
|
||||
at all.
|
||||
*/
|
||||
int Xorriso__is_compatible(int major, int minor, int micro, int flag);
|
||||
@ -185,7 +190,7 @@ int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
|
||||
functions from the Options API.
|
||||
|
||||
Wenn all desired activities are done, you may check whether there are
|
||||
uncommited chages pending, compute an exit value, destroy the XorrisO
|
||||
uncommited changes pending, compute an exit value, destroy the XorrisO
|
||||
object, and exit your program.
|
||||
*/
|
||||
|
||||
@ -290,8 +295,9 @@ int Xorriso_program_arg_bsl(struct XorrisO *xorriso, int argc, char ***argv,
|
||||
be at least 1, argv[*idx] must be a command.
|
||||
*idx will iterate over commands and parameters until this
|
||||
function aborts or until argc is reached.
|
||||
@param flag bit0= recursion
|
||||
bit1= these are the main() program start arguments
|
||||
@param flag bit0= reserved. Indicates recursion. Submit 0.
|
||||
bit1= Indicates that these are the main() program start
|
||||
arguments
|
||||
@return <=0 = error
|
||||
1 = success
|
||||
2 = problem event ignored
|
||||
@ -348,8 +354,9 @@ int Xorriso_dialog(struct XorrisO *xorriso, int flag);
|
||||
A final newline character gets appended automatically.
|
||||
@param os_errno Eventual errno related to the message. Submit 0 if
|
||||
the message is not related to a operating system error.
|
||||
@param severity One of "ABORT", "FATAL", "SORRY", "WARNING", "HINT",
|
||||
"NOTE", "UPDATE", "DEBUG". Defaults to "FATAL".
|
||||
@param severity One of "ABORT", "FATAL", "FAILURE", "MISHAP", "SORRY",
|
||||
"WARNING", "HINT", "NOTE", "UPDATE", "DEBUG".
|
||||
Defaults to "FATAL".
|
||||
@param flag Bitfield for control purposes
|
||||
bit0= use pager (as with result)
|
||||
bit1= permission to suppress output
|
||||
@ -995,6 +1002,9 @@ int Xorriso_option_pathspecs(struct XorrisO *xorriso, char *mode, int flag);
|
||||
/* Option -pkt_output */
|
||||
int Xorriso_option_pkt_output(struct XorrisO *xorriso, char *mode, int flag);
|
||||
|
||||
/* Option -preparer_id */
|
||||
int Xorriso_option_preparer_id(struct XorrisO *xorriso, char *name, int flag);
|
||||
|
||||
/* Option -print */
|
||||
int Xorriso_option_print(struct XorrisO *xorriso, char *text, int flag);
|
||||
|
||||
@ -1030,10 +1040,6 @@ int Xorriso_option_read_mkisofsrc(struct XorrisO *xorriso, int flag);
|
||||
/* Option -reassure "on"|"tree"|"off" */
|
||||
int Xorriso_option_reassure(struct XorrisO *xorriso, char *mode, int flag);
|
||||
|
||||
/* Option -relax_compliance */
|
||||
int Xorriso_option_relax_compliance(struct XorrisO *xorriso, char *mode,
|
||||
int flag);
|
||||
|
||||
/* Option -report_about */
|
||||
int Xorriso_option_report_about(struct XorrisO *xorriso, char *severity,
|
||||
int flag);
|
||||
@ -1042,9 +1048,6 @@ int Xorriso_option_report_about(struct XorrisO *xorriso, char *severity,
|
||||
int Xorriso_option_return_with(struct XorrisO *xorriso, char *severity,
|
||||
int exit_value, int flag);
|
||||
|
||||
/* Option -revoke_exclusions */
|
||||
int Xorriso_option_revoke_exclusions(struct XorrisO *xorriso, int flag);
|
||||
|
||||
/* Options -rm alias -rmi , -rm_r alias -rm_ri , -rmdir alias -rmdiri */
|
||||
/* @param flag bit0=recursive , bit2= remove empty directory: rmdir */
|
||||
int Xorriso_option_rmi(struct XorrisO *xorriso, int argc, char **argv,
|
||||
|
@ -149,6 +149,10 @@ There are two families of media in the MMC standard:
|
||||
*Multi-session media* are CD-R, CD-RW, DVD-R, DVD+R, DVD+R/DL, BD-R, and
|
||||
unformatted DVD-RW. These media provide a table of content which
|
||||
describes their existing sessions. See option *-toc*.
|
||||
Similar to multi-session media are DVD-R DL and minimally blanked
|
||||
DVD-RW. They allow only a single session of which the size must be
|
||||
known in advance. xorriso will write onto them only if option -close
|
||||
is set to "on".
|
||||
*Overwriteable media* are DVD-RAM, DVD+RW, BD-RE, and formatted DVD-RW.
|
||||
They allow random write access but do not provide information about
|
||||
their session history. If they contain one or more ISO 9660 sessions
|
||||
@ -221,9 +225,9 @@ Growing is achieved by option -dev.
|
||||
with no outdated files or directory trees. Modifying can write its
|
||||
images to target media which are completely unsuitable for multi-session
|
||||
operations. E.g. DVD-RW which were treated with -blank
|
||||
deformat_quickest, named pipes, character devices, sockets. On the
|
||||
other hand modified sessions cannot be written to appendable media but
|
||||
to blank media only.
|
||||
deformat_quickest, DVD-R DL, named pipes, character devices, sockets.
|
||||
On the other hand modified sessions cannot be written to appendable
|
||||
media but to blank media only.
|
||||
So for this method one needs either two optical drives or has to work
|
||||
with filesystem objects as source and/or target media.
|
||||
Modifying takes place if input drive and output drive are not the same
|
||||
@ -1830,6 +1834,9 @@ will be written according to the setting of option -acl.
|
||||
This may identify the specification of how the data are recorded.
|
||||
Permissible are up to 128 characters. This setting gets overridden
|
||||
by image loading.
|
||||
The special text "@xorriso@" gets converted to the id string of
|
||||
xorriso which is normally written as -preparer_id. It is a wrong
|
||||
tradition to write the program id as -application_id.
|
||||
|
||||
-system_id text
|
||||
Set the system id string to be written with the next -commit. This
|
||||
@ -1849,7 +1856,7 @@ will be written according to the setting of option -acl.
|
||||
literally. It must consist of 16 decimal digits which form
|
||||
YYYYMMDDhhmmsscc, with YYYY between 1970 and 2999. Time zone is
|
||||
GMT. It is supposed to match this GRUB line:
|
||||
search -fs-uuid -set YYYY-MM-DD-hh-mm-ss-cc
|
||||
search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc
|
||||
E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
|
||||
Timestrings for the other types may be given as with option
|
||||
-alter_date. They are prone to timezone computations. The
|
||||
@ -1876,6 +1883,18 @@ will be written according to the setting of option -acl.
|
||||
bibliographic records. Permissible are up to 37 characters. This
|
||||
setting gets overridden by image loading.
|
||||
|
||||
-preparer_id
|
||||
Set the preparer id string to be written with the next -commit.
|
||||
This may identify the person or other entity which controls the
|
||||
preparation of the data which shall be recorded. Normally this
|
||||
should be the id of xorriso and not of the person or program which
|
||||
operates xorriso. Please avoid to change it. Permissible are up
|
||||
to 128 characters.
|
||||
The special text "@xorriso@" gets converted to the id string of
|
||||
xorriso which is default at program startup.
|
||||
Unlike other id strings, 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
|
||||
@ -2039,12 +2058,6 @@ of the existing sessions, unless one can assume overwriteable media.
|
||||
-boot_image isolinux cat_path=/boot/isolinux/boot.cat
|
||||
-boot_image isolinux load_size=2048
|
||||
-boot_image any boot_info_table=on
|
||||
*bin_path=* depicts the boot image file, a binary program which is
|
||||
to be started by the hardware boot facility (e.g. the BIOS) at
|
||||
boot time.
|
||||
*efi_path=* depicts a boot image file that is ready for EFI
|
||||
booting. Its load_size is determined automatically, no boot info
|
||||
table gets written, platform_id is 0xef.
|
||||
An El Torito boot catalog file gets inserted into the ISO image
|
||||
with address *cat_path=* at -commit time. It is subject to normal
|
||||
-overwrite and -reassure processing if there is already a file
|
||||
@ -2053,6 +2066,17 @@ of the existing sessions, unless one can assume overwriteable media.
|
||||
not necessary that it appears in the directory tree at all. One
|
||||
may hide it in all trees by *cat_hidden=on*. Other possible
|
||||
values are "iso_rr", "joliet", and the default "off".
|
||||
*bin_path=* depicts a boot image file, a binary program which is
|
||||
to be started by the hardware boot facility (e.g. the BIOS) at
|
||||
boot time.
|
||||
*efi_path=* depicts a boot image file that is ready for EFI
|
||||
booting. Its load_size is determined automatically, no boot info
|
||||
table gets written, no boot media gets emulated, platform_id is
|
||||
0xef.
|
||||
*emul_type=* can be one of "no_emulation", "hard_disk", "diskette".
|
||||
It controls the boot media emulation code of a boot image. The
|
||||
default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD
|
||||
cdboot.
|
||||
*load_size=* is a value which depends on the boot image. Default
|
||||
2048 should be overridden only if a better value is known.
|
||||
*boot_info_table=on* may be used to apply patching to a boot image
|
||||
@ -2105,6 +2129,20 @@ of the existing sessions, unless one can assume overwriteable media.
|
||||
when the new System Area is written.
|
||||
Special "system_area=/dev/zero" causes 32k of NUL-bytes. Use this
|
||||
to discard an MBR which eventually was loaded with the ISO image.
|
||||
*partition_offset=*2kb_block_adr causes a partition table with a
|
||||
single partition that begins at the given block address. This is
|
||||
counted in 2048 byte blocks, not in 512 byte blocks. If the block
|
||||
address is non-zero then it must be at least 16. A non-zero
|
||||
partition offset causes two superblocks to be generated and two
|
||||
sets of directory trees. The image is then mountable from its
|
||||
absolute start as well as from the partition start.
|
||||
The offset value of an ISO image gets preserved when a new session
|
||||
is added. So the value defined here is only in effect if a new
|
||||
ISO image gets written.
|
||||
*partition_sec_hd=*number gives the number of sectors per head for
|
||||
partition offset. 0 chooses a default value.
|
||||
*partition_hd_cyl=*number gives the number of heads per cylinder
|
||||
for partition offset. 0 chooses a default value.
|
||||
|
||||
|
||||
File: xorriso.info, Node: Charset, Next: Exception, Prev: Bootable, Up: Options
|
||||
@ -2905,13 +2943,17 @@ programs trigger comparable actions.
|
||||
Adopted from grub-mkisofs are --protective-msdos-label (see
|
||||
-boot_image grub partition_table=on) and
|
||||
--modification-date=YYYYMMDDhhmmsscc (see -volume_date uuid). For
|
||||
EFI bootable GRUB boot images use -efi-boot. It performs
|
||||
-boot_image grub efi_path= surrounded by two -boot_image any next.
|
||||
EFI bootable GRUB boot images use --efi-boot. It performs
|
||||
-boot_image grub efi_path= surrounded by two -boot_image "any"
|
||||
"next". Alternative option -e from Fedora genisoimage sets
|
||||
bin_path and platform_id for EFI, but performs no "next".
|
||||
For MBR bootable ISOLINUX images there is -isohybrid-mbr FILE,
|
||||
where FILE is one of the Syslinux files mbr/isohdp[fp]x*.bin . Use
|
||||
this instead of -G to apply the effect of -boot_image isolinux
|
||||
partition_table=on.
|
||||
-boot-catalog-hide is -boot_image any cat_hidden=on.
|
||||
--boot-catalog-hide is -boot_image any cat_hidden=on.
|
||||
-partition_offset number is -boot_image any
|
||||
partition_offset=number.
|
||||
Personalites "*xorrisofs*", "*genisoimage*", and "*genisofs*" are
|
||||
aliases for "mkisofs".
|
||||
If xorriso is started with one of the leafnames "xorrisofs",
|
||||
@ -2955,11 +2997,11 @@ programs trigger comparable actions.
|
||||
|
||||
-read_mkisofsrc
|
||||
Try one by one to open for reading: ./.mkisofsrc , $MKISOFSRC ,
|
||||
$HOME/.mkisofsrc , $(basename $0)/.mkisofs
|
||||
$HOME/.mkisofsrc , $(dirname $0)/.mkisofsrc
|
||||
On success interpret the file content as of man mkisofs
|
||||
CONFIGURATION, and end this command. Do not try further files.
|
||||
The last address is used only if start argument 0 has a
|
||||
non-trivial basename.
|
||||
non-trivial dirname.
|
||||
The reader currently interprets the following NAME=VALUE pairs:
|
||||
APPI (-application_id) , PUBL (-publisher) , SYSI (-system_id) ,
|
||||
VOLI (-volid) , VOLS (-volset_id)
|
||||
@ -3711,7 +3753,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
|
||||
* # starts a comment line: Scripting. (line 128)
|
||||
* -abort_on controls abort on error: Exception. (line 27)
|
||||
* -abstract_file sets abstract file name: SetWrite. (line 128)
|
||||
* -abstract_file sets abstract file name: SetWrite. (line 131)
|
||||
* -acl controls handling of ACLs: Loading. (line 123)
|
||||
* -add inserts one or more paths: Insert. (line 42)
|
||||
* -add_plainly inserts one or more paths: Insert. (line 61)
|
||||
@ -3723,7 +3765,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -auto_charset learns character set from image: Loading. (line 80)
|
||||
* -backslash_codes enables backslash conversion: Scripting. (line 45)
|
||||
* -ban_stdio_write demands real drive: Loading. (line 220)
|
||||
* -biblio_file sets biblio file name: SetWrite. (line 135)
|
||||
* -biblio_file sets biblio file name: SetWrite. (line 138)
|
||||
* -blank erases media: Writing. (line 45)
|
||||
* -boot_image controls bootability: Bootable. (line 20)
|
||||
* -calm_drive reduces drive activity: Loading. (line 209)
|
||||
@ -3740,7 +3782,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -chmod_r sets permissions in ISO image: Manip. (line 70)
|
||||
* -chown sets ownership in ISO image: Manip. (line 42)
|
||||
* -chown_r sets ownership in ISO image: Manip. (line 47)
|
||||
* -close controls media closing: SetWrite. (line 218)
|
||||
* -close controls media closing: SetWrite. (line 233)
|
||||
* -close_filter_list bans filter registration: Filter. (line 52)
|
||||
* -commit writes pending ISO image: Writing. (line 13)
|
||||
* -commit_eject writes and ejects: Writing. (line 40)
|
||||
@ -3748,7 +3790,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -compare_l reports ISO/disk differences: Navigate. (line 152)
|
||||
* -compare_r reports ISO/disk differences: Navigate. (line 147)
|
||||
* -compliance controls standard compliance: SetWrite. (line 14)
|
||||
* -copyright_file sets copyright file name: SetWrite. (line 122)
|
||||
* -copyright_file sets copyright file name: SetWrite. (line 125)
|
||||
* -cp_rx copies file trees to disk: Restore. (line 104)
|
||||
* -cpax copies files to disk: Restore. (line 100)
|
||||
* -cpr inserts like with cp -r: Insert. (line 152)
|
||||
@ -3761,11 +3803,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -disk_pattern controls pattern expansion: Insert. (line 31)
|
||||
* -drive_class controls drive accessability: Loading. (line 35)
|
||||
* -du show directory size in ISO image: Navigate. (line 88)
|
||||
* -dummy controls write simulation: SetWrite. (line 207)
|
||||
* -dummy controls write simulation: SetWrite. (line 222)
|
||||
* -dus show directory size in ISO image: Navigate. (line 92)
|
||||
* -dusx show directory size on disk: Navigate. (line 101)
|
||||
* -dux show directory size on disk: Navigate. (line 96)
|
||||
* -dvd_obs set write block size: SetWrite. (line 194)
|
||||
* -dvd_obs set write block size: SetWrite. (line 209)
|
||||
* -eject ejects drive tray: Writing. (line 36)
|
||||
* -end writes pending session and ends program: Scripting. (line 122)
|
||||
* -errfile_log logs problematic disk files: Scripting. (line 84)
|
||||
@ -3782,12 +3824,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 158)
|
||||
* -format formats media: Writing. (line 69)
|
||||
* -fs sets size of fifo: SetWrite. (line 211)
|
||||
* -fs sets size of fifo: SetWrite. (line 226)
|
||||
* -getfacl shows ACL in ISO image: Navigate. (line 69)
|
||||
* -getfacl_r shows ACL in ISO image: Navigate. (line 76)
|
||||
* -getfattr shows xattr in ISO image: Navigate. (line 80)
|
||||
* -getfattr_r shows xattr in ISO image: Navigate. (line 84)
|
||||
* -gid sets global ownership: SetWrite. (line 151)
|
||||
* -gid sets global ownership: SetWrite. (line 166)
|
||||
* -grow_blindly overides next writeable address: AqDrive. (line 44)
|
||||
* -hardlinks controls handling of hard links: Loading. (line 91)
|
||||
* -help prints help text: Scripting. (line 16)
|
||||
@ -3828,16 +3870,17 @@ 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 141)
|
||||
* -out_charset sets output character set: SetWrite. (line 156)
|
||||
* -outdev aquires a drive for output: AqDrive. (line 29)
|
||||
* -overwrite enables overwriting in ISO: SetInsert. (line 127)
|
||||
* -pacifier controls pacifier text form: Emulation. (line 119)
|
||||
* -padding sets amount of image padding: SetWrite. (line 224)
|
||||
* -pacifier controls pacifier text form: Emulation. (line 123)
|
||||
* -padding sets amount of image padding: SetWrite. (line 239)
|
||||
* -page set terminal geometry: DialogCtl. (line 15)
|
||||
* -paste_in copies file into disk file: Restore. (line 117)
|
||||
* -path_list inserts paths from disk file: Insert. (line 75)
|
||||
* -pathspecs sets meaning of = with -add: SetInsert. (line 118)
|
||||
* -pkt_output consolidates text output: Frontend. (line 7)
|
||||
* -preparer_id sets preparer id: SetWrite. (line 144)
|
||||
* -print prints text line: Scripting. (line 77)
|
||||
* -print_size predicts image size: Inquiry. (line 69)
|
||||
* -prog sets program name: Frontend. (line 29)
|
||||
@ -3850,7 +3893,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -quoted_not_list sets exclusions: SetInsert. (line 72)
|
||||
* -quoted_path_list inserts paths from disk file: Insert. (line 80)
|
||||
* -read_mkisofsrc searches and reads .mkisofsrc file: Emulation.
|
||||
(line 107)
|
||||
(line 111)
|
||||
* -reassure enables confirmation question: DialogCtl. (line 28)
|
||||
* -report_about controls verbosity: Exception. (line 55)
|
||||
* -return_with controls exit value: Exception. (line 39)
|
||||
@ -3860,7 +3903,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -rollback discards pending changes: Writing. (line 9)
|
||||
* -rollback_end ends program without writing: Scripting. (line 125)
|
||||
* -rom_toc_scan searches for sessions: Loading. (line 184)
|
||||
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 129)
|
||||
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 133)
|
||||
* -scsi_log reports SCSI commands: Scripting. (line 113)
|
||||
* -session_log logs written sessions: Scripting. (line 104)
|
||||
* -session_string composes session info line: Inquiry. (line 56)
|
||||
@ -3874,17 +3917,17 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -setfattr_r sets xattr in ISO image: Manip. (line 123)
|
||||
* -show_stream shows data source and filters: Navigate. (line 157)
|
||||
* -show_stream_r shows data source and filters: Navigate. (line 172)
|
||||
* -speed set write speed: SetWrite. (line 167)
|
||||
* -speed set write speed: SetWrite. (line 182)
|
||||
* -split_size enables large file splitting: SetInsert. (line 140)
|
||||
* -status shows current settings: Scripting. (line 25)
|
||||
* -status_history_max curbs -status history: Scripting. (line 34)
|
||||
* -stdio_sync controls stdio buffer: SetWrite. (line 201)
|
||||
* -stream_recording controls defect management: SetWrite. (line 182)
|
||||
* -system_id sets system id: SetWrite. (line 96)
|
||||
* -stdio_sync controls stdio buffer: SetWrite. (line 216)
|
||||
* -stream_recording controls defect management: SetWrite. (line 197)
|
||||
* -system_id sets system id: SetWrite. (line 99)
|
||||
* -tell_media_space reports free space: Inquiry. (line 74)
|
||||
* -temp_mem_limit curbs memory consumption: Scripting. (line 70)
|
||||
* -toc shows list of sessions: Inquiry. (line 18)
|
||||
* -uid sets global ownership: SetWrite. (line 147)
|
||||
* -uid sets global ownership: SetWrite. (line 162)
|
||||
* -update inserts path if different: Insert. (line 99)
|
||||
* -update_l inserts paths if different: Insert. (line 121)
|
||||
* -update_r inserts paths if different: Insert. (line 110)
|
||||
@ -3892,9 +3935,9 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -version prints help text: Scripting. (line 19)
|
||||
* -volid sets volume id: SetWrite. (line 60)
|
||||
* -volset_id sets volume set id: SetWrite. (line 79)
|
||||
* -volume_date sets volume timestamp: SetWrite. (line 103)
|
||||
* -volume_date sets volume timestamp: SetWrite. (line 106)
|
||||
* -xattr controls handling of xattr (EA): Loading. (line 131)
|
||||
* -zisofs controls zisofs production: SetWrite. (line 155)
|
||||
* -zisofs controls zisofs production: SetWrite. (line 170)
|
||||
|
||||
|
||||
File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
@ -3912,22 +3955,22 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* ACL, set in ISO image, -setfacl_r: Manip. (line 97)
|
||||
* ACL, show in ISO image, -getfacl: Navigate. (line 69)
|
||||
* ACL, show in ISO image, -getfacl_r: Navigate. (line 76)
|
||||
* Appendable media, _definition: Media. (line 34)
|
||||
* Appendable media, _definition: Media. (line 38)
|
||||
* Backslash Interpretation, _definition: Processing. (line 49)
|
||||
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 163)
|
||||
* Backup, enable features, -for_backup: Loading. (line 158)
|
||||
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 129)
|
||||
* Blank media, _definition: Media. (line 25)
|
||||
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 133)
|
||||
* Blank media, _definition: Media. (line 29)
|
||||
* Blind growing, _definition: Methods. (line 40)
|
||||
* Bootability, control, -boot_image: Bootable. (line 20)
|
||||
* cdrecord, Emulation: Emulation. (line 74)
|
||||
* cdrecord, Emulation: Emulation. (line 78)
|
||||
* Character Set, _definition: Charset. (line 6)
|
||||
* Character Set, for input, -in_charset: Loading. (line 73)
|
||||
* Character Set, for input/output, -charset: Charset. (line 43)
|
||||
* Character Set, for output, -out_charset: SetWrite. (line 141)
|
||||
* Character Set, for output, -out_charset: SetWrite. (line 156)
|
||||
* Character set, learn from image, -auto_charset: Loading. (line 80)
|
||||
* Character Set, of terminal, -local_charset: Charset. (line 47)
|
||||
* Closed media, _definition: Media. (line 39)
|
||||
* Closed media, _definition: Media. (line 43)
|
||||
* Comment, #: Scripting. (line 128)
|
||||
* Create, new ISO image, _definiton: Methods. (line 6)
|
||||
* Delete, from ISO image, -rm: Manip. (line 21)
|
||||
@ -3955,10 +3998,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Drive, write and eject, -commit_eject: Writing. (line 40)
|
||||
* El Torito, _definiton: Extras. (line 19)
|
||||
* Emulation, -as: Emulation. (line 13)
|
||||
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 107)
|
||||
* Emulation, cdrecord, -as: Emulation. (line 74)
|
||||
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 111)
|
||||
* Emulation, cdrecord, -as: Emulation. (line 78)
|
||||
* Emulation, mkisofs, -as: Emulation. (line 16)
|
||||
* Emulation, pacifier form, -pacifier: Emulation. (line 119)
|
||||
* Emulation, pacifier form, -pacifier: Emulation. (line 123)
|
||||
* Examples: Examples. (line 6)
|
||||
* Filter, _definition: Filter. (line 6)
|
||||
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
|
||||
@ -3968,8 +4011,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Filter, show chain, -show_stream: Navigate. (line 157)
|
||||
* Filter, show chains of tree, -show_stream_r: Navigate. (line 172)
|
||||
* Filter, unregister, -unregister_filter: Filter. (line 48)
|
||||
* Filter, zisofs parameters, -zisofs: SetWrite. (line 155)
|
||||
* Group, global in ISO image, -gid: SetWrite. (line 151)
|
||||
* Filter, zisofs parameters, -zisofs: SetWrite. (line 170)
|
||||
* Group, global in ISO image, -gid: SetWrite. (line 166)
|
||||
* Group, in ISO image, -chgrp: Manip. (line 50)
|
||||
* Group, in ISO image, -chgrp_r: Manip. (line 55)
|
||||
* Growing, _definition: Methods. (line 19)
|
||||
@ -3978,15 +4021,16 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Image, _definition: Model. (line 9)
|
||||
* Image, demand volume id, -assert_volid: Loading. (line 65)
|
||||
* Image, discard pending changes, -rollback: Writing. (line 9)
|
||||
* Image, set abstract file name, -abstract_file: SetWrite. (line 128)
|
||||
* Image, set abstract file name, -abstract_file: SetWrite. (line 131)
|
||||
* Image, set application id, -application_id: SetWrite. (line 90)
|
||||
* Image, set biblio file name, -biblio_file: SetWrite. (line 135)
|
||||
* Image, set copyright file name, -copyright_file: SetWrite. (line 122)
|
||||
* Image, set biblio file name, -biblio_file: SetWrite. (line 138)
|
||||
* Image, set copyright file name, -copyright_file: SetWrite. (line 125)
|
||||
* Image, set preparer id, -preparer_id: SetWrite. (line 144)
|
||||
* Image, set publisher id, -publisher: SetWrite. (line 84)
|
||||
* Image, set system id, -system_id: SetWrite. (line 96)
|
||||
* Image, set system id, -system_id: SetWrite. (line 99)
|
||||
* Image, set volume id, -volid: SetWrite. (line 60)
|
||||
* Image, set volume set id, -volset_id: SetWrite. (line 79)
|
||||
* Image, set volume timestamp, -volume_date: SetWrite. (line 103)
|
||||
* Image, set volume timestamp, -volume_date: SetWrite. (line 106)
|
||||
* Image, show id strings, -pvd_info: Inquiry. (line 78)
|
||||
* Insert, enable overwriting, -overwrite: SetInsert. (line 127)
|
||||
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 55)
|
||||
@ -4013,7 +4057,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* iso_rr_path, _definition: Insert. (line 7)
|
||||
* List delimiter, _definiton: Processing. (line 8)
|
||||
* MBR, _definiton: Extras. (line 26)
|
||||
* MBR, set, -boot_image system_area=: Bootable. (line 112)
|
||||
* MBR, set, -boot_image system_area=: Bootable. (line 117)
|
||||
* MD5, control handling, -md5: Loading. (line 136)
|
||||
* Media, erase, -blank: Writing. (line 45)
|
||||
* Media, format, -format: Writing. (line 69)
|
||||
@ -4039,11 +4083,12 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Navigate, tell disk working directory, -pwdx: Navigate. (line 23)
|
||||
* Navigate, tell ISO working directory, -pwd: Navigate. (line 20)
|
||||
* Next writeable address, -grow_blindly: AqDrive. (line 44)
|
||||
* Overwriteable media, _definition: Media. (line 10)
|
||||
* Ownership, global in ISO image, -uid: SetWrite. (line 147)
|
||||
* Overwriteable media, _definition: Media. (line 14)
|
||||
* Ownership, global in ISO image, -uid: SetWrite. (line 162)
|
||||
* Ownership, in ISO image, -chown: Manip. (line 42)
|
||||
* Ownership, in ISO image, -chown_r: Manip. (line 47)
|
||||
* Partition table, _definiton: Bootable. (line 119)
|
||||
* Partition offset, _definiton: Bootable. (line 142)
|
||||
* Partition table, _definiton: Bootable. (line 124)
|
||||
* Pathspec, _definition: SetInsert. (line 120)
|
||||
* Pattern expansion, _definition: Processing. (line 22)
|
||||
* Pattern expansion, for disk paths, -disk_pattern: Insert. (line 31)
|
||||
@ -4094,7 +4139,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Session, mount command line, -mount_cmd: Inquiry. (line 31)
|
||||
* Session, mount parameters, -mount_opts: Inquiry. (line 47)
|
||||
* Session, select as input, -load: Loading. (line 11)
|
||||
* System area, _definiton: Bootable. (line 112)
|
||||
* System area, _definiton: Bootable. (line 117)
|
||||
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 184)
|
||||
* Table-of-content, show, -toc: Inquiry. (line 18)
|
||||
* Timestamps, set in ISO image, -alter_date: Manip. (line 146)
|
||||
@ -4108,22 +4153,22 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Verify, file checksum, -check_md5: Verify. (line 144)
|
||||
* Verify, file tree checksums, -check_md5_r: Verify. (line 160)
|
||||
* Verify, preset -check_media, -check_media_defaults: Verify. (line 40)
|
||||
* Write, block size, -dvd_obs: SetWrite. (line 194)
|
||||
* Write, block size, -dvd_obs: SetWrite. (line 209)
|
||||
* Write, bootability, -boot_image: Bootable. (line 20)
|
||||
* Write, buffer syncing, -stdio_sync: SetWrite. (line 201)
|
||||
* Write, close media, -close: SetWrite. (line 218)
|
||||
* Write, buffer syncing, -stdio_sync: SetWrite. (line 216)
|
||||
* Write, close media, -close: SetWrite. (line 233)
|
||||
* Write, compliance to specs, -compliance: SetWrite. (line 14)
|
||||
* Write, defect management, -stream_recording: SetWrite. (line 182)
|
||||
* Write, defect management, -stream_recording: SetWrite. (line 197)
|
||||
* Write, enable Joliet, -joliet: SetWrite. (line 10)
|
||||
* Write, fifo size, -fs: SetWrite. (line 211)
|
||||
* Write, fifo size, -fs: SetWrite. (line 226)
|
||||
* Write, free space, -tell_media_space: Inquiry. (line 74)
|
||||
* Write, log problematic disk files, -errfile_log: Scripting. (line 84)
|
||||
* Write, log written sessions, -session_log: Scripting. (line 104)
|
||||
* Write, padding image, -padding: SetWrite. (line 224)
|
||||
* Write, padding image, -padding: SetWrite. (line 239)
|
||||
* Write, pending ISO image, -commit: Writing. (line 13)
|
||||
* Write, predict image size, -print_size: Inquiry. (line 69)
|
||||
* Write, set speed, -speed: SetWrite. (line 167)
|
||||
* Write, simulation, -dummy: SetWrite. (line 207)
|
||||
* Write, set speed, -speed: SetWrite. (line 182)
|
||||
* Write, simulation, -dummy: SetWrite. (line 222)
|
||||
* xattr, _definiton: Extras. (line 51)
|
||||
* xattr, control handling, -xattr: Loading. (line 131)
|
||||
* xattr, set in ISO image, -setfattr: Manip. (line 110)
|
||||
@ -4139,53 +4184,53 @@ Node: Top420
|
||||
Node: Overview1324
|
||||
Node: Model3209
|
||||
Node: Media6089
|
||||
Node: Methods8519
|
||||
Node: Drives11066
|
||||
Node: Extras14372
|
||||
Node: Processing17799
|
||||
Node: Dialog21295
|
||||
Node: Options22952
|
||||
Node: AqDrive24520
|
||||
Node: Loading27426
|
||||
Node: Insert39605
|
||||
Node: SetInsert47962
|
||||
Node: Manip56529
|
||||
Node: CmdFind65210
|
||||
Node: Filter75161
|
||||
Node: Writing79510
|
||||
Node: SetWrite85799
|
||||
Node: Bootable96961
|
||||
Node: Charset104913
|
||||
Node: Exception107667
|
||||
Node: DialogCtl112182
|
||||
Node: Inquiry114527
|
||||
Node: Navigate118657
|
||||
Node: Verify126255
|
||||
Node: Restore134675
|
||||
Node: Emulation141331
|
||||
Node: Scripting148929
|
||||
Node: Frontend154491
|
||||
Node: Examples155692
|
||||
Node: ExDevices156861
|
||||
Node: ExCreate157495
|
||||
Node: ExDialog158769
|
||||
Node: ExGrowing160031
|
||||
Node: ExModifying160833
|
||||
Node: ExBootable161334
|
||||
Node: ExCharset161881
|
||||
Node: ExPseudo162709
|
||||
Node: ExCdrecord163603
|
||||
Node: ExMkisofs163918
|
||||
Node: ExGrowisofs164921
|
||||
Node: ExException166045
|
||||
Node: ExTime166499
|
||||
Node: ExIncBackup166958
|
||||
Node: ExRestore170430
|
||||
Node: ExRecovery171399
|
||||
Node: Files171965
|
||||
Node: Seealso173193
|
||||
Node: Legal173717
|
||||
Node: CommandIdx174639
|
||||
Node: ConceptIdx188372
|
||||
Node: Methods8739
|
||||
Node: Drives11295
|
||||
Node: Extras14601
|
||||
Node: Processing18028
|
||||
Node: Dialog21524
|
||||
Node: Options23181
|
||||
Node: AqDrive24749
|
||||
Node: Loading27655
|
||||
Node: Insert39834
|
||||
Node: SetInsert48191
|
||||
Node: Manip56758
|
||||
Node: CmdFind65439
|
||||
Node: Filter75390
|
||||
Node: Writing79739
|
||||
Node: SetWrite86028
|
||||
Node: Bootable97979
|
||||
Node: Charset107071
|
||||
Node: Exception109825
|
||||
Node: DialogCtl114340
|
||||
Node: Inquiry116685
|
||||
Node: Navigate120815
|
||||
Node: Verify128413
|
||||
Node: Restore136833
|
||||
Node: Emulation143489
|
||||
Node: Scripting151292
|
||||
Node: Frontend156854
|
||||
Node: Examples158055
|
||||
Node: ExDevices159224
|
||||
Node: ExCreate159858
|
||||
Node: ExDialog161132
|
||||
Node: ExGrowing162394
|
||||
Node: ExModifying163196
|
||||
Node: ExBootable163697
|
||||
Node: ExCharset164244
|
||||
Node: ExPseudo165072
|
||||
Node: ExCdrecord165966
|
||||
Node: ExMkisofs166281
|
||||
Node: ExGrowisofs167284
|
||||
Node: ExException168408
|
||||
Node: ExTime168862
|
||||
Node: ExIncBackup169321
|
||||
Node: ExRestore172793
|
||||
Node: ExRecovery173762
|
||||
Node: Files174328
|
||||
Node: Seealso175556
|
||||
Node: Legal176080
|
||||
Node: CommandIdx177002
|
||||
Node: ConceptIdx190808
|
||||
|
||||
End Tag Table
|
||||
|
@ -44,7 +44,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 "Jun 27, 2010"
|
||||
@c man .TH XORRISO 1 "Sep 10, 2010"
|
||||
@c man .\" Please adjust this date whenever revising the manpage.
|
||||
@c man .\"
|
||||
@c man .\" Some roff macros, for reference:
|
||||
@ -264,6 +264,10 @@ There are two families of media in the MMC standard:
|
||||
unformatted DVD-RW. These media provide a table of content which
|
||||
describes their existing sessions. See option @strong{-toc}.
|
||||
@*
|
||||
Similar to multi-session media are DVD-R DL and minimally blanked DVD-RW.
|
||||
They allow only a single session of which the size must be known in advance.
|
||||
xorriso will write onto them only if option -close is set to "on".
|
||||
@*
|
||||
@cindex Overwriteable media, _definition
|
||||
@strong{Overwriteable media} are DVD-RAM, DVD+RW, BD-RE, and formatted DVD-RW.
|
||||
They allow random write access but do not provide information about their
|
||||
@ -353,7 +357,7 @@ The write method of @strong{modifying} produces compact filesystem
|
||||
images with no outdated files or directory trees. Modifying can write its
|
||||
images to target media which are completely unsuitable for multi-session
|
||||
operations. E.g. DVD-RW which were treated with -blank deformat_quickest,
|
||||
named pipes, character devices, sockets.
|
||||
DVD-R DL, named pipes, character devices, sockets.
|
||||
On the other hand modified sessions cannot be written to appendable media
|
||||
but to blank media only.
|
||||
@*
|
||||
@ -2461,6 +2465,10 @@ Set the application id string to be written with the next -commit. This may
|
||||
identify the specification of how the data are recorded.
|
||||
Permissible are up to 128 characters. This setting gets overridden by
|
||||
image loading.
|
||||
@*
|
||||
The special text "@@xorriso@@" gets converted to the id string of xorriso
|
||||
which is normally written as -preparer_id. It is a wrong tradition to write
|
||||
the program id as -application_id.
|
||||
@c man .TP
|
||||
@item -system_id text
|
||||
@kindex -system_id sets system id
|
||||
@ -2490,7 +2498,7 @@ It must consist of 16 decimal digits which form YYYYMMDDhhmmsscc, with
|
||||
YYYY between 1970 and 2999. Time zone is GMT.
|
||||
It is supposed to match this GRUB line:
|
||||
@*
|
||||
search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc
|
||||
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).
|
||||
@*
|
||||
@ -2527,6 +2535,20 @@ records.
|
||||
Permissible are up to 37 characters. This setting gets overridden by
|
||||
image loading.
|
||||
@c man .TP
|
||||
@item -preparer_id
|
||||
@kindex -preparer_id sets preparer id
|
||||
@cindex Image, set preparer id, -preparer_id
|
||||
Set the preparer id string to be written with the next -commit. This may
|
||||
identify the person or other entity which controls the preparation of the data
|
||||
which shall be recorded. Normally this should be the id of xorriso and not
|
||||
of the person or program which operates xorriso. Please avoid to change it.
|
||||
Permissible are up to 128 characters.
|
||||
@*
|
||||
The special text "@@xorriso@@" gets converted to the id string of xorriso
|
||||
which is default at program startup.
|
||||
@*
|
||||
Unlike other id strings, 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
|
||||
@ -2752,13 +2774,6 @@ which bundles these individual settings:
|
||||
@*
|
||||
-boot_image any boot_info_table=on
|
||||
@*
|
||||
@strong{bin_path=} depicts the boot image file, a binary program which is to be
|
||||
started by the hardware boot facility (e.g. the BIOS) at boot time.
|
||||
@*
|
||||
@strong{efi_path=} depicts a boot image file that is ready for EFI booting.
|
||||
Its load_size is determined automatically, no boot info table gets
|
||||
written, platform_id is 0xef.
|
||||
@*
|
||||
An El Torito boot catalog file gets inserted into the ISO image with address
|
||||
@strong{cat_path=} at -commit time.
|
||||
It is subject to normal -overwrite and -reassure processing if there is already
|
||||
@ -2768,6 +2783,17 @@ one of the boot images. But it is not necessary that it appears in the
|
||||
directory tree at all. One may hide it in all trees by @strong{cat_hidden=on}.
|
||||
Other possible values are "iso_rr", "joliet", and the default "off".
|
||||
@*
|
||||
@strong{bin_path=} depicts a boot image file, a binary program which is to be
|
||||
started by the hardware boot facility (e.g. the BIOS) at boot time.
|
||||
@*
|
||||
@strong{efi_path=} depicts a boot image file that is ready for EFI booting.
|
||||
Its load_size is determined automatically, no boot info table gets
|
||||
written, no boot media gets emulated, platform_id is 0xef.
|
||||
@*
|
||||
@strong{emul_type=} can be one of "no_emulation", "hard_disk", "diskette".
|
||||
It controls the boot media emulation code of a boot image.
|
||||
The default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD cdboot.
|
||||
@*
|
||||
@strong{load_size=} is a value which depends on the boot image.
|
||||
Default 2048 should be overridden only if a better value is known.
|
||||
@*
|
||||
@ -2835,6 +2861,23 @@ then those parameters get updated when the new System Area is written.
|
||||
Special "system_area=/dev/zero" causes 32k of NUL-bytes.
|
||||
Use this to discard an MBR which eventually was loaded with the ISO image.
|
||||
@*
|
||||
@cindex Partition offset, _definiton
|
||||
@strong{partition_offset=}2kb_block_adr causes a partition table with a single
|
||||
partition that begins at the given block address. This is counted in 2048 byte
|
||||
blocks, not in 512 byte blocks. If the block address is non-zero then it must
|
||||
be at least 16. A non-zero partition offset causes two superblocks to be
|
||||
generated and two sets of directory trees. The image is then mountable from its
|
||||
absolute start as well as from the partition start.
|
||||
@*
|
||||
The offset value of an ISO image gets preserved when a new session is added.
|
||||
So the value defined here is only in effect if a new ISO image gets written.
|
||||
@*
|
||||
@strong{partition_sec_hd=}number gives the number of sectors per head for
|
||||
partition offset. 0 chooses a default value.
|
||||
@*
|
||||
@strong{partition_hd_cyl=}number gives the number of heads per cylinder for
|
||||
partition offset. 0 chooses a default value.
|
||||
@*
|
||||
@end table
|
||||
@c man .TP
|
||||
@c man .B Character sets:
|
||||
@ -3885,14 +3928,21 @@ of all regular files underneath directory iso_rr_path.
|
||||
Adopted from grub-mkisofs are @minus{}@minus{}protective-msdos-label
|
||||
(see -boot_image grub partition_table=on) and
|
||||
@minus{}@minus{}modification-date=YYYYMMDDhhmmsscc
|
||||
(see -volume_date uuid). For EFI bootable GRUB boot images use --efi-boot.
|
||||
It performs -boot_image grub efi_path= surrounded by two -boot_image any next.
|
||||
(see -volume_date uuid). For EFI bootable GRUB boot images use
|
||||
@minus{}@minus{}efi-boot.
|
||||
It performs @minus{}boot_image grub efi_path= surrounded by two
|
||||
@minus{}boot_image "any" "next".
|
||||
Alternative option @minus{}e from Fedora genisoimage sets bin_path and
|
||||
platform_id for EFI, but performs no "next".
|
||||
@*
|
||||
For MBR bootable ISOLINUX images there is -isohybrid-mbr FILE, where
|
||||
FILE is one of the Syslinux files mbr/isohdp[fp]x*.bin . Use this
|
||||
instead of -G to apply the effect of -boot_image isolinux partition_table=on.
|
||||
@*
|
||||
--boot-catalog-hide is -boot_image any cat_hidden=on.
|
||||
@minus{}@minus{}boot-catalog-hide is -boot_image any cat_hidden=on.
|
||||
@*
|
||||
@minus{}partition_offset number is
|
||||
@minus{}boot_image any partition_offset=number.
|
||||
@*
|
||||
Personalites "@strong{xorrisofs}", "@strong{genisoimage}",
|
||||
and "@strong{genisofs}" are aliases for "mkisofs".
|
||||
@ -3954,11 +4004,11 @@ From then on, options are interpreted as xorriso options.
|
||||
@kindex -read_mkisofsrc searches and reads .mkisofsrc file
|
||||
@cindex Emulation, .mkisofsrc, -read_mkisofsrc
|
||||
Try one by one to open for reading:
|
||||
./.mkisofsrc , $MKISOFSRC , $HOME/.mkisofsrc , $(basename $0)/.mkisofs
|
||||
./.mkisofsrc , $MKISOFSRC , $HOME/.mkisofsrc , $(dirname $0)/.mkisofsrc
|
||||
@*
|
||||
On success interpret the file content as of man mkisofs CONFIGURATION,
|
||||
and end this command. Do not try further files.
|
||||
The last address is used only if start argument 0 has a non-trivial basename.
|
||||
The last address is used only if start argument 0 has a non-trivial dirname.
|
||||
@*
|
||||
The reader currently interprets the following NAME=VALUE pairs:
|
||||
APPI (-application_id) , PUBL (-publisher) , SYSI (-system_id) ,
|
||||
|
@ -15,8 +15,8 @@
|
||||
<P>
|
||||
<H1>GNU xorriso</H1>
|
||||
|
||||
<H2>ISO 9660 Rock Ridge Filesystem Manipulator for GNU/Linux, FreeBSD, Solaris
|
||||
</H2>
|
||||
<H2>ISO 9660 Rock Ridge Filesystem Manipulator<BR>
|
||||
for GNU/Linux, FreeBSD, Solaris</H2>
|
||||
</P>
|
||||
</CENTER>
|
||||
|
||||
@ -59,7 +59,7 @@ Images or add-on sessions may be written to about any kind of file object.
|
||||
<DD>With kernel 2.6 ide-scsi is not needed.</DD>
|
||||
<DT>or FreeBSD, libc, libpthread :</DT>
|
||||
<DD>PATA/IDE drives need atapicam running.</DD>
|
||||
<DD>SATA drives need atapicam or ahci running.</DD>
|
||||
<DD>SATA drives need atapicam running or need to be driven by ahci.</DD>
|
||||
<DD>libcam has to be installed.</DD>
|
||||
<DD>libiconv has to be installed.</DD>
|
||||
<DT>or Solaris, libc, libpthread :</DT>
|
||||
@ -142,7 +142,8 @@ Scans for optical drives, blanks re-useable optical media, formats media.
|
||||
</LI>
|
||||
<LI>
|
||||
Suitable for:
|
||||
CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R DL, DVD+RW, DVD-RAM, BD-R, BD-RE.
|
||||
CD-R, CD-RW, DVD-R, DVD-R DL, DVD-RW, DVD+R, DVD+R DL, DVD+RW, DVD-RAM,
|
||||
BD-R, BD-RE.
|
||||
</LI>
|
||||
<LI>
|
||||
Reads its instructions from command line arguments, dialog, and batch files.
|
||||
@ -439,19 +440,19 @@ files or trees to disk:
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Download as source code (see README):</H3></DT>
|
||||
<DD><A HREF="xorriso-0.5.8.tar.gz">xorriso-0.5.8.tar.gz</A>
|
||||
(1640 KB).
|
||||
<DD><A HREF="xorriso-0.6.2.tar.gz">xorriso-0.6.2.tar.gz</A>
|
||||
(1670 KB).
|
||||
</DD>
|
||||
<DD>(Released 13 Jun 2010)</DD>
|
||||
<DD><A HREF="xorriso-0.5.8.tar.gz.sig">xorriso-0.5.8.tar.gz.sig</A></DD>
|
||||
<DD>(Released 18 Sep 2010)</DD>
|
||||
<DD><A HREF="xorriso-0.6.2.tar.gz.sig">xorriso-0.6.2.tar.gz.sig</A></DD>
|
||||
<DD>
|
||||
(detached GPG signature for verification by
|
||||
<KBD>gpg --verify xorriso-0.5.8.tar.gz.sig xorriso-0.5.8.tar.gz</KBD>).
|
||||
<KBD>gpg --verify xorriso-0.6.2.tar.gz.sig xorriso-0.6.2.tar.gz</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-0.5.8.tar.gz
|
||||
as xorriso/xorriso-0.6.2.tar.gz
|
||||
</DD>
|
||||
</DL>
|
||||
</DD>
|
||||
@ -479,18 +480,9 @@ as xorriso/xorriso-0.5.8.tar.gz
|
||||
<HR>
|
||||
|
||||
<P>
|
||||
Bug fixes towards xorriso-0.5.6:
|
||||
Bug fixes towards xorriso-0.6.0:
|
||||
<UL>
|
||||
<LI>
|
||||
CD TOC was not read if the first track did not start at LBA 0
|
||||
</LI>
|
||||
<LI>
|
||||
CD-ROM media got attributed random lead-in and lead-out adresses
|
||||
</LI>
|
||||
<LI>
|
||||
SIGSEGV of experimental libcdio system adapter if drive list is empty
|
||||
</LI>
|
||||
|
||||
<LI>Regression with -hardlinks and -compliance old_rr, 0.4.2, Aug 2009</LI>
|
||||
<!--
|
||||
<LI>- none -</LI>
|
||||
-->
|
||||
@ -508,12 +500,35 @@ Bug fixes in .pl01 towards xorriso-:
|
||||
-->
|
||||
|
||||
<P>
|
||||
Enhancements towards previous stable version xorriso-0.5.6:
|
||||
Enhancements towards previous stable version xorriso-0.6.0:
|
||||
<UL>
|
||||
<LI>A new system adapter allows to burn CD, DVD and BD on OpenSolaris</LI>
|
||||
<LI>New -compliance rule no_emul_toc, new -as mkisofs --no-emul-toc</LI>
|
||||
<LI>Implemented -as cdrecord -V</LI>
|
||||
<LI>Implemented -as mkisofs options -U, -N, -l, -d, -allow-lowercase</LI>
|
||||
|
||||
<LI>
|
||||
New option -preparer_id, -as mkisofs options -p and -preparer
|
||||
</LI>
|
||||
<LI>
|
||||
New -boot_image specifier emul_type=none|hard_disk|floppy
|
||||
</LI>
|
||||
<LI>
|
||||
New boot_image boot specs partition_offset, partition_hd_cyl, partition_sec_hd
|
||||
</LI>
|
||||
<LI>
|
||||
Made behavior of -as mkisofs with unknown options more similar to original
|
||||
</LI>
|
||||
<LI>
|
||||
New -as mkisofs option -hard-disk-boot, enabled -b without -no-emul-boot
|
||||
</LI>
|
||||
<LI>
|
||||
New -as mkisofs option -e from Fedora genisoimage
|
||||
</LI>
|
||||
<LI>
|
||||
New -as mkisofs options -partition_offset,-partition_hd_cyl,-partition_sec_hd
|
||||
</LI>
|
||||
<LI>
|
||||
DVD-R DL are supported as single-session media.
|
||||
I.e. only with option -close "on".
|
||||
</LI>
|
||||
|
||||
<!--
|
||||
<LI>- none -</LI>
|
||||
-->
|
||||
@ -536,18 +551,20 @@ libburnia project and the legal intentions of
|
||||
<A HREF="http://www.fsf.org/"> FSF </A> match completely.
|
||||
</DT>
|
||||
<DD> </DD>
|
||||
<DT>libburn-0.8.3</DT>
|
||||
<DT>libburn-0.8.7</DT>
|
||||
<DD>reads and writes data from and to CD, DVD, BD.</DD>
|
||||
<DD>(founded by Derek Foreman and Ben Jansens,
|
||||
developed and maintained since August 2006 by
|
||||
Thomas Schmitt from team of libburnia-project.org)</DD>
|
||||
<DT>libisofs-0.6.33</DT>
|
||||
<DT>libisofs-0.6.37</DT>
|
||||
<DD>operates on ISO 9660 filesystem images.</DD>
|
||||
<DD>(By Vreixo Formoso, Mario Danic and Thomas Schmitt
|
||||
from team of libburnia-project.org)</DD>
|
||||
<DT>libisoburn-0.5.8</DT>
|
||||
<DT>libisoburn-0.6.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
|
||||
a C language API.</DD>
|
||||
<DD>(By Vreixo Formoso and Thomas Schmitt
|
||||
from team of libburnia-project.org)</DD>
|
||||
<DD> </DD>
|
||||
@ -560,8 +577,8 @@ cdrecord and mkisofs.</DT>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Development snapshot, version 0.5.9 :</H3></DT>
|
||||
<DD>Bug fixes towards xorriso-0.5.8:
|
||||
<DT><H3>Development snapshot, version 0.6.3 :</H3></DT>
|
||||
<DD>Bug fixes towards xorriso-0.6.2:
|
||||
<UL>
|
||||
<LI>- none yet -</LI>
|
||||
<!--
|
||||
@ -569,7 +586,7 @@ cdrecord and mkisofs.</DT>
|
||||
-->
|
||||
</UL>
|
||||
</DD>
|
||||
<DD>Enhancements towards stable version 0.5.8:
|
||||
<DD>Enhancements towards stable version 0.6.2:
|
||||
<UL>
|
||||
<LI>- none yet -</LI>
|
||||
<!--
|
||||
@ -578,9 +595,9 @@ cdrecord and mkisofs.</DT>
|
||||
</UL>
|
||||
</DD>
|
||||
<DD> </DD>
|
||||
<DD><A HREF="README_xorriso_devel">README 0.5.9</A>
|
||||
<DD><A HREF="xorriso_help_devel">xorriso_0.5.9 -help</A></DD>
|
||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.5.9)</A></DD>
|
||||
<DD><A HREF="README_xorriso_devel">README 0.6.3</A>
|
||||
<DD><A HREF="xorriso_help_devel">xorriso_0.6.3 -help</A></DD>
|
||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.6.3)</A></DD>
|
||||
<DD> </DD>
|
||||
<DT>If you want to distribute development versions of xorriso, then use
|
||||
this tarball which produces static linking between xorriso and the
|
||||
@ -590,8 +607,8 @@ libburnia libraries.
|
||||
installation see README)
|
||||
</DD>
|
||||
<DD>
|
||||
<A HREF="xorriso-0.5.9.tar.gz">xorriso-0.5.9.tar.gz</A>
|
||||
(1630 KB).
|
||||
<A HREF="xorriso-0.6.3.tar.gz">xorriso-0.6.3.tar.gz</A>
|
||||
(1670 KB).
|
||||
</DD>
|
||||
<DT>A dynamically linked development version of xorriso can be obtained
|
||||
from repositories of
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
xorriso is the higher level API of libisoburn which allows to operate all
|
||||
three libraries by a unified set of commands.
|
||||
xorriso.h exposes the public functions.
|
||||
<libisoburn/xorriso.h> exposes the public functions.
|
||||
Among these functions are direct equivalents of the xorriso interpreter
|
||||
commands. There are also functions for fundamental management and for
|
||||
handling event messages.
|
||||
@ -40,6 +40,12 @@
|
||||
One should not mix the use of the xorriso API with the use of the lower
|
||||
level APIs of libburn, libisofs, libisoburn.
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
The following overview is relevant for development but not for usage of
|
||||
xorriso. An application programmer should read xorriso.h and man xorriso
|
||||
resp. info xorriso, rather than diving into its source code.
|
||||
For examples see the functions main() and check_compatibility() below.
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
The xorriso source is divided in two groups:
|
||||
|
||||
@ -104,8 +110,8 @@
|
||||
version of xorriso.
|
||||
*/
|
||||
#define Xorriso_req_majoR 0
|
||||
#define Xorriso_req_minoR 5
|
||||
#define Xorriso_req_micrO 8
|
||||
#define Xorriso_req_minoR 6
|
||||
#define Xorriso_req_micrO 2
|
||||
|
||||
|
||||
static void yell_xorriso()
|
||||
|
@ -19,6 +19,10 @@
|
||||
#define Xorriso_private_includeD yes
|
||||
|
||||
|
||||
/* for uint32_t */
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
/** The source code release timestamp */
|
||||
#include "xorriso_timestamp.h"
|
||||
#ifndef Xorriso_timestamP
|
||||
@ -169,6 +173,8 @@ struct XorrisO { /* the global context of xorriso */
|
||||
char assert_volid[SfileadrL];
|
||||
char assert_volid_sev[80];
|
||||
|
||||
char preparer_id[129];
|
||||
|
||||
char publisher[129];
|
||||
char application_id[129];
|
||||
char system_id[33];
|
||||
@ -277,8 +283,8 @@ struct XorrisO { /* the global context of xorriso */
|
||||
int boot_platform_id;
|
||||
int patch_isolinux_image; /* bit0= boot-info-table , bit1= not with EFI */
|
||||
int boot_image_emul; /* 0=no emulation
|
||||
(1=emulation as hard disk)
|
||||
(2=emulation as floppy)
|
||||
1=emulation as hard disk
|
||||
2=emulation as floppy
|
||||
*/
|
||||
off_t boot_image_load_size;
|
||||
unsigned char boot_id_string[29];
|
||||
@ -300,6 +306,17 @@ struct XorrisO { /* the global context of xorriso */
|
||||
area of the image, if no
|
||||
system_area_disk_path is set.
|
||||
*/
|
||||
|
||||
/* The number of unclaimed 2K blocks before start of partition 1 as of
|
||||
the MBR in system area.
|
||||
If not 0 this will cause double volume descriptor sets and double tree.
|
||||
*/
|
||||
uint32_t partition_offset;
|
||||
/* Partition table parameter: 1 to 63, 0= disabled/default */
|
||||
int partition_secs_per_head;
|
||||
/* 1 to 255, 0= disabled/default */
|
||||
int partition_heads_per_cyl;
|
||||
|
||||
/* User settable PVD time stamps */
|
||||
time_t vol_creation_time;
|
||||
time_t vol_modification_time;
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2010.06.30.181908"
|
||||
#define Xorriso_timestamP "2010.09.18.210001"
|
||||
|
@ -18,8 +18,8 @@
|
||||
/* The minimum version of libisoburn to be used with this version of xorriso
|
||||
*/
|
||||
#define xorriso_libisoburn_req_major 0
|
||||
#define xorriso_libisoburn_req_minor 5
|
||||
#define xorriso_libisoburn_req_micro 8
|
||||
#define xorriso_libisoburn_req_minor 6
|
||||
#define xorriso_libisoburn_req_micro 2
|
||||
|
||||
|
||||
struct SpotlisT; /* List of intervals with different read qualities */
|
||||
@ -534,5 +534,11 @@ int Xorriso_set_system_area_path(struct XorrisO *xorriso, char *path,
|
||||
int Xorriso_set_hidden(struct XorrisO *xorriso, void *in_node, char *path,
|
||||
int hide_state, int flag);
|
||||
|
||||
|
||||
/* @param flag bit0= avoid library calls
|
||||
*/
|
||||
int Xorriso_preparer_string(struct XorrisO *xorriso, char xorriso_id[129],
|
||||
int flag);
|
||||
|
||||
#endif /* Xorrisoburn_includeD */
|
||||
|
||||
|
Reference in New Issue
Block a user