New command -toc_info_type

This commit is contained in:
Thomas Schmitt 2024-06-28 16:42:28 +02:00
parent 2306175432
commit 7f1abc4174
14 changed files with 304 additions and 89 deletions

View File

@ -3,7 +3,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2023 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2024 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -496,6 +496,9 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->info_text[0]= 0;
m->toc_info_type= 1;
m->toc_time_form= 1;
/* Here begin actions which might fail */

View File

@ -1085,6 +1085,14 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
off_t lba= 0, nwa= -1, track_size, session_size, first_track_start= 0;
off_t num_session_data, num_session_other, num_data= 0, other_data= 0;
off_t emul_lba, end_lba, image_blocks, overburn_blocks= 0;
int info_type;
static char *info_type_name[]= {"", "Volume Id", "", "Creation Time",
"Modification Time"};
static int max_info_type= 4;
info_type= xorriso->toc_info_type;
if(info_type < 1 || info_type > max_info_type)
info_type= 1;
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
"on attempt to print Table Of Content",
@ -1343,7 +1351,7 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
"Idx", "sbsector", "Size");
else
sprintf(respt, "TOC layout : %3s , %9s , %10s , %s\n",
"Idx", "sbsector", "Size", "Volume Id");
"Idx", "sbsector", "Size", info_type_name[info_type]);
if(!(flag&1))
Xorriso_toc_line(xorriso, flag & 8);
@ -1372,8 +1380,12 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
if(flag & 4) {
ret= 0;
typetext= "Session ";
} else
ret= isoburn_read_iso_head_v2(drive, 0, &image_blocks, volume_id, 1);
} else {
ret= isoburn_read_iso_head_v2(drive, 0, &image_blocks, volume_id,
info_type);
if(ret > 0 && (info_type == 3 || info_type == 4))
Untimezone_ecma119_17byte(volume_id, (xorriso->toc_time_form & 1) | 2);
}
if(ret>0) {
sprintf(respt, "ISO session : %3d , %9d , %9.fs , %s\n",
1, 0, (double) image_blocks, volume_id);
@ -1444,9 +1456,13 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
} else {
ret= isoburn_toc_track_get_emul_v2(tracks[track_no], &emul_lba,
&image_blocks, volume_id, 0);
if(ret <= 0)
if(ret <= 0 || info_type != 1) {
ret= isoburn_read_iso_head_v2(drive, lba, &image_blocks, volume_id,
1);
info_type);
if(ret > 0 && (info_type == 3 || info_type == 4))
Untimezone_ecma119_17byte(volume_id,
(xorriso->toc_time_form & 1) | 2);
}
if(image_blocks > track_size) {
sprintf(xorriso->info_text,
"Session %d bears ISO image size %.fs larger than track size %.fs",

View File

@ -325,8 +325,14 @@ int Xorriso_pvd_info(struct XorrisO *xorriso, int flag)
Xorriso_result(xorriso,0);
ret= iso_image_get_pvd_times(image, &crt, &mdt, &ext, &eft);
if(ret != ISO_SUCCESS)
if(ret != ISO_SUCCESS) {
crt= mdt= ext= eft= " "; /* Need 17 bytes. Last byte 0. */
} else {
Untimezone_ecma119_17byte(crt, 0);
Untimezone_ecma119_17byte(mdt, 0);
Untimezone_ecma119_17byte(ext, 0);
Untimezone_ecma119_17byte(eft, 0);
}
Xorriso_report_pvd_time(xorriso, "Creation Time:", crt, 0);
Xorriso_report_pvd_time(xorriso, "Modif. Time :", mdt, 0);
Xorriso_report_pvd_time(xorriso, "Expir. Time :", ext, 0);

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2020 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2024 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -510,7 +510,7 @@ int Decode_ecma119_format(struct tm *erg, char *text, int flag)
int Decode_xorriso_timestamp(struct tm *erg, char *code, int flag)
/* 2007.11.07.225624 or 2007_11_07_225624 */
/* 2007.11.07.225624 or 2007_11_07_225624 */
{
char buf[20];
int year,month,day,hour= 0,minute= 0,second= 0, i, l, mem;
@ -585,7 +585,7 @@ done:;
}
time_t Decode_timestring(char *code, time_t *date, int flag)
int Decode_timestring(char *code, time_t *date, int flag)
{
char scale_chr;
double value,seconds;
@ -643,8 +643,8 @@ time_t Decode_timestring(char *code, time_t *date, int flag)
seconds_valid= 1;
goto completed;
} else if((ret= Decode_ecma119_format(&result_tm, code, 0)) > 0) {
/* YYYYMMDDhhmmsscc[UTC] */
/* 2010040711405800UTC */
/* YYYYMMDDhhmmsscc[LOC] */
/* 2010040711405800LOC */
seconds= mktime(&result_tm);
if(ret == 1) {
@ -672,6 +672,88 @@ completed:;
}
int Decode_ecma119_17byte(time_t *seconds, char *code, int flag)
/* YYYYMMDDhhmmssccN (N = 15 minutes Offset from GMT: -48 West to +52 east) */
{
int ret;
char digits[17];
struct tm erg;
*seconds= 0;
strncpy(digits, code, 16);
digits[16]= 0;
ret= Decode_ecma119_format(&erg, digits, 0);
if(ret <= 0)
return(ret);
*seconds= mktime(&erg);
*seconds-= (int) code[16] * 60 * 15;
/* Convert from local time to GMT */
#ifdef HAVE_TM_GMTOFF
*seconds+= erg.tm_gmtoff;
#else
if(erg.tm_isdst < 0)
erg.tm_isdst = 0;
#ifndef Libburnia_timezonE
#define Libburnia_timezonE timezone
#endif
*seconds-= Libburnia_timezonE - erg.tm_isdst * 3600;
#endif
return(1);
}
int Encode_ecma119_17byte(time_t seconds, char *centi_seconds,
char *code, int flag)
{
struct tm *gmt;
gmt= gmtime(&seconds);
if(gmt == NULL)
return(0);
sprintf(code, "%4.4d", 1900 + gmt->tm_year);
sprintf(code + 4, "%2.2d", gmt->tm_mon + 1);
sprintf(code + 6, "%2.2d", gmt->tm_mday);
sprintf(code + 8, "%2.2d", gmt->tm_hour);
sprintf(code + 10, "%2.2d", gmt->tm_min);
sprintf(code + 12, "%2.2d", gmt->tm_sec);
strncpy(code + 14, centi_seconds, 2);
code[16]= code[17]= 0;
return(1);
}
/* flag: bit0= format to xorriso timestamp in local time
bit1= truncate centiseconds (with !bit0)
*/
int Untimezone_ecma119_17byte(char *code, int flag)
{
int ret;
time_t seconds;
char new_code[18];
if(code[16] == 0 && !(flag & 1))
return(1);
ret= Decode_ecma119_17byte(&seconds, code, 0);
if(ret <= 0)
return(ret);
if(flag & 1) {
/* xorriso timestamp format in local time */
if(Ftimetxt(seconds, new_code, 1 | 2) == NULL)
return(0);
} else {
/* ECMA-119 17 byte format in GMT */
ret= Encode_ecma119_17byte(seconds, flag & 2 ? "00" : code + 14, new_code,
0);
if(ret <= 0)
return(ret);
}
strcpy(code, new_code);
return(1);
}
/* @param flag bit0=with year and seconds
bit1-3= form
0= ls -l format

View File

@ -54,10 +54,17 @@ double Scanf_io_size(char *text, int flag);
*/
int Compare_text_lines(char *text1, char *text2, int *diff_count, int flag);
time_t Decode_timestring(char *code, time_t *date, int flag);
int Decode_timestring(char *code, time_t *date, int flag);
int Decode_ecma119_format(struct tm *erg, char *text, int flag);
int Decode_ecma119_17byte(time_t *seconds, char *text, int flag);
int Untimezone_ecma119_17byte(char *code, int flag);
int Encode_ecma119_17byte(time_t seconds, char *centi_seconds,
char *code, int flag);
int Wait_for_input(int fd, int microsec, int flag);
int Fileliste__target_source_limit(char *line, char sep, char **limit_pt,

View File

@ -1691,6 +1691,32 @@ int Xorriso_option_toc(struct XorrisO *xorriso, int flag)
}
/* Command -toc_info_type */
int Xorriso_option_toc_info_type(struct XorrisO *xorriso, char *mode, int flag)
{
if(strcmp(mode, "volid") == 0 || mode[0] == 0) {
xorriso->toc_info_type= 1;
} else if(strcmp(mode, "creation_time") == 0 ||
strcmp(mode, "ctime") == 0 ||
strcmp(mode, "creation_time_gmt") == 0 ||
strcmp(mode, "ctime_gmt") == 0) {
xorriso->toc_info_type= 3;
xorriso->toc_time_form= (strstr(mode, "_gmt") == NULL);
} else if(strcmp(mode, "modification_time") == 0 ||
strcmp(mode, "mtime") == 0 ||
strcmp(mode, "modification_time_gmt") == 0 ||
strcmp(mode, "mtime_gmt") == 0) {
xorriso->toc_info_type= 4;
xorriso->toc_time_form= (strstr(mode, "_gmt") == NULL);
} else {
sprintf(xorriso->info_text, "-toc_info_type: unknown type '%s'", mode);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
return(1);
}
/* Option -toc_of */
int Xorriso_option_toc_of(struct XorrisO *xorriso, char *which, int flag)
{

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2022 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2024 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -559,7 +559,8 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
"session_log","setfattr_list","setfattr_listi",
"sh_style_result","signal_handling","sleep",
"speed","split_size","status","status_history_max",
"stdio_sync","stream_recording","system_id","temp_mem_limit","toc_of",
"stdio_sync","stream_recording","system_id","temp_mem_limit",
"toc_info_type", "toc_of",
"uid","unregister_filter","use_immed_bit","use_readline",
"volid","volset_id",
"write_type","xattr","zisofs",
@ -709,7 +710,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"dev", "indev", "outdev",
"* Drive and media related inquiry actions (2):",
"list_profiles", "list_formats", "list_speeds",
"list_profiles", "list_formats", "list_speeds", "toc_info_type",
"toc", "toc_of", "pvd_info", "report_system_area", "report_el_torito",
"assess_indev_features",
@ -1962,6 +1963,10 @@ if (0) {
} else if(strcmp(cmd,"toc")==0) {
Xorriso_option_toc(xorriso, 0);
} else if(strcmp(cmd,"toc_info_type")==0) {
(*idx)++;
Xorriso_option_toc_info_type(xorriso, arg1, 0);
} else if(strcmp(cmd,"toc_of")==0) {
(*idx)++;
Xorriso_option_toc_of(xorriso, arg1, 0);
@ -2615,13 +2620,13 @@ ex:;
*/
int Xorriso_source_date_epoch(struct XorrisO *xorriso, int flag)
{
int ret;
/* num_text must be able to take the sprintf output of "%.f".
num_text + 12 must be able to take "%d" with a 64 bit int.
*/
char *sec_text, num_text[40];
double dsec= -1.0;
time_t tsec;
struct tm *gmt;
sec_text= getenv("SOURCE_DATE_EPOCH");
if(sec_text == NULL)
@ -2641,17 +2646,10 @@ malformed:;
0, "HINT", 0);
return(0);
}
gmt= gmtime(&tsec);
if(gmt == NULL)
goto malformed;
sprintf(num_text, "%4.4d", 1900 + gmt->tm_year);
sprintf(num_text + 4, "%2.2d", gmt->tm_mon + 1);
sprintf(num_text + 6, "%2.2d", gmt->tm_mday);
sprintf(num_text + 8, "%2.2d", gmt->tm_hour);
sprintf(num_text + 10, "%2.2d", gmt->tm_min);
sprintf(num_text + 12, "%2.2d", gmt->tm_sec);
strcpy(num_text + 14, "00");
ret= Encode_ecma119_17byte(tsec, "00", num_text, 0);
if(ret <= 0)
goto malformed;
strcpy(xorriso->vol_uuid, num_text);
xorriso->gpt_guid_mode= 2; /* Disk GUID from vol_uuid */
strcpy(xorriso->all_file_dates, "set_to_mtime");

View File

@ -3018,6 +3018,14 @@ 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->toc_info_type == 1);
sprintf(line, "-toc_info_type %s%s\n",
xorriso->toc_info_type == 3 ? "creation_time" :
xorriso->toc_info_type == 4 ? "modification_time" : "volid",
xorriso->toc_time_form == 0 ? "_gmt" : "");
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso, filter, fp, flag & 2);
is_default= (xorriso->mount_opts_flag == 0);
sprintf(line,"-mount_opts %s\n",
xorriso->mount_opts_flag & 1 ? "shared" : "exclusive");

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.5.7, May 12, 2024"
.TH XORRISO 1 "Version 1.5.7, Jun 28, 2024"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -4573,6 +4573,20 @@ summary of drive state and medium content is printed.
As further difference to \-toc, this command does not emit FAILURE events
if the desired drive is not acquired.
.TP
\fB\-toc_info_type\fR typetext
Choose which information to show in the rightmost column of \-toc and \-toc_of.
.br
Type "volid" is the default. It shows the Volume Ids of the listed ISO
sessions.
.br
Type "creation_time" or "ctime" chooses the Creation Times.
.br
Type "modification_time" or "mtime" chooses the Modification Times.
.br
Appending "_gmt" to a time type text causes the time information
to be shown in ECMA\-119 format YYYYMMDDhhmmsscc in timezone GMT. Else it is
shown as timestamps YYYY.MM.DD.hhmmss in the local timezone of the system.
.TP
\fB\-assess_indev_features\fR "plain"|"cmd"|"as_mkisofs"|"replay"
Inspect the filesystem on \-indev for the presence of Rock Ridge, Joliet, or
ISO 9660:1999, and for traces of other write options which seem to have been
@ -4690,8 +4704,10 @@ This depends on medium type, number of recorded sessions, and drive habits.
Print various ID strings and timestamps which can be found in loaded ISO
images. Some of the IDs may be changed by commands like \-volid or \-publisher.
For these IDs \-pvd_info reports what would be written with the next \-commit.
The timestamps get not automatically propagated from loaded image to newly
written image. The ones for new images may be set by command \-volume_date.
.br
The timestamps get shown in ECMA\-119 format YYYYMMDDhhmmsscc and timezone GMT.
They do not get automatically propagated from loaded image to newly written
image. The ones for new images may be set by command \-volume_date.
See there for the meaning of the particular timestamps.
.TP
\fB\-report_el_torito\fR mode

View File

@ -2,7 +2,7 @@
/* xorriso - libisoburn higher level API which creates, loads, manipulates
and burns ISO 9660 filesystem images.
Copyright 2007-2023 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2024 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -1216,7 +1216,7 @@ int Xorriso_lst_destroy_all(struct Xorriso_lsT **lstring, int flag);
Xorriso_eval_problem_status()
One should follow its eventual advice to abort.
Commands with a varying number of arguments get then passed like
Commands with a varying number of arguments get them passed like
Xorriso_interpreter(). E.g.:
int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);
@ -2145,6 +2145,11 @@ int Xorriso_option_temp_mem_limit(struct XorrisO *xorriso, char *size,
/* @since 0.1.0 */
int Xorriso_option_toc(struct XorrisO *xorriso, int flag);
/* Command -toc_info_type */
/* @since 1.5.8 */
int Xorriso_option_toc_info_type(struct XorrisO *xorriso, char *mode,
int flag);
/* Command -toc_of */
/* @since 1.2.6 */
int Xorriso_option_toc_of(struct XorrisO *xorriso, char *which, int flag);

View File

@ -3844,6 +3844,18 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Comm
short summary of drive state and medium content is printed.
As further difference to -toc, this command does not emit FAILURE
events if the desired drive is not acquired.
-toc_info_type typetext
Choose which information to show in the rightmost column of -toc
and -toc_of.
Type "volid" is the default. It shows the Volume Ids of the listed
ISO sessions.
Type "creation_time" or "ctime" chooses the Creation Times.
Type "modification_time" or "mtime" chooses the Modification Times.
Appending "_gmt" to a time type text causes the time information to
be shown in ECMA-119 format YYYYMMDDhhmmsscc in timezone GMT. Else
it is shown as timestamps YYYY.MM.DD.hhmmss in the local timezone
of the system.
-assess_indev_features "plain"|"cmd"|"as_mkisofs"|"replay"
Inspect the filesystem on -indev for the presence of Rock Ridge,
Joliet, or ISO 9660:1999, and for traces of other write options
@ -3941,10 +3953,12 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Comm
Print various ID strings and timestamps which can be found in
loaded ISO images. Some of the IDs may be changed by commands like
-volid or -publisher. For these IDs -pvd_info reports what would
be written with the next -commit. The timestamps get not
automatically propagated from loaded image to newly written image.
The ones for new images may be set by command -volume_date. See
there for the meaning of the particular timestamps.
be written with the next -commit.
The timestamps get shown in ECMA-119 format YYYYMMDDhhmmsscc and
timezone GMT. They do not get automatically propagated from loaded
image to newly written image. The ones for new images may be set
by command -volume_date. See there for the meaning of the
particular timestamps.
-report_el_torito mode
With mode *plain* print a report about the information found in the
@ -5765,7 +5779,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -application_use sets application use field: SetWrite. (line 293)
* -as emulates mkisofs or cdrecord: Emulation. (line 13)
* -assert_volid rejects undesired images: Loading. (line 105)
* -assess_indev_features shows filesystem features: Inquiry. (line 49)
* -assess_indev_features shows filesystem features: Inquiry. (line 61)
* -auto_charset learns character set from image: Loading. (line 117)
* -backslash_codes enables backslash conversion: Scripting. (line 71)
* -ban_stdio_write demands real drive: Loading. (line 345)
@ -5892,8 +5906,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -mkdir creates ISO directory: Insert. (line 188)
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 440)
* -mount issues mount command for ISO session: Restore. (line 204)
* -mount_cmd composes mount command line: Inquiry. (line 83)
* -mount_cmd controls mount command: Inquiry. (line 99)
* -mount_cmd composes mount command line: Inquiry. (line 95)
* -mount_cmd controls mount command: Inquiry. (line 111)
* -msg_op perform operations on program messages: Frontend. (line 27)
* -mv renames files in ISO image: Manip. (line 37)
* -mv renames single file in ISO image: Manip. (line 31)
@ -5919,12 +5933,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -print prints result text line: Scripting. (line 102)
* -print_info prints message text line: Scripting. (line 104)
* -print_mark prints synchronizing text line: Scripting. (line 106)
* -print_size predicts image size: Inquiry. (line 120)
* -print_size predicts image size: Inquiry. (line 132)
* -prog sets program name: Frontend. (line 176)
* -prog_help prints help text: Frontend. (line 178)
* -prompt prompts for enter key: Scripting. (line 110)
* -publisher sets publisher id: SetWrite. (line 213)
* -pvd_info shows image id strings: Inquiry. (line 142)
* -pvd_info shows image id strings: Inquiry. (line 154)
* -pwd tells working directory in ISO: Navigate. (line 19)
* -pwdx tells working directory on disk: Navigate. (line 21)
* -quoted_not_list sets exclusions: SetInsert. (line 74)
@ -5935,8 +5949,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -read_speed set read speed: Loading. (line 11)
* -reassure enables confirmation question: DialogCtl. (line 29)
* -report_about controls verbosity: Exception. (line 53)
* -report_el_torito shows Boot Catalog: Inquiry. (line 150)
* -report_system_area shows MBR, GPT, and alike: Inquiry. (line 185)
* -report_el_torito shows Boot Catalog: Inquiry. (line 164)
* -report_system_area shows MBR, GPT, and alike: Inquiry. (line 199)
* -return_with controls exit value: Exception. (line 38)
* -rm deletes files from ISO image: Manip. (line 20)
* -rmdir deletes ISO directory: Manip. (line 29)
@ -5951,7 +5965,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -scsi_dev_family choose Linux device file type: AqDrive. (line 95)
* -scsi_log reports SCSI commands: Scripting. (line 143)
* -session_log logs written sessions: Scripting. (line 134)
* -session_string composes session info line: Inquiry. (line 108)
* -session_string composes session info line: Inquiry. (line 120)
* -setfacl sets ACL in ISO image: Manip. (line 68)
* -setfacl_list sets ACL in ISO image: Manip. (line 94)
* -setfacl_r sets ACL in ISO image: Manip. (line 92)
@ -5974,9 +5988,10 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -stdio_sync controls stdio buffer: SetWrite. (line 490)
* -stream_recording controls defect management: SetWrite. (line 410)
* -system_id sets system id: SetWrite. (line 226)
* -tell_media_space reports free space: Inquiry. (line 132)
* -tell_media_space reports free space: Inquiry. (line 144)
* -temp_mem_limit curbs memory consumption: Scripting. (line 96)
* -toc shows list of sessions: Inquiry. (line 27)
* -toc_info_type shows list of sessions: Inquiry. (line 49)
* -toc_of shows list of sessions: Inquiry. (line 41)
* -truncate_overwritable activates older session: Writing. (line 167)
* -uid sets global ownership: SetWrite. (line 311)
@ -6090,7 +6105,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* File names, curb length, -file_name_limit: Loading. (line 275)
* File names, if Joliet is loaded: Loading. (line 241)
* File names, if neither Rock Ridge nor Joliet: Loading. (line 228)
* Filesytem features, show, -assess_indev_features: Inquiry. (line 49)
* Filesytem features, show, -assess_indev_features: Inquiry. (line 61)
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
* Filter, apply to file, -set_filter: Filter. (line 58)
* Filter, ban registration, -close_filter_list: Filter. (line 50)
@ -6132,9 +6147,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Image, set volume id, -volid: SetWrite. (line 189)
* Image, set volume set id, -volset_id: SetWrite. (line 209)
* Image, set volume timestamp, -volume_date: SetWrite. (line 232)
* Image, show Boot Catalog: Inquiry. (line 150)
* Image, show id strings, -pvd_info: Inquiry. (line 142)
* Image, show MBR, GPT, and alike, -pvd_info: Inquiry. (line 185)
* Image, show Boot Catalog: Inquiry. (line 164)
* Image, show id strings, -pvd_info: Inquiry. (line 154)
* Image, show MBR, GPT, and alike, -pvd_info: Inquiry. (line 199)
* Image, _definition: Model. (line 9)
* Input Character Set, _definition: Charset. (line 25)
* Insert, enable overwriting, -overwrite: SetInsert. (line 140)
@ -6269,11 +6284,11 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 61)
* Rock Ridge, _definition: Extras. (line 6)
* Session, altered start address, -displacement: Loading. (line 78)
* Session, info string, -session_string: Inquiry. (line 108)
* Session, info string, -session_string: Inquiry. (line 120)
* Session, issue mount command, -mount: Restore. (line 204)
* Session, log when written, -session_log: Scripting. (line 134)
* Session, mount command line, -mount_cmd: Inquiry. (line 83)
* Session, mount parameters, -mount_opts: Inquiry. (line 99)
* Session, mount command line, -mount_cmd: Inquiry. (line 95)
* Session, mount parameters, -mount_opts: Inquiry. (line 111)
* Session, select as input, -load: Loading. (line 54)
* Session, _definition: Model. (line 6)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26)
@ -6281,7 +6296,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* SUN SPARC boot images, activation: Bootable. (line 517)
* Symbolic link, create, -lns: Insert. (line 192)
* System area, _definition: Bootable. (line 227)
* Table-of-content, choose info to show, -toc_info_type: Inquiry.
(line 49)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 307)
* Table-of-content, show parts of, -toc_of: Inquiry. (line 41)
* Table-of-content, show, -toc: Inquiry. (line 27)
* Timestamps, set in ISO image, -alter_date: Manip. (line 139)
* Timestamps, set in ISO image, -alter_date_r: Manip. (line 174)
@ -6307,12 +6325,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 500)
* Write, free space, -tell_media_space: Inquiry. (line 132)
* Write, free space, -tell_media_space: Inquiry. (line 144)
* Write, log problematic disk files, -errfile_log: Scripting. (line 116)
* Write, log written sessions, -session_log: Scripting. (line 134)
* Write, padding image, -padding: SetWrite. (line 528)
* Write, pending ISO image, -commit: Writing. (line 27)
* Write, predict image size, -print_size: Inquiry. (line 120)
* Write, predict image size, -print_size: Inquiry. (line 132)
* Write, set speed, -speed: SetWrite. (line 392)
* Write, simulation, -dummy: SetWrite. (line 497)
* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 521)
@ -6353,35 +6371,35 @@ Node: Charset195309
Node: Exception198638
Node: DialogCtl204767
Node: Inquiry207369
Node: Navigate219241
Node: Verify227948
Node: Restore239097
Node: Emulation251304
Node: Scripting261760
Node: Frontend269543
Node: Examples279169
Node: ExDevices280347
Node: ExCreate281008
Node: ExDialog282308
Node: ExGrowing283579
Node: ExModifying284388
Node: ExBootable284898
Node: ExCharset285453
Node: ExPseudo286349
Node: ExCdrecord287276
Node: ExMkisofs287596
Node: ExGrowisofs289493
Node: ExException290646
Node: ExTime291104
Node: ExIncBackup291562
Node: ExRestore295588
Node: ExRecovery296534
Node: Files297106
Node: Environ298440
Node: Seealso299188
Node: Bugreport299905
Node: Legal300496
Node: CommandIdx301508
Node: ConceptIdx319406
Node: Navigate219902
Node: Verify228609
Node: Restore239758
Node: Emulation251965
Node: Scripting262421
Node: Frontend270204
Node: Examples279830
Node: ExDevices281008
Node: ExCreate281669
Node: ExDialog282969
Node: ExGrowing284240
Node: ExModifying285049
Node: ExBootable285559
Node: ExCharset286114
Node: ExPseudo287010
Node: ExCdrecord287937
Node: ExMkisofs288257
Node: ExGrowisofs290154
Node: ExException291307
Node: ExTime291765
Node: ExIncBackup292223
Node: ExRestore296249
Node: ExRecovery297195
Node: Files297767
Node: Environ299101
Node: Seealso299849
Node: Bugreport300566
Node: Legal301157
Node: CommandIdx302169
Node: ConceptIdx320140

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.5.7, May 12, 2024"
@c man .TH XORRISO 1 "Version 1.5.7, Jun 28, 2024"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -5207,6 +5207,7 @@ then both tables-of-content get shown.
@c man .TP
@item -toc_of "in"|"out"|"all"[":short"]
@kindex -toc_of shows list of sessions
@cindex Table-of-content, show parts of, -toc_of
Like command -toc but explicitly 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.
@ -5217,6 +5218,22 @@ summary of drive state and medium content is printed.
As further difference to -toc, this command does not emit FAILURE events
if the desired drive is not acquired.
@c man .TP
@item -toc_info_type typetext
@kindex -toc_info_type shows list of sessions
@cindex Table-of-content, choose info to show, -toc_info_type
Choose which information to show in the rightmost column of -toc and -toc_of.
@*
Type "volid" is the default. It shows the Volume Ids of the listed ISO
sessions.
@*
Type "creation_time" or "ctime" chooses the Creation Times.
@*
Type "modification_time" or "mtime" chooses the Modification Times.
@*
Appending "_gmt" to a time type text causes the time information
to be shown in ECMA-119 format YYYYMMDDhhmmsscc in timezone GMT. Else it is
shown as timestamps YYYY.MM.DD.hhmmss in the local timezone of the system.
@c man .TP
@item -assess_indev_features "plain"|"cmd"|"as_mkisofs"|"replay"
@kindex -assess_indev_features shows filesystem features
@cindex Filesytem features, show, -assess_indev_features
@ -5348,8 +5365,10 @@ This depends on medium type, number of recorded sessions, and drive habits.
Print various ID strings and timestamps which can be found in loaded ISO
images. Some of the IDs may be changed by commands like -volid or -publisher.
For these IDs -pvd_info reports what would be written with the next -commit.
The timestamps get not automatically propagated from loaded image to newly
written image. The ones for new images may be set by command -volume_date.
@*
The timestamps get shown in ECMA-119 format YYYYMMDDhhmmsscc and timezone GMT.
They do not get automatically propagated from loaded image to newly written
image. The ones for new images may be set by command -volume_date.
See there for the meaning of the particular timestamps.
@c man .TP
@item -report_el_torito mode

View File

@ -905,10 +905,21 @@ struct XorrisO { /* the global context of xorriso */
int result_page_counter;
int result_open_line_len;
/* info (stderr, I:) */
char info_text[10*SfileadrL];
/* info return mode for isoburn_read_iso_head_v2() with -toc:
1= volume id
3= creation time
4= modification type
*/
int toc_info_type;
/* How to present toc_info_type 2 and 3:
0= in ECMA-119 format YYYYMMDDhhmmsscc rectified to GMT
1= in xorriso format YYY.MM.DD.hhmmss in local time
*/
int toc_time_form;
};

View File

@ -1 +1 @@
#define Xorriso_timestamP "2024.06.28.135605"
#define Xorriso_timestamP "2024.06.28.144204"