New command -toc_of

This commit is contained in:
Thomas Schmitt 2012-12-13 19:33:43 +00:00
parent 1cd1d7f5dc
commit ee505c8a90
9 changed files with 132 additions and 53 deletions

View File

@ -283,6 +283,7 @@ Xorriso_option_system_id;
Xorriso_option_tell_media_space; Xorriso_option_tell_media_space;
Xorriso_option_temp_mem_limit; Xorriso_option_temp_mem_limit;
Xorriso_option_toc; Xorriso_option_toc;
Xorriso_option_toc_of;
Xorriso_option_uid; Xorriso_option_uid;
Xorriso_option_unregister_filter; Xorriso_option_unregister_filter;
Xorriso_option_update; Xorriso_option_update;

View File

@ -1658,7 +1658,9 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -device_links Like devices, but showing link paths which are hopefully", " -device_links Like devices, but showing link paths which are hopefully",
" persistent over reboot on modern Linux systems.", " persistent over reboot on modern Linux systems.",
"", "",
" -toc Show media specific table of content (sessions).", " -toc Show media specific tables of content (sessions).",
" -toc_of \"in\"|\"out\"|\"all\"",
" Show -toc of either input drive or output drive or both.",
"", "",
" -mount_cmd drive entity id path", " -mount_cmd drive entity id path",
" Print to result channel a command suitable to mount the", " Print to result channel a command suitable to mount the",

View File

