From 692a6753297f189bb1125a54d629f9122a4d3391 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 30 Nov 2010 09:43:32 +0000 Subject: [PATCH] New option -displacement --- ChangeLog | 2 + libisoburn/libisoburn.ver | 1 + xorriso/base_obj.c | 2 + xorriso/drive_mgt.c | 2 + xorriso/opts_d_h.c | 35 +++++++++ xorriso/parse_exec.c | 7 +- xorriso/text_io.c | 7 ++ xorriso/xorriso.1 | 20 ++++- xorriso/xorriso.h | 4 + xorriso/xorriso.info | 153 ++++++++++++++++++++---------------- xorriso/xorriso.texi | 22 +++++- xorriso/xorriso_private.h | 3 + xorriso/xorriso_timestamp.h | 2 +- 13 files changed, 186 insertions(+), 74 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0a859d9e..6f3c26f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,11 +2,13 @@ SVN trunk (to become libisoburn-0.6.6.pl00.tar.gz) =============================================================================== libisoburn novelties: * New API calls isoburn_igopt_set_disc_label(), isoburn_igopt_get_disc_label() +* New API calls isoburn_ropt_set_displacement(), isoburn_ropt_get_displacement() xorriso novelties: * Bug fix: -as mkisofs -print-size printed the size but also produced ISO image * Build problem fix on Linux 2.4 in GNU xorriso libjte/checksum.c * New -as mkisofs option -joliet-long * New bootspec sparc_label=, new -as mkisofs options -sparc-boot , -sparc-label +* New option -displacement libisoburn-0.6.4.pl00.tar.gz Tue Oct 26 2010 =============================================================================== diff --git a/libisoburn/libisoburn.ver b/libisoburn/libisoburn.ver index c2a60c90..d89356a7 100644 --- a/libisoburn/libisoburn.ver +++ b/libisoburn/libisoburn.ver @@ -153,6 +153,7 @@ Xorriso_option_devices; Xorriso_option_dialog; Xorriso_option_disk_dev_ino; Xorriso_option_disk_pattern; +Xorriso_option_displacement; Xorriso_option_drive_class; Xorriso_option_dummy; Xorriso_option_dvd_obs; diff --git a/xorriso/base_obj.c b/xorriso/base_obj.c index d0d46e68..38a9c4f2 100644 --- a/xorriso/base_obj.c +++ b/xorriso/base_obj.c @@ -169,6 +169,8 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag) m->toc_emulation_flag= 0; m->image_start_mode= 0; m->image_start_value[0]= 0; + m->displacement= 0; + m->displacement_sign= 0; m->drives_exclusive= 1; m->do_calm_drive= 1; m->indev[0]= 0; diff --git a/xorriso/drive_mgt.c b/xorriso/drive_mgt.c index 5cc3844d..f8f1b690 100644 --- a/xorriso/drive_mgt.c +++ b/xorriso/drive_mgt.c @@ -379,6 +379,8 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag) isoburn_ropt_set_default_perms(ropts, (uid_t) 0, (gid_t) 0, (mode_t) 0555); isoburn_ropt_set_input_charset(ropts, xorriso->in_charset); isoburn_ropt_set_auto_incharset(ropts, !!(xorriso->do_aaip & 512)); + isoburn_ropt_set_displacement(ropts, xorriso->displacement, + xorriso->displacement_sign); Xorriso_set_image_severities(xorriso, 1); /* No DEBUG messages */ Xorriso_pacifier_reset(xorriso, 0); diff --git a/xorriso/opts_d_h.c b/xorriso/opts_d_h.c index c6e2af53..babb1c40 100644 --- a/xorriso/opts_d_h.c +++ b/xorriso/opts_d_h.c @@ -199,6 +199,37 @@ int Xorriso_option_disk_pattern(struct XorrisO *xorriso, char *mode, int flag) } +/* Option -displacement [-]offset */ +int Xorriso_option_displacement(struct XorrisO *xorriso, char *value, int flag) +{ + double num; + int displacement_sign= 1, l; + char *cpt; + + cpt= value; + if(value[0] == '-') { + displacement_sign= -1; + cpt++; + } else if(value[0] == '+') + cpt++; + num= Scanf_io_size(cpt, 0); + l= strlen(cpt); + if(cpt[l - 1] < '0' || cpt[l - 1] > '9') + num/= 2048.0; + if(num < 0.0 || num > 4294967295.0) { + sprintf(xorriso->info_text, + "-displacement: too large or too small: '%s'", value); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); + return(0); + } + if(num == 0) + displacement_sign= 0; + xorriso->displacement= num; + xorriso->displacement_sign= displacement_sign; + return(1); +} + + /* Option -drive_class */ int Xorriso_option_drive_class(struct XorrisO *xorriso, char *d_class, char *pattern, int flag) @@ -1315,6 +1346,10 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " -load \"session\"|\"track\"|\"lba\"|\"sbsector\"|\"volid\"|\"auto\" id", " Load a particular (outdated) ISO image from a -dev or", " -indev which hosts more than one session.", +" -displacement [-]lba", +" When loading ISO tree or reading data files compensate a", +" displacement versus the start address for which the image", +" was prepared.", " -rom_toc_scan \"on\"|\"force\"|\"off\"[:\"emul_on\"|\"emul_off\"]", " Enable scanning for ISO sessions on read-only drives/media", " resp. on overwriteable media with emulated TOC.", diff --git a/xorriso/parse_exec.c b/xorriso/parse_exec.c index 29c067a0..848396d8 100644 --- a/xorriso/parse_exec.c +++ b/xorriso/parse_exec.c @@ -459,7 +459,8 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv, "backslash_codes","blank","biblio_file", "calm_drive","cd","cdi","cdx","charset","close", "commit_eject","compliance","copyright_file", - "dev","dialog","disk_dev_ino","disk_pattern","dummy","dvd_obs","eject", + "dev","dialog","disk_dev_ino","disk_pattern","displacement", + "dummy","dvd_obs","eject", "iso_rr_pattern","follow","format","fs","gid","grow_blindly","hardlinks", "history","indev","in_charset","joliet", "list_delimiter","list_profiles","local_charset", @@ -817,6 +818,10 @@ next_command:; (*idx)++; ret= Xorriso_option_disk_dev_ino(xorriso, arg1, 0); + } else if(strcmp(cmd,"displacement")==0) { + (*idx)++; + ret= Xorriso_option_displacement(xorriso, arg1, 0); + } else if(strcmp(cmd,"disk_pattern")==0) { (*idx)++; ret= Xorriso_option_disk_pattern(xorriso, arg1, 0); diff --git a/xorriso/text_io.c b/xorriso/text_io.c index c5e8382f..1a6600c7 100644 --- a/xorriso/text_io.c +++ b/xorriso/text_io.c @@ -1690,6 +1690,13 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag) if(!(is_default && no_defaults)) Xorriso_status_result(xorriso, filter, fp, flag & 2); + is_default= (xorriso->displacement == 0); + sprintf(line, "-displacement %s%lu\n", + xorriso->displacement_sign < 0 ? "-" : "", + (unsigned long) xorriso->displacement); + if(!(is_default && no_defaults)) + Xorriso_status_result(xorriso, filter, fp, flag & 2); + adr_mode= xorriso->image_start_mode & 0xffff; if(adr_mode>=0 && adr_mode<=max_load_mode) { is_default= (adr_mode==0); diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index b1e0d5a9..efbb1fca 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -641,6 +641,22 @@ until the next -dev or -indev. After the image has been loaded once, the setting is valid for -rollback until next -dev or -indev, where it will be reset to "auto". .TP +\fB\-displacement\fR [-]lba +Compensate an eventual displacement of the image versus the start address +for which the image was prepared. This affects only loading of ISO images +and reading of their files. +Examples: +.br +If a track of a CD starts at block 123456 and gets copied to a disk file +where it begins at block 0, then this copy can be loaded with +-displacement -123456. +.br +If an ISO image was written onto a partition with offset of 640000 blocks of +512 bytes, then it can be loaded from the base device by -displacement 160000. +.br +In both cases, the ISO sessions should be self contained, i.e. not add-on +sessions to an ISO image outside their track resp. partition. +.TP \fB\-drive_class\fR "harmless"|"banned"|"caution"|"clear_list" disk_pattern Add a drive path pattern to one of the safety lists or make those lists empty. There are three lists defined which get tested in the following sequence: @@ -3747,8 +3763,8 @@ line by a channel indicator: .br Next is a decimal number of which only bit 0 has a meaning for now. 0 means no newline at end of payload, 1 means that the newline character at -the end of the output line belongs to the payload. After another colon follows -the payload text. +the end of the output line belongs to the payload. After another colon and +a blank follows the payload text. .br Example: .br diff --git a/xorriso/xorriso.h b/xorriso/xorriso.h index fd6f4ed6..d6b7f9e3 100644 --- a/xorriso/xorriso.h +++ b/xorriso/xorriso.h @@ -765,6 +765,10 @@ int Xorriso_option_disk_dev_ino(struct XorrisO *xorriso, char *mode, int flag); /* Option -disk_pattern "on"|"ls"|"off" */ int Xorriso_option_disk_pattern(struct XorrisO *xorriso, char *mode, int flag); +/* Option -displacement [-]offset */ +int Xorriso_option_displacement(struct XorrisO *xorriso, char *value, + int flag); + /* Option -drive_class */ int Xorriso_option_drive_class(struct XorrisO *xorriso, char *d_class, char *pattern, int flag); diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index ba4f753c..5cb4330e 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -607,6 +607,20 @@ activate them only after image loading. image has been loaded once, the setting is valid for -rollback until next -dev or -indev, where it will be reset to "auto". +-displacement [-]lba + Compensate an eventual displacement of the image versus the start + address for which the image was prepared. This affects only + loading of ISO images and reading of their files. Examples: + If a track of a CD starts at block 123456 and gets copied to a + disk file where it begins at block 0, then this copy can be loaded + with -displacement -123456. + If an ISO image was written onto a partition with offset of 640000 + blocks of 512 bytes, then it can be loaded from the base device by + -displacement 160000. + In both cases, the ISO sessions should be self contained, i.e. not + add-on sessions to an ISO image outside their track resp. + partition. + -drive_class "harmless"|"banned"|"caution"|"clear_list" disk_pattern Add a drive path pattern to one of the safety lists or make those lists empty. There are three lists defined which get tested in @@ -3319,7 +3333,7 @@ File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Op Next is a decimal number of which only bit 0 has a meaning for now. 0 means no newline at end of payload, 1 means that the newline character at the end of the output line belongs to the payload. - After another colon follows the payload text. + After another colon and a blank follows the payload text. Example: I:1: enter option and arguments : @@ -3898,7 +3912,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 131) -* -acl controls handling of ACLs: Loading. (line 123) +* -acl controls handling of ACLs: Loading. (line 137) * -add inserts one or more paths: Insert. (line 42) * -add_plainly inserts one or more paths: Insert. (line 61) * -alter_date sets timestamps in ISO image: Manip. (line 146) @@ -3907,14 +3921,14 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top (line 186) * -application_id sets application id: SetWrite. (line 90) * -as emulates mkisofs or cdrecord: Emulation. (line 13) -* -assert_volid rejects undesired images: Loading. (line 65) -* -auto_charset learns character set from image: Loading. (line 80) +* -assert_volid rejects undesired images: Loading. (line 79) +* -auto_charset learns character set from image: Loading. (line 94) * -backslash_codes enables backslash conversion: Scripting. (line 45) -* -ban_stdio_write demands real drive: Loading. (line 220) +* -ban_stdio_write demands real drive: Loading. (line 234) * -biblio_file sets biblio file name: SetWrite. (line 138) * -blank erases media: Writing. (line 45) * -boot_image controls bootability: Bootable. (line 26) -* -calm_drive reduces drive activity: Loading. (line 209) +* -calm_drive reduces drive activity: Loading. (line 223) * -cd sets working directory in ISO: Navigate. (line 7) * -cdx sets working directory on disk: Navigate. (line 16) * -charset sets input/output character set: Charset. (line 43) @@ -3945,9 +3959,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -dev aquires one drive for input and output: AqDrive. (line 10) * -devices gets list of drives: Inquiry. (line 7) * -dialog enables dialog mode: DialogCtl. (line 7) -* -disk_dev_ino fast incremental backup: Loading. (line 163) +* -disk_dev_ino fast incremental backup: Loading. (line 177) * -disk_pattern controls pattern expansion: Insert. (line 31) -* -drive_class controls drive accessability: Loading. (line 35) +* -displacment compensate altered image start address: Loading. + (line 35) +* -drive_class controls drive accessability: Loading. (line 49) * -du show directory size in ISO image: Navigate. (line 88) * -dummy controls write simulation: SetWrite. (line 222) * -dus show directory size in ISO image: Navigate. (line 92) @@ -3968,7 +3984,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -find traverses and alters ISO tree: CmdFind. (line 7) * -findx traverses disk tree: Navigate. (line 105) * -follow softlinks and mount points: SetInsert. (line 76) -* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 158) +* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 172) * -format formats media: Writing. (line 69) * -fs sets size of fifo: SetWrite. (line 226) * -getfacl shows ACL in ISO image: Navigate. (line 69) @@ -3977,11 +3993,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -getfattr_r shows xattr in ISO image: Navigate. (line 84) * -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) +* -hardlinks controls handling of hard links: Loading. (line 105) * -help prints help text: Scripting. (line 16) * -hide excludes file names from directory trees: Manip. (line 170) * -history brings text into readline history: Scripting. (line 22) -* -in_charset sets input character set: Loading. (line 73) +* -in_charset sets input character set: Loading. (line 87) * -indev aquires a drive for input: AqDrive. (line 22) * -iso_rr_pattern controls pattern expansion: Manip. (line 10) * -jigdo clears JTE or sets input/output character set: Jigdo. @@ -4005,7 +4021,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -map_l inserts paths from disk file: Insert. (line 94) * -map_single inserts path: Insert. (line 90) * -mark sets synchronizing message: Frontend. (line 25) -* -md5 controls handling of MD5 sums: Loading. (line 136) +* -md5 controls handling of MD5 sums: Loading. (line 150) * -mkdir creates ISO directory: Insert. (line 166) * -mount issues mount command for ISO session: Restore. (line 122) * -mount_cmd composes mount command line: Inquiry. (line 31) @@ -4050,7 +4066,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -rmdir deletes ISO directory: Manip. (line 32) * -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) +* -rom_toc_scan searches for sessions: Loading. (line 198) * -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 140) * -scsi_log reports SCSI commands: Scripting. (line 113) * -session_log logs written sessions: Scripting. (line 104) @@ -4084,7 +4100,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -volid sets volume id: SetWrite. (line 60) * -volset_id sets volume set id: SetWrite. (line 79) * -volume_date sets volume timestamp: SetWrite. (line 106) -* -xattr controls handling of xattr (EA): Loading. (line 131) +* -xattr controls handling of xattr (EA): Loading. (line 145) * -zisofs controls zisofs production: SetWrite. (line 170)  @@ -4097,7 +4113,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Menu: * ACL, _definiton: Extras. (line 37) -* ACL, control handling, -acl: Loading. (line 123) +* ACL, control handling, -acl: Loading. (line 137) * ACL, set in ISO image, -setfacl: Manip. (line 73) * ACL, set in ISO image, -setfacl_list: Manip. (line 100) * ACL, set in ISO image, -setfacl_r: Manip. (line 97) @@ -4106,18 +4122,18 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Appendable media, _definition: Media. (line 38) * Appended Filesystem Image, -append_partition: Bootable. (line 186) * 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, enable fast incremental, -disk_dev_ino: Loading. (line 177) +* Backup, enable features, -for_backup: Loading. (line 172) * Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 140) * Blank media, _definition: Media. (line 29) * Blind growing, _definition: Methods. (line 40) * Bootability, control, -boot_image: Bootable. (line 26) * cdrecord, Emulation: Emulation. (line 85) * Character Set, _definition: Charset. (line 6) -* Character Set, for input, -in_charset: Loading. (line 73) +* Character Set, for input, -in_charset: Loading. (line 87) * Character Set, for input/output, -charset: Charset. (line 43) * Character Set, for output, -out_charset: SetWrite. (line 156) -* Character set, learn from image, -auto_charset: Loading. (line 80) +* Character set, learn from image, -auto_charset: Loading. (line 94) * Character Set, of terminal, -local_charset: Charset. (line 47) * Closed media, _definition: Media. (line 43) * Comment, #: Scripting. (line 128) @@ -4134,15 +4150,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Directory, delete, -rmdir: Manip. (line 32) * disk_path, _definition: Insert. (line 6) * Drive, _definiton: Drives. (line 6) -* Drive, accessability, -drive_class: Loading. (line 35) -* Drive, demand real MMC, -ban_stdio_write: Loading. (line 220) +* Drive, accessability, -drive_class: Loading. (line 49) +* Drive, demand real MMC, -ban_stdio_write: Loading. (line 234) * Drive, eject tray, -eject: Writing. (line 36) * Drive, for input and output, -dev: AqDrive. (line 10) * Drive, for input, -indev: AqDrive. (line 22) * Drive, for output, -outdev: AqDrive. (line 29) * Drive, get drive list, -devices: Inquiry. (line 7) * Drive, list supported media, -list_profiles: Writing. (line 119) -* Drive, reduce activity, -calm_drive: Loading. (line 209) +* Drive, reduce activity, -calm_drive: Loading. (line 223) * Drive, report SCSI commands, -scsi_log: Scripting. (line 113) * Drive, write and eject, -commit_eject: Writing. (line 40) * El Torito, _definiton: Extras. (line 19) @@ -4165,10 +4181,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Group, in ISO image, -chgrp: Manip. (line 50) * Group, in ISO image, -chgrp_r: Manip. (line 55) * Growing, _definition: Methods. (line 19) -* Hard links, control handling, -hardlinks: Loading. (line 91) +* Hard links, control handling, -hardlinks: Loading. (line 105) * hidden, set in ISO image, -hide: Manip. (line 170) * Image, _definition: Model. (line 9) -* Image, demand volume id, -assert_volid: Loading. (line 65) +* Image, demand volume id, -assert_volid: Loading. (line 79) * Image, discard pending changes, -rollback: Writing. (line 9) * Image, set abstract file name, -abstract_file: SetWrite. (line 131) * Image, set application id, -application_id: SetWrite. (line 90) @@ -4209,7 +4225,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * List delimiter, _definiton: Processing. (line 8) * MBR, _definiton: Extras. (line 26) * MBR, set, -boot_image system_area=: Bootable. (line 123) -* MD5, control handling, -md5: Loading. (line 136) +* MD5, control handling, -md5: Loading. (line 150) * Media, erase, -blank: Writing. (line 45) * Media, format, -format: Writing. (line 69) * Media, list formats, -list_formats: Writing. (line 107) @@ -4285,6 +4301,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Restore, enable ISO-to-disk, -osirrox: Restore. (line 18) * Rock Ridge, _definiton: Extras. (line 6) * Session, _definition: Model. (line 6) +* Session, altered start address, -displacement: Loading. (line 35) * Session, info string, -session_string: Inquiry. (line 56) * Session, issue mount command, -mount: Restore. (line 122) * Session, log when written, -session_log: Scripting. (line 104) @@ -4294,7 +4311,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * SUN Disk Label, production: Bootable. (line 173) * SUN SPARC boot images, activation: Bootable. (line 207) * System area, _definiton: Bootable. (line 123) -* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 184) +* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 198) * Table-of-content, show, -toc: Inquiry. (line 18) * Timestamps, set in ISO image, -alter_date: Manip. (line 146) * Timestamps, set in ISO image, -alter_date_r: Manip. (line 166) @@ -4324,7 +4341,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * 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, control handling, -xattr: Loading. (line 145) * xattr, set in ISO image, -setfattr: Manip. (line 110) * xattr, set in ISO image, -setfattr_list: Manip. (line 126) * xattr, set in ISO image, -setfattr_r: Manip. (line 123) @@ -4346,46 +4363,46 @@ Node: Dialog21524 Node: Options23181 Node: AqDrive24789 Node: Loading27695 -Node: Insert39874 -Node: SetInsert48231 -Node: Manip56798 -Node: CmdFind65479 -Node: Filter75430 -Node: Writing79779 -Node: SetWrite86068 -Node: Bootable98019 -Node: Jigdo110326 -Node: Charset114584 -Node: Exception117335 -Node: DialogCtl121850 -Node: Inquiry124195 -Node: Navigate128325 -Node: Verify135923 -Node: Restore144343 -Node: Emulation150999 -Node: Scripting159146 -Node: Frontend164708 -Node: Examples165909 -Node: ExDevices167078 -Node: ExCreate167712 -Node: ExDialog168986 -Node: ExGrowing170248 -Node: ExModifying171050 -Node: ExBootable171551 -Node: ExCharset172098 -Node: ExPseudo172926 -Node: ExCdrecord173820 -Node: ExMkisofs174135 -Node: ExGrowisofs175138 -Node: ExException176262 -Node: ExTime176716 -Node: ExIncBackup177175 -Node: ExRestore180647 -Node: ExRecovery181616 -Node: Files182182 -Node: Seealso183410 -Node: Legal183934 -Node: CommandIdx184856 -Node: ConceptIdx198942 +Node: Insert40593 +Node: SetInsert48950 +Node: Manip57517 +Node: CmdFind66198 +Node: Filter76149 +Node: Writing80498 +Node: SetWrite86787 +Node: Bootable98738 +Node: Jigdo111045 +Node: Charset115303 +Node: Exception118054 +Node: DialogCtl122569 +Node: Inquiry124914 +Node: Navigate129044 +Node: Verify136642 +Node: Restore145062 +Node: Emulation151718 +Node: Scripting159865 +Node: Frontend165427 +Node: Examples166640 +Node: ExDevices167809 +Node: ExCreate168443 +Node: ExDialog169717 +Node: ExGrowing170979 +Node: ExModifying171781 +Node: ExBootable172282 +Node: ExCharset172829 +Node: ExPseudo173657 +Node: ExCdrecord174551 +Node: ExMkisofs174866 +Node: ExGrowisofs175869 +Node: ExException176993 +Node: ExTime177447 +Node: ExIncBackup177906 +Node: ExRestore181378 +Node: ExRecovery182347 +Node: Files182913 +Node: Seealso184141 +Node: Legal184665 +Node: CommandIdx185587 +Node: ConceptIdx199812  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index 001c7ce5..72c17b93 100644 --- a/xorriso/xorriso.texi +++ b/xorriso/xorriso.texi @@ -837,6 +837,24 @@ until the next -dev or -indev. After the image has been loaded once, the setting is valid for -rollback until next -dev or -indev, where it will be reset to "auto". @c man .TP +@item -displacement [-]lba +@kindex -displacment compensate altered image start address +@cindex Session, altered start address, -displacement +Compensate an eventual displacement of the image versus the start address +for which the image was prepared. This affects only loading of ISO images +and reading of their files. +Examples: +@* +If a track of a CD starts at block 123456 and gets copied to a disk file +where it begins at block 0, then this copy can be loaded with +-displacement -123456. +@* +If an ISO image was written onto a partition with offset of 640000 blocks of +512 bytes, then it can be loaded from the base device by -displacement 160000. +@* +In both cases, the ISO sessions should be self contained, i.e. not add-on +sessions to an ISO image outside their track resp. partition. +@c man .TP @item -drive_class "harmless"|"banned"|"caution"|"clear_list" disk_pattern @kindex -drive_class controls drive accessability @cindex Drive, accessability, -drive_class @@ -4460,8 +4478,8 @@ line by a channel indicator: @* Next is a decimal number of which only bit 0 has a meaning for now. 0 means no newline at end of payload, 1 means that the newline character at -the end of the output line belongs to the payload. After another colon follows -the payload text. +the end of the output line belongs to the payload. After another colon and +a blank follows the payload text. @* Example: @* diff --git a/xorriso/xorriso_private.h b/xorriso/xorriso_private.h index 21c537a1..ff5816fc 100644 --- a/xorriso/xorriso_private.h +++ b/xorriso/xorriso_private.h @@ -231,6 +231,9 @@ struct XorrisO { /* the global context of xorriso */ */ char image_start_value[81]; /* value according image_start_mode */ + uint32_t displacement; + int displacement_sign; + int drives_exclusive; /* burn_preset_device_open() param exclusive */ int do_calm_drive; /* bit0= calm down drive after aquiring it */ diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 38a71be8..665e3d24 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2010.11.30.093929" +#define Xorriso_timestamP "2010.11.30.094310"