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_temp_mem_limit;
Xorriso_option_toc;
Xorriso_option_toc_of;
Xorriso_option_uid;
Xorriso_option_unregister_filter;
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",
" 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",
" 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 */
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",
"session_log","signal_handling","sleep",
"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",
"write_type","xattr","zisofs",
""
@ -660,7 +660,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"* Drive and media related inquiry actions (2):",
"list_profiles", "list_formats", "list_speeds",
"toc", "pvd_info",
"toc", "toc_of", "pvd_info",
"* Settings for file insertion:",
"file_size_limit", "not_mgt", "not_paths", "not_leaf", "not_list",
@ -1898,6 +1898,10 @@ next_command:;
} else if(strcmp(cmd,"toc")==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) {
(*idx)++;
ret= Xorriso_option_uid(xorriso,arg1,0);

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.2.5, Dec 08, 2012"
.TH XORRISO 1 "Version 1.2.5, Dec 13, 2012"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -3407,7 +3407,7 @@ Precedence is: "dvdrw", "cdrw", "dvd", "cdrom", "cd".
.TP
\fB\-toc\fR
.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.
.br
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
Some read\-only drives and media show no usable session history at all.
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
\fB\-mount_cmd\fR drive entity id path
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
xorriso parameter as NULL. They may not use the struct XorrisO object
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().
The main motivation for the message watcher is to inspect and display
messages of long lasting xorriso commands while they are still executing.
E.g. of -commit, -blank, -format.
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
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 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);
/* Command -alter_date, alter_date_r */
/* Command -alter_date, -alter_date_r */
/* @param flag bit0=recursive (-alter_date_r)
*/
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 */
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 */
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".
-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.
In case of overwriteable media holding a valid ISO image, it may
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.
Some read-only drives and media show no usable session history at
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
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)
* -mkdir creates ISO directory: Insert. (line 169)
* -mount issues mount command for ISO session: Restore. (line 126)
* -mount_cmd composes mount command line: Inquiry. (line 41)
* -mount_cmd controls mount command: Inquiry. (line 57)
* -mount_cmd composes mount command line: Inquiry. (line 50)
* -mount_cmd controls mount command: Inquiry. (line 66)
* -msg_op perform operations on program messages: Frontend. (line 30)
* -mv renames file in ISO image: Manip. (line 35)
* -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_info prints message text line: Scripting. (line 102)
* -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_help prints help text: Frontend. (line 92)
* -prompt prompts for enter key: Scripting. (line 110)
* -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)
* -pwdx tells working directory on disk: Navigate. (line 23)
* -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)
* -scsi_log reports SCSI commands: Scripting. (line 147)
* -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_r applies filter to file tree: Filter. (line 89)
* -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)
* -stream_recording controls defect management: SetWrite. (line 299)
* -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)
* -toc shows list of sessions: Inquiry. (line 28)
* -toc_of shows list of sessions: Inquiry. (line 43)
* -uid sets global ownership: SetWrite. (line 264)
* -update inserts path if different: Insert. (line 102)
* -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 set id, -volset_id: SetWrite. (line 181)
* 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, file exclusion absolute, -not_paths: SetInsert. (line 55)
* 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)
* Session, _definition: Model. (line 6)
* 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, log when written, -session_log: Scripting. (line 138)
* Session, mount command line, -mount_cmd: Inquiry. (line 41)
* Session, mount parameters, -mount_opts: Inquiry. (line 57)
* Session, mount command line, -mount_cmd: Inquiry. (line 50)
* Session, mount parameters, -mount_opts: Inquiry. (line 66)
* Session, select as input, -load: Loading. (line 11)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27)
* 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 Joliet, -joliet: SetWrite. (line 10)
* 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 written sessions, -session_log: Scripting. (line 138)
* Write, padding image, -padding: SetWrite. (line 349)
* 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, simulation, -dummy: SetWrite. (line 324)
* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 341)
@ -5119,34 +5129,34 @@ Node: Charset140512
Node: Exception143274
Node: DialogCtl149394
Node: Inquiry151992
Node: Navigate156859
Node: Verify165157
Node: Restore174189
Node: Emulation181099
Node: Scripting190911
Node: Frontend198072
Node: Examples202666
Node: ExDevices203844
Node: ExCreate204503
Node: ExDialog205788
Node: ExGrowing207053
Node: ExModifying207858
Node: ExBootable208362
Node: ExCharset208914
Node: ExPseudo209735
Node: ExCdrecord210633
Node: ExMkisofs210950
Node: ExGrowisofs212290
Node: ExException213425
Node: ExTime213879
Node: ExIncBackup214338
Node: ExRestore218330
Node: ExRecovery219290
Node: Files219860
Node: Seealso221159
Node: Bugreport221882
Node: Legal222463
Node: CommandIdx223474
Node: ConceptIdx239492
Node: Navigate157310
Node: Verify165608
Node: Restore174640
Node: Emulation181550
Node: Scripting191362
Node: Frontend198523
Node: Examples203117
Node: ExDevices204295
Node: ExCreate204954
Node: ExDialog206239
Node: ExGrowing207504
Node: ExModifying208309
Node: ExBootable208813
Node: ExCharset209365
Node: ExPseudo210186
Node: ExCdrecord211084
Node: ExMkisofs211401
Node: ExGrowisofs212741
Node: ExException213876
Node: ExTime214330
Node: ExIncBackup214789
Node: ExRestore218781
Node: ExRecovery219741
Node: Files220311
Node: Seealso221610
Node: Bugreport222333
Node: Legal222914
Node: CommandIdx223925
Node: ConceptIdx240016

End Tag Table

View File

@ -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, 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 .\"
@c man .\" Some roff macros, for reference:
@ -3994,7 +3994,7 @@ Precedence is: "dvdrw", "cdrw", "dvd", "cdrom", "cd".
@*
@kindex -toc shows list of sessions
@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.
@*
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.
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
@item -mount_cmd drive entity id path
@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"