@ -1509,6 +1509,42 @@ int Xorriso_option_toc(struct XorrisO *xorriso, int flag)
} }
/* Option -toc_of */
int Xorriso_option_toc_of(struct XorrisO *xorriso, char *which, int flag)
{
int ret= 0;
if(strncmp(which, "in", 2) == 0) {
if(xorriso->indev[0] == 0) {
Xorriso_msgs_submit(xorriso, 0, "-toc_of 'in' : No input drive aquired",
0, "NOTE", 0);
return(2);
}
ret= Xorriso_toc(xorriso, 0);
} else if(strncmp(which, "out", 3) == 0) {
if(xorriso->outdev[0] == 0) {
Xorriso_msgs_submit(xorriso, 0, "-toc_of 'out' : No output drive aquired",
0, "NOTE", 0);
return(2);
}
ret= Xorriso_toc(xorriso, 2);
} else if(strncmp(which, "all", 3) == 0) {
if(xorriso->indev[0] == 0 && xorriso->outdev[0] == 0) {
Xorriso_msgs_submit(xorriso, 0, "-toc_of 'all' : No drive aquired",
0, "NOTE", 0);
return(2);
}
ret= Xorriso_option_toc(xorriso, 0);
} else {
sprintf(xorriso->info_text, "-toc_of: Unknown drive code ");
Text_shellsafe(which, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
ret= 0;
}
return(ret);
}
/* Option -uid */ /* Option -uid */
int Xorriso_option_uid(struct XorrisO *xorriso, char *uid, int flag) int Xorriso_option_uid(struct XorrisO *xorriso, char *uid, int flag)
{ {

View File

@ -519,7 +519,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
"rom_toc_scan","rr_reloc_dir","scsi_log", "rom_toc_scan","rr_reloc_dir","scsi_log",
"session_log","signal_handling","sleep", "session_log","signal_handling","sleep",
"speed","split_size","status","status_history_max", "speed","split_size","status","status_history_max",
"stdio_sync","stream_recording","system_id","temp_mem_limit", "stdio_sync","stream_recording","system_id","temp_mem_limit","toc_of",
"uid","unregister_filter","use_readline","volid","volset_id", "uid","unregister_filter","use_readline","volid","volset_id",
"write_type","xattr","zisofs", "write_type","xattr","zisofs",
"" ""
@ -660,7 +660,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"* Drive and media related inquiry actions (2):", "* Drive and media related inquiry actions (2):",
"list_profiles", "list_formats", "list_speeds", "list_profiles", "list_formats", "list_speeds",
"toc", "pvd_info", "toc", "toc_of", "pvd_info",
"* Settings for file insertion:", "* Settings for file insertion:",
"file_size_limit", "not_mgt", "not_paths", "not_leaf", "not_list", "file_size_limit", "not_mgt", "not_paths", "not_leaf", "not_list",
@ -1898,6 +1898,10 @@ next_command:;
} else if(strcmp(cmd,"toc")==0) { } else if(strcmp(cmd,"toc")==0) {
Xorriso_option_toc(xorriso, 0); Xorriso_option_toc(xorriso, 0);
} else if(strcmp(cmd,"toc_of")==0) {
(*idx)++;
Xorriso_option_toc_of(xorriso, arg1, 0);
} else if(strcmp(cmd,"uid")==0) { } else if(strcmp(cmd,"uid")==0) {
(*idx)++; (*idx)++;
ret= Xorriso_option_uid(xorriso,arg1,0); ret= Xorriso_option_uid(xorriso,arg1,0);

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.2.5, Dec 08, 2012" .TH XORRISO 1 "Version 1.2.5, Dec 13, 2012"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -3407,7 +3407,7 @@ Precedence is: "dvdrw", "cdrw", "dvd", "cdrom", "cd".
.TP .TP
\fB\-toc\fR \fB\-toc\fR
.br .br
Show media specific table of content. This is the session history Show media specific tables of content. This is the session history
of the medium, not the ISO image directory tree. of the medium, not the ISO image directory tree.
.br .br
In case of overwriteable media holding a valid ISO image, it may happen that In case of overwriteable media holding a valid ISO image, it may happen that
@ -3421,6 +3421,17 @@ to be the most recent real session then.
.br .br
Some read\-only drives and media show no usable session history at all. Some read\-only drives and media show no usable session history at all.
Command \-rom_toc_scan might help. Command \-rom_toc_scan might help.
.br
If input device and output device are both aquired and not the same,
then both tables\-of\-content get shown.
.TP
\fB\-toc_of\fR "in"|"out"|"all"
Like command \-toc but explicitely choosing which drive's table\-of\-content
to show. "in" shows \-indev or \-dev, "out" shows \-outdev or \-dev,
"all" shows the same as \-toc.
.br
As further difference to \-toc, this command does not emit FAILURE events
when the desired drive is not aquired.
.TP .TP
\fB\-mount_cmd\fR drive entity id path \fB\-mount_cmd\fR drive entity id path
Emit an appropriate command line for mounting the ISO session Emit an appropriate command line for mounting the ISO session

View File

@ -623,14 +623,14 @@ int Xorriso_process_errfile(struct XorrisO *xorriso,
These functions can use Xorriso_parse_line() too, if they submit the These functions can use Xorriso_parse_line() too, if they submit the
xorriso parameter as NULL. They may not use the struct XorrisO object xorriso parameter as NULL. They may not use the struct XorrisO object
in any way. in any way.
Synchronization between watcher and emitters of commands can be achived Synchronization between watcher and emitters of commands can be achieved
by Xorriso_peek_outlists(). by Xorriso_peek_outlists().
The main motivation for the message watcher is to inspect and display The main motivation for the message watcher is to inspect and display
messages of long lasting xorriso commands while they are still executing. messages of long lasting xorriso commands while they are still executing.
E.g. of -commit, -blank, -format. E.g. of -commit, -blank, -format.
One would normally start it before such a command and stop it afterwards. One would normally start it before such a command and stop it afterwards.
But of course, the watcher can stay activated all the time and process But of course, the watcher can stay activated all the time and process
all message output via its handler calls.i all message output via its handler calls.
The message sieve does not interfere with outlists and message watcher. The message sieve does not interfere with outlists and message watcher.
The message watcher will only see messages which are not caught by outlists The message watcher will only see messages which are not caught by outlists
@ -1202,7 +1202,7 @@ int Xorriso_option_add_plainly(struct XorrisO *xorriso, char *mode,
int flag); int flag);
/* Command -alter_date, alter_date_r */ /* Command -alter_date, -alter_date_r */
/* @param flag bit0=recursive (-alter_date_r) /* @param flag bit0=recursive (-alter_date_r)
*/ */
int Xorriso_option_alter_date(struct XorrisO *xorriso, int Xorriso_option_alter_date(struct XorrisO *xorriso,
@ -1844,6 +1844,9 @@ int Xorriso_option_temp_mem_limit(struct XorrisO *xorriso, char *size,
/* Command -toc */ /* Command -toc */
int Xorriso_option_toc(struct XorrisO *xorriso, int flag); int Xorriso_option_toc(struct XorrisO *xorriso, int flag);
/* Command -toc_of */
int Xorriso_option_toc_of(struct XorrisO *xorriso, char *which, int flag);
/* Command -uid */ /* Command -uid */
int Xorriso_option_uid(struct XorrisO *xorriso, char *uid, int flag); int Xorriso_option_uid(struct XorrisO *xorriso, char *uid, int flag);

View File

@ -2986,7 +2986,7 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Comm
"dvd", "cdrom", "cd". "dvd", "cdrom", "cd".
-toc -toc
Show media specific table of content. This is the session history Show media specific tables of content. This is the session history
of the medium, not the ISO image directory tree. of the medium, not the ISO image directory tree.
In case of overwriteable media holding a valid ISO image, it may In case of overwriteable media holding a valid ISO image, it may
happen that only a single session gets shown. But if the first happen that only a single session gets shown. But if the first
@ -2997,6 +2997,15 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Comm
sessions is supposed to be the most recent real session then. sessions is supposed to be the most recent real session then.
Some read-only drives and media show no usable session history at Some read-only drives and media show no usable session history at
all. Command -rom_toc_scan might help. all. Command -rom_toc_scan might help.
If input device and output device are both aquired and not the
same, then both tables-of-content get shown.
-toc_of "in"|"out"|"all"
Like command -toc but explicitely choosing which drive's
table-of-content to show. "in" shows -indev or -dev, "out" shows
-outdev or -dev, "all" shows the same as -toc.
As further difference to -toc, this command does not emit FAILURE
events when the desired drive is not aquired.
-mount_cmd drive entity id path -mount_cmd drive entity id path
Emit an appropriate command line for mounting the ISO session Emit an appropriate command line for mounting the ISO session
@ -4715,8 +4724,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -md5 controls handling of MD5 sums: Loading. (line 156) * -md5 controls handling of MD5 sums: Loading. (line 156)
* -mkdir creates ISO directory: Insert. (line 169) * -mkdir creates ISO directory: Insert. (line 169)
* -mount issues mount command for ISO session: Restore. (line 126) * -mount issues mount command for ISO session: Restore. (line 126)
* -mount_cmd composes mount command line: Inquiry. (line 41) * -mount_cmd composes mount command line: Inquiry. (line 50)
* -mount_cmd controls mount command: Inquiry. (line 57) * -mount_cmd controls mount command: Inquiry. (line 66)
* -msg_op perform operations on program messages: Frontend. (line 30) * -msg_op perform operations on program messages: Frontend. (line 30)
* -mv renames file in ISO image: Manip. (line 35) * -mv renames file in ISO image: Manip. (line 35)
* -no_rc disables startup files: Scripting. (line 7) * -no_rc disables startup files: Scripting. (line 7)
@ -4740,12 +4749,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -print prints result text line: Scripting. (line 99) * -print prints result text line: Scripting. (line 99)
* -print_info prints message text line: Scripting. (line 102) * -print_info prints message text line: Scripting. (line 102)
* -print_mark prints synchronizing text line: Scripting. (line 105) * -print_mark prints synchronizing text line: Scripting. (line 105)
* -print_size predicts image size: Inquiry. (line 80) * -print_size predicts image size: Inquiry. (line 89)
* -prog sets program name: Frontend. (line 89) * -prog sets program name: Frontend. (line 89)
* -prog_help prints help text: Frontend. (line 92) * -prog_help prints help text: Frontend. (line 92)
* -prompt prompts for enter key: Scripting. (line 110) * -prompt prompts for enter key: Scripting. (line 110)
* -publisher sets publisher id: SetWrite. (line 186) * -publisher sets publisher id: SetWrite. (line 186)
* -pvd_info shows image id strings: Inquiry. (line 93) * -pvd_info shows image id strings: Inquiry. (line 102)
* -pwd tells working directory in ISO: Navigate. (line 20) * -pwd tells working directory in ISO: Navigate. (line 20)
* -pwdx tells working directory on disk: Navigate. (line 23) * -pwdx tells working directory on disk: Navigate. (line 23)
* -quoted_not_list sets exclusions: SetInsert. (line 72) * -quoted_not_list sets exclusions: SetInsert. (line 72)
@ -4768,7 +4777,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 168) * -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 168)
* -scsi_log reports SCSI commands: Scripting. (line 147) * -scsi_log reports SCSI commands: Scripting. (line 147)
* -session_log logs written sessions: Scripting. (line 138) * -session_log logs written sessions: Scripting. (line 138)
* -session_string composes session info line: Inquiry. (line 67) * -session_string composes session info line: Inquiry. (line 76)
* -set_filter applies filter to file: Filter. (line 60) * -set_filter applies filter to file: Filter. (line 60)
* -set_filter_r applies filter to file tree: Filter. (line 89) * -set_filter_r applies filter to file tree: Filter. (line 89)
* -setfacl sets ACL in ISO image: Manip. (line 73) * -setfacl sets ACL in ISO image: Manip. (line 73)
@ -4789,9 +4798,10 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -stdio_sync controls stdio buffer: SetWrite. (line 318) * -stdio_sync controls stdio buffer: SetWrite. (line 318)
* -stream_recording controls defect management: SetWrite. (line 299) * -stream_recording controls defect management: SetWrite. (line 299)
* -system_id sets system id: SetWrite. (line 201) * -system_id sets system id: SetWrite. (line 201)
* -tell_media_space reports free space: Inquiry. (line 89) * -tell_media_space reports free space: Inquiry. (line 98)
* -temp_mem_limit curbs memory consumption: Scripting. (line 92) * -temp_mem_limit curbs memory consumption: Scripting. (line 92)
* -toc shows list of sessions: Inquiry. (line 28) * -toc shows list of sessions: Inquiry. (line 28)
* -toc_of shows list of sessions: Inquiry. (line 43)
* -uid sets global ownership: SetWrite. (line 264) * -uid sets global ownership: SetWrite. (line 264)
* -update inserts path if different: Insert. (line 102) * -update inserts path if different: Insert. (line 102)
* -update_l inserts paths if different: Insert. (line 124) * -update_l inserts paths if different: Insert. (line 124)
@ -4922,7 +4932,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Image, set volume id, -volid: SetWrite. (line 160) * Image, set volume id, -volid: SetWrite. (line 160)
* Image, set volume set id, -volset_id: SetWrite. (line 181) * Image, set volume set id, -volset_id: SetWrite. (line 181)
* Image, set volume timestamp, -volume_date: SetWrite. (line 208) * Image, set volume timestamp, -volume_date: SetWrite. (line 208)
* Image, show id strings, -pvd_info: Inquiry. (line 93) * Image, show id strings, -pvd_info: Inquiry. (line 102)
* Insert, enable overwriting, -overwrite: SetInsert. (line 127) * Insert, enable overwriting, -overwrite: SetInsert. (line 127)
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 55) * Insert, file exclusion absolute, -not_paths: SetInsert. (line 55)
* Insert, file exclusion from file, -not_list: SetInsert. (line 67) * Insert, file exclusion from file, -not_list: SetInsert. (line 67)
@ -5039,11 +5049,11 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Rock Ridge, _definition: Extras. (line 6) * Rock Ridge, _definition: Extras. (line 6)
* Session, _definition: Model. (line 6) * Session, _definition: Model. (line 6)
* Session, altered start address, -displacement: Loading. (line 36) * Session, altered start address, -displacement: Loading. (line 36)
* Session, info string, -session_string: Inquiry. (line 67) * Session, info string, -session_string: Inquiry. (line 76)
* Session, issue mount command, -mount: Restore. (line 126) * Session, issue mount command, -mount: Restore. (line 126)
* Session, log when written, -session_log: Scripting. (line 138) * Session, log when written, -session_log: Scripting. (line 138)
* Session, mount command line, -mount_cmd: Inquiry. (line 41) * Session, mount command line, -mount_cmd: Inquiry. (line 50)
* Session, mount parameters, -mount_opts: Inquiry. (line 57) * Session, mount parameters, -mount_opts: Inquiry. (line 66)
* Session, select as input, -load: Loading. (line 11) * Session, select as input, -load: Loading. (line 11)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27) * Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27)
* SUN Disk Label, production: Bootable. (line 210) * SUN Disk Label, production: Bootable. (line 210)
@ -5073,12 +5083,12 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Write, enable HFS+, -hfsplus: SetWrite. (line 14) * Write, enable HFS+, -hfsplus: SetWrite. (line 14)
* Write, enable Joliet, -joliet: SetWrite. (line 10) * Write, enable Joliet, -joliet: SetWrite. (line 10)
* Write, fifo size, -fs: SetWrite. (line 328) * Write, fifo size, -fs: SetWrite. (line 328)
* Write, free space, -tell_media_space: Inquiry. (line 89) * Write, free space, -tell_media_space: Inquiry. (line 98)
* Write, log problematic disk files, -errfile_log: Scripting. (line 118) * Write, log problematic disk files, -errfile_log: Scripting. (line 118)
* Write, log written sessions, -session_log: Scripting. (line 138) * Write, log written sessions, -session_log: Scripting. (line 138)
* Write, padding image, -padding: SetWrite. (line 349) * Write, padding image, -padding: SetWrite. (line 349)
* Write, pending ISO image, -commit: Writing. (line 29) * Write, pending ISO image, -commit: Writing. (line 29)
* Write, predict image size, -print_size: Inquiry. (line 80) * Write, predict image size, -print_size: Inquiry. (line 89)
* Write, set speed, -speed: SetWrite. (line 284) * Write, set speed, -speed: SetWrite. (line 284)
* Write, simulation, -dummy: SetWrite. (line 324) * Write, simulation, -dummy: SetWrite. (line 324)
* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 341) * Write, TAO or SAO/DAO, -write_type: SetWrite. (line 341)
@ -5119,34 +5129,34 @@ Node: Charset140512
Node: Exception143274 Node: Exception143274
Node: DialogCtl149394 Node: DialogCtl149394
Node: Inquiry151992 Node: Inquiry151992
Node: Navigate156859 Node: Navigate157310
Node: Verify165157 Node: Verify165608
Node: Restore174189 Node: Restore174640
Node: Emulation181099 Node: Emulation181550
Node: Scripting190911 Node: Scripting191362
Node: Frontend198072 Node: Frontend198523
Node: Examples202666 Node: Examples203117
Node: ExDevices203844 Node: ExDevices204295
Node: ExCreate204503 Node: ExCreate204954
Node: ExDialog205788 Node: ExDialog206239
Node: ExGrowing207053 Node: ExGrowing207504
Node: ExModifying207858 Node: ExModifying208309
Node: ExBootable208362 Node: ExBootable208813
Node: ExCharset208914 Node: ExCharset209365
Node: ExPseudo209735 Node: ExPseudo210186
Node: ExCdrecord210633 Node: ExCdrecord211084
Node: ExMkisofs210950 Node: ExMkisofs211401
Node: ExGrowisofs212290 Node: ExGrowisofs212741
Node: ExException213425 Node: ExException213876
Node: ExTime213879 Node: ExTime214330
Node: ExIncBackup214338 Node: ExIncBackup214789
Node: ExRestore218330 Node: ExRestore218781
Node: ExRecovery219290 Node: ExRecovery219741
Node: Files219860 Node: Files220311
Node: Seealso221159 Node: Seealso221610
Node: Bugreport221882 Node: Bugreport222333
Node: Legal222463 Node: Legal222914
Node: CommandIdx223474 Node: CommandIdx223925
Node: ConceptIdx239492 Node: ConceptIdx240016
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @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 .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.2.5, Dec 08, 2012" @c man .TH XORRISO 1 "Version 1.2.5, Dec 13, 2012"
@c man .\" Please adjust this date whenever revising the manpage. @c man .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -3994,7 +3994,7 @@ Precedence is: "dvdrw", "cdrw", "dvd", "cdrom", "cd".
@* @*
@kindex -toc shows list of sessions @kindex -toc shows list of sessions
@cindex Table-of-content, show, -toc @cindex Table-of-content, show, -toc
Show media specific table of content. This is the session history Show media specific tables of content. This is the session history
of the medium, not the ISO image directory tree. of the medium, not the ISO image directory tree.
@* @*
In case of overwriteable media holding a valid ISO image, it may happen that In case of overwriteable media holding a valid ISO image, it may happen that
@ -4008,6 +4008,18 @@ to be the most recent real session then.
@* @*
Some read-only drives and media show no usable session history at all. Some read-only drives and media show no usable session history at all.
Command -rom_toc_scan might help. Command -rom_toc_scan might help.
@*
If input device and output device are both aquired and not the same,
then both tables-of-content get shown.
@c man .TP
@item -toc_of "in"|"out"|"all"
@kindex -toc_of shows list of sessions
Like command -toc but explicitely choosing which drive's table-of-content
to show. "in" shows -indev or -dev, "out" shows -outdev or -dev,
"all" shows the same as -toc.
@*
As further difference to -toc, this command does not emit FAILURE events
when the desired drive is not aquired.
@c man .TP @c man .TP
@item -mount_cmd drive entity id path @item -mount_cmd drive entity id path
@kindex -mount_cmd composes mount command line @kindex -mount_cmd composes mount command line

View File

@ -1 +1 @@
#define Xorriso_timestamP "2012.12.08.175205" #define Xorriso_timestamP "2012.12.13.193255"