New -rom_toc_scan option "emul_wide"
This commit is contained in:
parent
17860622a4
commit
2201c50a74
@ -320,6 +320,8 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr,
|
||||
aquire_flag= 1 | ((flag&(8|4))>>1) | ((xorriso->toc_emulation_flag & 3)<<3);
|
||||
if(xorriso->toc_emulation_flag & 4)
|
||||
aquire_flag|= 128;
|
||||
if(xorriso->toc_emulation_flag & 8)
|
||||
aquire_flag|= 512;
|
||||
if(!(xorriso->do_aaip & 1))
|
||||
aquire_flag|= 32;
|
||||
if((xorriso->ino_behavior & (1 | 2)) && !(xorriso->do_aaip & (4 | 32)))
|
||||
|
@ -1000,6 +1000,10 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode,
|
||||
aquire_flag= 1;
|
||||
if((xorriso->toc_emulation_flag & 2) && adr_mode == 3)
|
||||
aquire_flag|= 16;
|
||||
if(xorriso->toc_emulation_flag & 4)
|
||||
aquire_flag|= 128;
|
||||
if(xorriso->toc_emulation_flag & 8)
|
||||
aquire_flag|= 512;
|
||||
ret= isoburn_drive_aquire(&dinfo, libburn_adr, aquire_flag);
|
||||
burn_preset_device_open(1, 0, 0);
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
|
@ -1537,6 +1537,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
" displacement versus the start address for which the image",
|
||||
" was prepared.",
|
||||
" -rom_toc_scan \"on\"|\"force\"|\"off\"[:\"emul_on\"|\"emul_off\"]",
|
||||
" [:\"emul_wide\"|\"emul_narrow\"]",
|
||||
" Enable scanning for ISO sessions on read-only drives/media",
|
||||
" resp. on overwriteable media with emulated TOC.",
|
||||
" -calm_drive \"in\"|\"out\"|\"all\"|\"on\"|\"off\"",
|
||||
|
@ -620,7 +620,6 @@ int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode, int flag)
|
||||
int l;
|
||||
char *cpt, *npt;
|
||||
|
||||
xorriso->toc_emulation_flag= 0;
|
||||
npt= cpt= mode;
|
||||
for(cpt= mode; npt != NULL; cpt= npt + 1) {
|
||||
npt= strchr(cpt,':');
|
||||
@ -629,20 +628,22 @@ int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode, int flag)
|
||||
else
|
||||
l= npt-cpt;
|
||||
if(l==0)
|
||||
goto unknown_mode;
|
||||
xorriso->toc_emulation_flag&= ~4;
|
||||
continue;
|
||||
if(strncmp(cpt, "off", l) == 0)
|
||||
xorriso->toc_emulation_flag&= ~1;
|
||||
xorriso->toc_emulation_flag&= ~5;
|
||||
else if(strncmp(cpt, "on", l) == 0)
|
||||
xorriso->toc_emulation_flag|= 1;
|
||||
xorriso->toc_emulation_flag= (xorriso->toc_emulation_flag & ~4) | 1;
|
||||
else if(strncmp(cpt, "force", l) == 0)
|
||||
xorriso->toc_emulation_flag|= 4;
|
||||
xorriso->toc_emulation_flag|= 5;
|
||||
else if(strncmp(cpt, "emul_off", l) == 0)
|
||||
xorriso->toc_emulation_flag|= 2;
|
||||
else if(strncmp(cpt, "emul_on", l) == 0)
|
||||
xorriso->toc_emulation_flag&= ~2;
|
||||
else if(strncmp(cpt, "emul_wide", l) == 0)
|
||||
xorriso->toc_emulation_flag|= 8;
|
||||
else if(strncmp(cpt, "emul_narrow", l) == 0)
|
||||
xorriso->toc_emulation_flag&= ~8;
|
||||
else {
|
||||
unknown_mode:;
|
||||
sprintf(xorriso->info_text, "-rom_toc_scan: unknown mode in '%s'", mode);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
|
@ -1831,10 +1831,11 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
||||
#endif /* Xorriso_with_readlinE */
|
||||
|
||||
is_default= (xorriso->toc_emulation_flag == 0);
|
||||
sprintf(line,"-rom_toc_scan %s%s\n",
|
||||
sprintf(line,"-rom_toc_scan %s:%s:%s\n",
|
||||
xorriso->toc_emulation_flag & 4 ? "force" :
|
||||
xorriso->toc_emulation_flag & 1 ? "on" : "off",
|
||||
xorriso->toc_emulation_flag & 2 ? ":emul_off" : "");
|
||||
xorriso->toc_emulation_flag & 2 ? "emul_off" : "emul_on",
|
||||
xorriso->toc_emulation_flag & 8 ? "emul_wide" : "emul_narrow");
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso, filter, fp, flag & 2);
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH XORRISO 1 "Version 1.2.5, Jul 26, 2012"
|
||||
.TH XORRISO 1 "Version 1.2.5, Aug 14, 2012"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -908,7 +908,7 @@ The speed advantage appears only if the loaded session was produced with
|
||||
Note that \-disk_dev_ino "off" is totally in effect only if \-hardlinks is "off",
|
||||
too.
|
||||
.TP
|
||||
\fB\-rom_toc_scan\fR "on"|"force"|"off"[:"emul_on"|"emul_off"]
|
||||
\fB\-rom_toc_scan\fR "on"|"force"|"off"[:"emul_on"|"emul_off"][:"emul_wide"|"emul_narrow"]
|
||||
Read\-only drives do not tell the actual media type but show any media as
|
||||
ROM (e.g. as DVD\-ROM). The session history of MMC multi\-session media might
|
||||
be truncated to first and last session or even be completely false.
|
||||
@ -930,8 +930,11 @@ On the other hand the emulation of session history on overwriteable media
|
||||
can hamper reading of partly damaged media. Setting "off:emul_off" disables
|
||||
the elsewise trustworthy table\-of\-content scan for those media.
|
||||
.br
|
||||
To be in effect, the \-rom_toc_scan setting has to be made before the \-*dev
|
||||
command which acquires drive and medium.
|
||||
The table\-of\-content scan on overwriteable media normally searches only up to
|
||||
the end of the session that is pointed to by the superblock at block 0.
|
||||
Setting "on:emul_wide" lets the scan continue up to the end of the medium.
|
||||
This may be useful after copying a medium with \-check_media patch_lba0=on
|
||||
when not the last session was loaded.
|
||||
.TP
|
||||
\fB\-calm_drive\fR "in"|"out"|"all"|"revoke"|"on"|"off"
|
||||
Reduce drive noise until it is actually used again. Some drives stay alert
|
||||
|
@ -841,7 +841,7 @@ activate them only after image loading.
|
||||
Note that -disk_dev_ino "off" is totally in effect only if
|
||||
-hardlinks is "off", too.
|
||||
|
||||
-rom_toc_scan "on"|"force"|"off"[:"emul_on"|"emul_off"]
|
||||
-rom_toc_scan "on"|"force"|"off"[:"emul_on"|"emul_off"][:"emul_wide"|"emul_narrow"]
|
||||
Read-only drives do not tell the actual media type but show any
|
||||
media as ROM (e.g. as DVD-ROM). The session history of MMC
|
||||
multi-session media might be truncated to first and last session
|
||||
@ -863,8 +863,12 @@ activate them only after image loading.
|
||||
overwriteable media can hamper reading of partly damaged media.
|
||||
Setting "off:emul_off" disables the elsewise trustworthy
|
||||
table-of-content scan for those media.
|
||||
To be in effect, the -rom_toc_scan setting has to be made before
|
||||
the -*dev command which acquires drive and medium.
|
||||
The table-of-content scan on overwriteable media normally searches
|
||||
only up to the end of the session that is pointed to by the
|
||||
superblock at block 0. Setting "on:emul_wide" lets the scan
|
||||
continue up to the end of the medium. This may be useful after
|
||||
copying a medium with -check_media patch_lba0=on when not the last
|
||||
session was loaded.
|
||||
|
||||
-calm_drive "in"|"out"|"all"|"revoke"|"on"|"off"
|
||||
Reduce drive noise until it is actually used again. Some drives
|
||||
@ -4528,11 +4532,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -assert_volid rejects undesired images: Loading. (line 84)
|
||||
* -auto_charset learns character set from image: Loading. (line 98)
|
||||
* -backslash_codes enables backslash conversion: Scripting. (line 67)
|
||||
* -ban_stdio_write demands real drive: Loading. (line 247)
|
||||
* -ban_stdio_write demands real drive: Loading. (line 251)
|
||||
* -biblio_file sets biblio file name: SetWrite. (line 238)
|
||||
* -blank erases media: Writing. (line 61)
|
||||
* -boot_image controls bootability: Bootable. (line 26)
|
||||
* -calm_drive reduces drive activity: Loading. (line 236)
|
||||
* -calm_drive reduces drive activity: Loading. (line 240)
|
||||
* -cd sets working directory in ISO: Navigate. (line 7)
|
||||
* -cdx sets working directory on disk: Navigate. (line 16)
|
||||
* -changes_pending overrides change status: Writing. (line 13)
|
||||
@ -4564,7 +4568,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -cpr inserts like with cp -r: Insert. (line 155)
|
||||
* -cpx copies files to disk: Restore. (line 92)
|
||||
* -cut_out inserts piece of data file: Insert. (line 129)
|
||||
* -data_cache_size adjusts read cache size: Loading. (line 265)
|
||||
* -data_cache_size adjusts read cache size: Loading. (line 269)
|
||||
* -dev acquires one drive for input and output: AqDrive. (line 12)
|
||||
* -device_links gets list of drives: Inquiry. (line 18)
|
||||
* -devices gets list of drives: Inquiry. (line 7)
|
||||
@ -4580,7 +4584,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -dusx show directory size on disk: Navigate. (line 102)
|
||||
* -dux show directory size on disk: Navigate. (line 97)
|
||||
* -dvd_obs set write block size: SetWrite. (line 309)
|
||||
* -early_stdio_test classifies stdio drives: Loading. (line 252)
|
||||
* -early_stdio_test classifies stdio drives: Loading. (line 256)
|
||||
* -eject ejects drive tray: Writing. (line 52)
|
||||
* -end writes pending session and ends program: Scripting. (line 156)
|
||||
* -errfile_log logs problematic disk files: Scripting. (line 118)
|
||||
@ -4789,8 +4793,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* disk_path, _definition: Insert. (line 6)
|
||||
* Drive, _definition: Drives. (line 6)
|
||||
* Drive, accessability, -drive_class: Loading. (line 54)
|
||||
* Drive, classify stdio, -early_stdio_test: Loading. (line 252)
|
||||
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 247)
|
||||
* Drive, classify stdio, -early_stdio_test: Loading. (line 256)
|
||||
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 251)
|
||||
* Drive, eject tray, -eject: Writing. (line 52)
|
||||
* Drive, for input and output, -dev: AqDrive. (line 12)
|
||||
* Drive, for input, -indev: AqDrive. (line 24)
|
||||
@ -4798,7 +4802,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Drive, get drive list, -device_links: Inquiry. (line 18)
|
||||
* Drive, get drive list, -devices: Inquiry. (line 7)
|
||||
* Drive, list supported media, -list_profiles: Writing. (line 166)
|
||||
* Drive, reduce activity, -calm_drive: Loading. (line 236)
|
||||
* Drive, reduce activity, -calm_drive: Loading. (line 240)
|
||||
* Drive, report SCSI commands, -scsi_log: Scripting. (line 147)
|
||||
* Drive, write and eject, -commit_eject: Writing. (line 56)
|
||||
* EA, _definition: Extras. (line 65)
|
||||
@ -4830,7 +4834,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* HFS+ allocation block size: Bootable. (line 220)
|
||||
* HFS+ serial number: Bootable. (line 217)
|
||||
* hidden, set in ISO image, -hide: Manip. (line 171)
|
||||
* Image reading, cache size, -data_cache_size: Loading. (line 265)
|
||||
* Image reading, cache size, -data_cache_size: Loading. (line 269)
|
||||
* Image, _definition: Model. (line 9)
|
||||
* Image, demand volume id, -assert_volid: Loading. (line 84)
|
||||
* Image, discard pending changes, -rollback: Writing. (line 9)
|
||||
@ -5027,47 +5031,47 @@ Node: Options24480
|
||||
Node: ArgSort26154
|
||||
Node: AqDrive27644
|
||||
Node: Loading30688
|
||||
Node: Insert45897
|
||||
Node: SetInsert55813
|
||||
Node: Manip64389
|
||||
Node: CmdFind73212
|
||||
Node: Filter87916
|
||||
Node: Writing92471
|
||||
Node: SetWrite101435
|
||||
Node: Bootable120068
|
||||
Node: Jigdo135311
|
||||
Node: Charset139557
|
||||
Node: Exception142318
|
||||
Node: DialogCtl148437
|
||||
Node: Inquiry151034
|
||||
Node: Navigate155900
|
||||
Node: Verify164197
|
||||
Node: Restore173228
|
||||
Node: Emulation180137
|
||||
Node: Scripting189948
|
||||
Node: Frontend197108
|
||||
Node: Examples198408
|
||||
Node: ExDevices199585
|
||||
Node: ExCreate200244
|
||||
Node: ExDialog201529
|
||||
Node: ExGrowing202794
|
||||
Node: ExModifying203599
|
||||
Node: ExBootable204103
|
||||
Node: ExCharset204655
|
||||
Node: ExPseudo205476
|
||||
Node: ExCdrecord206374
|
||||
Node: ExMkisofs206691
|
||||
Node: ExGrowisofs208031
|
||||
Node: ExException209166
|
||||
Node: ExTime209620
|
||||
Node: ExIncBackup210079
|
||||
Node: ExRestore214071
|
||||
Node: ExRecovery215031
|
||||
Node: Files215601
|
||||
Node: Seealso216900
|
||||
Node: Bugreport217623
|
||||
Node: Legal218204
|
||||
Node: CommandIdx219215
|
||||
Node: ConceptIdx235087
|
||||
Node: Insert46168
|
||||
Node: SetInsert56084
|
||||
Node: Manip64660
|
||||
Node: CmdFind73483
|
||||
Node: Filter88187
|
||||
Node: Writing92742
|
||||
Node: SetWrite101706
|
||||
Node: Bootable120339
|
||||
Node: Jigdo135582
|
||||
Node: Charset139828
|
||||
Node: Exception142589
|
||||
Node: DialogCtl148708
|
||||
Node: Inquiry151305
|
||||
Node: Navigate156171
|
||||
Node: Verify164468
|
||||
Node: Restore173499
|
||||
Node: Emulation180408
|
||||
Node: Scripting190219
|
||||
Node: Frontend197379
|
||||
Node: Examples198679
|
||||
Node: ExDevices199856
|
||||
Node: ExCreate200515
|
||||
Node: ExDialog201800
|
||||
Node: ExGrowing203065
|
||||
Node: ExModifying203870
|
||||
Node: ExBootable204374
|
||||
Node: ExCharset204926
|
||||
Node: ExPseudo205747
|
||||
Node: ExCdrecord206645
|
||||
Node: ExMkisofs206962
|
||||
Node: ExGrowisofs208302
|
||||
Node: ExException209437
|
||||
Node: ExTime209891
|
||||
Node: ExIncBackup210350
|
||||
Node: ExRestore214342
|
||||
Node: ExRecovery215302
|
||||
Node: Files215872
|
||||
Node: Seealso217171
|
||||
Node: Bugreport217894
|
||||
Node: Legal218475
|
||||
Node: CommandIdx219486
|
||||
Node: ConceptIdx235358
|
||||
|
||||
End Tag Table
|
||||
|
@ -50,7 +50,7 @@
|
||||
@c man .\" First parameter, NAME, should be all caps
|
||||
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
@c man .\" other parameters are allowed: see man(7), man(1)
|
||||
@c man .TH XORRISO 1 "Version 1.2.5, Jul 26, 2012"
|
||||
@c man .TH XORRISO 1 "Version 1.2.5, Aug 14, 2012"
|
||||
@c man .\" Please adjust this date whenever revising the manpage.
|
||||
@c man .\"
|
||||
@c man .\" Some roff macros, for reference:
|
||||
@ -1149,7 +1149,7 @@ The speed advantage appears only if the loaded session was produced with
|
||||
Note that -disk_dev_ino "off" is totally in effect only if -hardlinks is "off",
|
||||
too.
|
||||
@c man .TP
|
||||
@item -rom_toc_scan "on"|"force"|"off"[:"emul_on"|"emul_off"]
|
||||
@item -rom_toc_scan "on"|"force"|"off"[:"emul_on"|"emul_off"][:"emul_wide"|"emul_narrow"]
|
||||
@kindex -rom_toc_scan searches for sessions
|
||||
@cindex Table-of-content, search sessions, -rom_toc_scan
|
||||
Read-only drives do not tell the actual media type but show any media as
|
||||
@ -1173,8 +1173,11 @@ On the other hand the emulation of session history on overwriteable media
|
||||
can hamper reading of partly damaged media. Setting "off:emul_off" disables
|
||||
the elsewise trustworthy table-of-content scan for those media.
|
||||
@*
|
||||
To be in effect, the -rom_toc_scan setting has to be made before the -*dev
|
||||
command which acquires drive and medium.
|
||||
The table-of-content scan on overwriteable media normally searches only up to
|
||||
the end of the session that is pointed to by the superblock at block 0.
|
||||
Setting "on:emul_wide" lets the scan continue up to the end of the medium.
|
||||
This may be useful after copying a medium with -check_media patch_lba0=on
|
||||
when not the last session was loaded.
|
||||
@c man .TP
|
||||
@item -calm_drive "in"|"out"|"all"|"revoke"|"on"|"off"
|
||||
@kindex -calm_drive reduces drive activity
|
||||
|
@ -238,6 +238,8 @@ struct XorrisO { /* the global context of xorriso */
|
||||
do not emulate TOC on overwriteable media
|
||||
bit2= bit7 for isoburn_drive_aquire()
|
||||
pretend any media to be -ROM
|
||||
bit3= bit9 for isoburn_drive_aquire()
|
||||
Ignore enclosing session at LBA 0
|
||||
*/
|
||||
|
||||
int image_start_mode; /* From what address to load the ISO image
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2012.08.14.102632"
|
||||
#define Xorriso_timestamP "2012.08.14.103138"
|
||||
|
Loading…
Reference in New Issue
Block a user