New command -assess_indev_features

This commit is contained in:
Thomas Schmitt 2022-09-20 10:28:25 +02:00
parent d2fd48fcbc
commit e594ba293a
10 changed files with 637 additions and 126 deletions

View File

@ -240,6 +240,94 @@ ex:;
} }
int Xorriso_make_read_options(struct XorrisO *xorriso,
struct burn_drive *drive,
struct isoburn_read_opts **ropts,
int flag)
{
int ret, ext, load_lba;
enum burn_disc_status state;
/* fill read opts */
ret= isoburn_ropt_new(ropts, 0);
if(ret<=0)
goto ex;
ret= Xorriso_set_data_cache(xorriso, *ropts, xorriso->cache_num_tiles,
xorriso->cache_tile_blocks,
xorriso->cache_default);
if(ret<=0)
goto ex;
ext= isoburn_ropt_noiso1999;
if(xorriso->read_fs & 1)
ext|= isoburn_ropt_norock;
if(xorriso->read_fs & 2)
ext|= isoburn_ropt_nojoliet;
if((xorriso->ino_behavior & (1 | 2)) && !(xorriso->do_aaip & (1 | 4 | 32))
&& !(xorriso->do_md5 & 1) && !(xorriso->do_hfsplus))
ext|= isoburn_ropt_noaaip;
if(!(xorriso->do_aaip & 1))
ext|= isoburn_ropt_noacl;
if(!(xorriso->do_aaip & 4))
ext|= isoburn_ropt_noea;
if(xorriso->ino_behavior & 1)
ext|= isoburn_ropt_noino;
if(!(xorriso->do_md5 & 1))
ext|= isoburn_ropt_nomd5;
if(xorriso->do_md5 & 32)
ext|= isoburn_ropt_nomd5tag;
if(xorriso->ecma119_map == 0)
ext|= isoburn_ropt_map_unmapped;
else if(xorriso->ecma119_map == 2)
ext|= isoburn_ropt_map_uppercase;
else if(xorriso->ecma119_map == 3)
ext|= isoburn_ropt_map_lowercase;
else
ext|= isoburn_ropt_map_stripped;
if(xorriso->joliet_map == 0)
ext|= isoburn_ropt_joliet_unmapped;
else
ext|= isoburn_ropt_joliet_stripped;
isoburn_ropt_set_extensions(*ropts, ext);
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);
isoburn_ropt_set_truncate_mode(*ropts, 1, xorriso->file_name_limit);
Xorriso_set_image_severities(xorriso, 1); /* No DEBUG messages */
/* <<< Trying to work around too much tolerance on bad image trees.
Better would be a chance to instruct libisofs what to do in
case of image read errors. There is a risk to mistake other SORRYs.
*/
if(xorriso->img_read_error_mode>0)
iso_set_abort_severity("SORRY");
state= isoburn_disc_get_status(drive);
if(state != BURN_DISC_BLANK) {
ret= isoburn_disc_get_msc1(drive, &load_lba);
if(ret > 0) {
sprintf(xorriso->info_text,
"Loading ISO image tree from LBA %d", load_lba);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
}
ret= Xorriso_assert_volid(xorriso, load_lba, 0);
if(ret <= 0)
goto ex;
}
Xorriso_set_speed(xorriso, drive, xorriso->read_speed, 0, 1);
ret= 1;
ex:
return(ret);
}
/* @param flag bit0= acquire as isoburn input drive /* @param flag bit0= acquire as isoburn input drive
bit1= acquire as libburn output drive (as isoburn drive if bit0) bit1= acquire as libburn output drive (as isoburn drive if bit0)
bit2= regard overwritable media as blank bit2= regard overwritable media as blank
@ -257,7 +345,7 @@ ex:;
int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr, int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr,
int flag) int flag)
{ {
int ret, hret, not_writeable= 0, has_what, aquire_flag, load_lba, ext; int ret, hret, not_writeable= 0, has_what, aquire_flag;
int lba, track, session, params_flag, adr_mode, read_ret, start_lba; int lba, track, session, params_flag, adr_mode, read_ret, start_lba;
int truncate_mode; int truncate_mode;
uint32_t size, offst; uint32_t size, offst;
@ -540,83 +628,16 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr,
Xorriso_give_up_drive(xorriso, 1|((flag&32)>>2)); Xorriso_give_up_drive(xorriso, 1|((flag&32)>>2));
ret= 3; goto ex; ret= 3; goto ex;
} }
/* fill read opts */
ret= isoburn_ropt_new(&ropts, 0); ret= Xorriso_make_read_options(xorriso, drive, &ropts, 0);
if(ret<=0) if(ret <= 0)
goto ex; goto ex;
ret= Xorriso_set_data_cache(xorriso, ropts, xorriso->cache_num_tiles,
xorriso->cache_tile_blocks,
xorriso->cache_default);
if(ret<=0)
goto ex;
ext= isoburn_ropt_noiso1999;
if(xorriso->read_fs & 1)
ext|= isoburn_ropt_norock;
if(xorriso->read_fs & 2)
ext|= isoburn_ropt_nojoliet;
if((xorriso->ino_behavior & (1 | 2)) && !(xorriso->do_aaip & (1 | 4 | 32))
&& !(xorriso->do_md5 & 1) && !(xorriso->do_hfsplus))
ext|= isoburn_ropt_noaaip;
if(!(xorriso->do_aaip & 1))
ext|= isoburn_ropt_noacl;
if(!(xorriso->do_aaip & 4))
ext|= isoburn_ropt_noea;
if(xorriso->ino_behavior & 1)
ext|= isoburn_ropt_noino;
if(!(xorriso->do_md5 & 1))
ext|= isoburn_ropt_nomd5;
if(xorriso->do_md5 & 32)
ext|= isoburn_ropt_nomd5tag;
if(xorriso->ecma119_map == 0)
ext|= isoburn_ropt_map_unmapped;
else if(xorriso->ecma119_map == 2)
ext|= isoburn_ropt_map_uppercase;
else if(xorriso->ecma119_map == 3)
ext|= isoburn_ropt_map_lowercase;
else
ext|= isoburn_ropt_map_stripped;
if(xorriso->joliet_map == 0)
ext|= isoburn_ropt_joliet_unmapped;
else
ext|= isoburn_ropt_joliet_stripped;
isoburn_ropt_set_extensions(ropts, ext);
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);
isoburn_ropt_set_truncate_mode(ropts, 1, xorriso->file_name_limit);
Xorriso_set_image_severities(xorriso, 1); /* No DEBUG messages */
Xorriso_pacifier_reset(xorriso, 0); Xorriso_pacifier_reset(xorriso, 0);
isoburn_set_read_pacifier(drive, Xorriso__read_pacifier, (void *) xorriso); isoburn_set_read_pacifier(drive, Xorriso__read_pacifier, (void *) xorriso);
/* <<< Trying to work around too much tolerance on bad image trees.
Better would be a chance to instruct libisofs what to do in
case of image read errors. There is a risk to mistake other SORRYs.
*/
if(xorriso->img_read_error_mode>0)
iso_set_abort_severity("SORRY");
if(state != BURN_DISC_BLANK) {
ret= isoburn_disc_get_msc1(drive, &load_lba);
if(ret > 0) {
sprintf(xorriso->info_text,
"Loading ISO image tree from LBA %d", load_lba);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
}
ret= Xorriso_assert_volid(xorriso, load_lba, 0);
if(ret <= 0)
goto ex;
}
Xorriso_set_speed(xorriso, drive, xorriso->read_speed, 0, 1);
read_ret= ret= isoburn_read_image(drive, ropts, &volset); read_ret= ret= isoburn_read_image(drive, ropts, &volset);
/* <<< Resetting to normal thresholds */ /* <<< Resetting to normal thresholds, after Xorriso_make_read_options */
if(xorriso->img_read_error_mode>0) if(xorriso->img_read_error_mode>0)
Xorriso_set_abort_severity(xorriso, 0); Xorriso_set_abort_severity(xorriso, 0);
@ -3635,3 +3656,334 @@ int Xorriso_obtain_indev_readsize(struct XorrisO *xorriso, uint32_t *blocks,
} }
/* @param flag bit0= as_mkisofs, else cmd
*/
int Xorriso_feature_to_cmd(struct XorrisO *xorriso, char *name, char *value,
int flag)
{
int i, as_m;
double val_num= -123456789;
static char *ignored_names[]= {"size", "eltorito", "tree_loaded",
"tree_loaded_text", "rr_loaded", "aaip",
"relaxed_vol_atts", "rrip_1_10_px_ino",
""};
sscanf(value, "%lf", &val_num);
for(i= 0; ignored_names[i][0] != 0; i++)
if(strcmp(name, ignored_names[i]) == 0)
return(0);
as_m= flag & 1;
if(strcmp(name, "iso_level") == 0) {
if(as_m) {
sprintf(xorriso->result_line, "-iso-level %s", value);
} else {
sprintf(xorriso->result_line, "-compliance iso_9660_level=%s", value);
}
} else if(strcmp(name, "rockridge") == 0) {
if(as_m) {
if(val_num > 0.0)
sprintf(xorriso->result_line, "-R");
else
sprintf(xorriso->result_line, "--norock");
} else {
sprintf(xorriso->result_line, "-rockridge %s",
val_num > 0.0 ? "on" : "off");
}
} else if(strcmp(name, "joliet") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-J");
} else {
sprintf(xorriso->result_line, "-joliet %s",
val_num > 0.0 ? "on" : "off");
}
} else if(strcmp(name, "iso1999") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-iso-level 4");
} else {
sprintf(xorriso->result_line, "-compliance iso_9660_1999%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "untranslated_name_len") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-untranslated_name_len %s", value);
} else {
sprintf(xorriso->result_line, "-compliance untranslated_name_len=%s",
value);
}
} else if(strcmp(name, "allow_dir_id_ext") == 0) {
if(as_m) {
if(val_num > 0.0)
return(0);
sprintf(xorriso->result_line, "-disallow_dir_id_ext");
} else {
sprintf(xorriso->result_line, "-compliance allow_dir_id_ext%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "omit_version_numbers") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-N");
} else {
if(val_num <= 0.0)
sprintf(xorriso->result_line,
"-compliance omit_version_off:only_iso_version_off");
else if(val_num == 2.0)
sprintf(xorriso->result_line,
"-compliance omit_version_off:only_iso_version");
else
sprintf(xorriso->result_line,
"-compliance omit_version:only_iso_version_off");
}
} else if(strcmp(name, "allow_deep_paths") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-D");
} else {
sprintf(xorriso->result_line, "-compliance deep_paths%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "allow_longer_paths") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-U");
} else {
sprintf(xorriso->result_line, "-compliance long_paths%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "allow_full_ascii") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-U");
} else {
sprintf(xorriso->result_line, "-compliance full_ascii%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "max_37_char_filenames") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-max-iso9660-filenames");
} else {
sprintf(xorriso->result_line, "-compliance long_names%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "no_force_dots") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-d");
} else {
sprintf(xorriso->result_line,
"-compliance no_force_dots%s:no_j_force_dots%s",
((int) val_num) & 1 ? "" : "_off",
((int) val_num) & 2 ? "" : "_off");
}
} else if(strcmp(name, "allow_lowercase") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-allow-lowercase");
} else {
sprintf(xorriso->result_line, "-compliance lowercase%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "joliet_longer_paths") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-joliet-long");
} else {
sprintf(xorriso->result_line, "-compliance joliet_long_paths%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "joliet_long_names") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-joliet-long");
} else {
sprintf(xorriso->result_line, "-compliance joliet_long_names%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "joliet_utf16") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "-joliet-utf16");
} else {
sprintf(xorriso->result_line, "-compliance joliet_utf16%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "rrip_version_1_10") == 0) {
if(as_m) {
return(0);
} else {
sprintf(xorriso->result_line, "-compliance %s_rr",
val_num > 0.0 ? "old" : "new");
}
} else if(strcmp(name, "aaip_susp_1_10") == 0) {
if(as_m) {
return(0);
} else {
sprintf(xorriso->result_line, "-compliance aaip_susp_1_10%s",
val_num > 0.0 ? "" : "_off");
}
} else if(strcmp(name, "record_md5_session") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "--md5");
} else {
sprintf(xorriso->result_line, "-md5 %s", val_num > 0.0 ? "on" : "off");
}
} else if(strcmp(name, "record_md5_files") == 0) {
if(as_m) {
if(val_num <= 0.0)
return(0);
sprintf(xorriso->result_line, "--md5");
} else {
sprintf(xorriso->result_line, "-md5 %s", val_num > 0.0 ? "on" : "off");
}
} else {
sprintf(xorriso->info_text, "Program error: unexpected feature name '%s'",
name);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
return(-1);
}
return(1);
}
int Xorriso_assess_written_features(struct XorrisO *xorriso, char *mode,
int flag)
{
int ret, l, ftext_l, replay_count= 0, max_line_size= 2 * SfileadrL;
struct burn_drive_info *dinfo;
struct burn_drive *drive;
enum burn_disc_status s;
struct isoburn_read_opts *ropts= NULL;
IsoReadImageFeatures *features= NULL;
struct isoburn_imgen_opts *imgen_opts= NULL;
char *ftext= NULL, *cpt, *npt, *ept, *prev_line= NULL, *cmd_line= NULL;
static char *tree_loaded_names[3]= {"ISO9660", "Joliet", "ISO9660:1999"};
int tree_loaded_names_max= 2;
Xorriso_alloc_meM(prev_line, char, max_line_size);
Xorriso_alloc_meM(cmd_line, char, max_line_size);
prev_line[0]= 0;
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
"when assessing written features", 0);
if(ret <= 0)
{ret= 0; goto ex;}
s= isoburn_disc_get_status(drive);
if(s != BURN_DISC_APPENDABLE && s != BURN_DISC_FULL) {
Xorriso_msgs_submit(xorriso, 0,
"The disc in the input drive offers no readable content", 0, "NOTE", 0);
ret= 2; goto ex;
}
ret= Xorriso_make_read_options(xorriso, drive, &ropts, 0);
if(ret <= 0)
goto ex;
ret = isoburn_assess_written_features(drive, ropts, &features, &imgen_opts,
0);
Xorriso_process_msg_queues(xorriso,0);
/* <<< Resetting to normal thresholds, after Xorriso_make_read_options */
if(xorriso->img_read_error_mode > 0)
Xorriso_set_abort_severity(xorriso, 0);
if(ret <= 0)
{ret= 0; goto ex;}
ret= iso_read_image_features_text(features, 1, &ftext);
if(ret < 0)
{ret= 0; goto ex;}
/* print results, depending on mode */
ftext_l= strlen(ftext);
for(cpt= ftext ; cpt - ftext < ftext_l ; cpt+= l + 1) {
npt= strchr(cpt, '\n');
if(npt == NULL)
l= strlen(cpt);
else
l= npt - cpt;
cpt[l]= 0;
ept= strchr(cpt, '=');
if(ept == NULL)
continue;
if(strcmp(mode, "cmd") == 0 || strcmp(mode, "replay") == 0 ||
strcmp(mode, "as_mkisofs") == 0 ) {
*ept= 0;
ret= Xorriso_feature_to_cmd(xorriso, cpt, ept + 1,
strcmp(mode, "as_mkisofs") == 0);
if(ret <= 0)
continue;
} else { /* "plain" and any other */
strcpy(xorriso->result_line, "Indev feature: ");
if(strncmp(cpt, "tree_loaded=", 12) == 0) {
sprintf(xorriso->result_line + strlen(xorriso->result_line),
"tree_loaded=%d", xorriso->tree_loaded);
} else if(strncmp(cpt, "tree_loaded_text=", 17) == 0) {
if(xorriso->tree_loaded >= 0 &&
xorriso->tree_loaded <= tree_loaded_names_max)
sprintf(xorriso->result_line + strlen(xorriso->result_line),
"tree_loaded_text=%s",
tree_loaded_names[xorriso->tree_loaded]);
} else if(strncmp(cpt, "rr_loaded=", 10) == 0) {
sprintf(xorriso->result_line + strlen(xorriso->result_line),
"rr_loaded=%d", xorriso->rr_loaded);
} else {
strcat(xorriso->result_line, cpt);
}
}
/* Truncate to plausible length */
xorriso->result_line[max_line_size - 1]= 0;
if(strcmp(xorriso->result_line, prev_line) == 0)
continue;
strcpy(prev_line, xorriso->result_line);
if(strcmp(mode, "replay") == 0) {
/* Perform result_line as command */
strcpy(cmd_line, xorriso->result_line);
ret= Xorriso_execute_option(xorriso, cmd_line, (1 << 16));
if(ret <= 0) {
/* >>> ??? what to do on error */;
}
replay_count++;
} else {
strcat(xorriso->result_line, "\n");
Xorriso_result(xorriso, 0);
}
}
if(strcmp(mode, "replay") == 0) {
sprintf(xorriso->info_text,
"-assess_indev_features replay : Number of performed commands: %d\n",
replay_count);
Xorriso_info(xorriso, 0);
}
ret= 1;
ex:;
Xorriso_process_msg_queues(xorriso,0);
if(ropts != NULL)
isoburn_ropt_destroy(&ropts, 0);
if(features != NULL)
iso_read_image_features_destroy(features);
if(imgen_opts != NULL)
isoburn_igopt_destroy(&imgen_opts, 0);
Xorriso_free_meM(ftext);
Xorriso_free_meM(cmd_line);
Xorriso_free_meM(prev_line);
return(ret);
}

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2022 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -487,6 +487,25 @@ int Xorriso_option_assert_volid(struct XorrisO *xorriso, char *pattern,
} }
/* Command -assess_indev_features */
int Xorriso_option_assess_indev_features(struct XorrisO *xorriso, char *mode,
int flag)
{
int ret;
if(strcmp(mode, "plain") != 0 && strcmp(mode, "cmd") != 0 &&
strcmp(mode, "as_mkisofs") != 0 && strcmp(mode, "replay") != 0 &&
mode[0] != 0) {
sprintf(xorriso->info_text, "-assess_indev_features: unknown mode '%s'",
mode);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
ret= Xorriso_assess_written_features(xorriso, mode, 0);
return(ret);
}
/* Option -auto_charset "on"|"off" */ /* Option -auto_charset "on"|"off" */
int Xorriso_option_auto_charset(struct XorrisO *xorriso, char *mode, int flag) int Xorriso_option_auto_charset(struct XorrisO *xorriso, char *mode, int flag)
{ {

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2022 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -535,7 +535,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
}; };
static char arg1_commands[][40]= { static char arg1_commands[][40]= {
"abort_on","acl","add_plainly","application_id","application_use", "abort_on","acl","add_plainly","application_id","application_use",
"auto_charset","abstract_file", "auto_charset","abstract_file","assess_indev_features",
"backslash_codes","blank","biblio_file", "backslash_codes","blank","biblio_file",
"calm_drive","cd","cdi","cdx","changes_pending","charset", "calm_drive","cd","cdi","cdx","changes_pending","charset",
"close","close_damaged", "close","close_damaged",
@ -710,6 +710,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", "toc_of", "pvd_info", "report_system_area", "report_el_torito", "toc", "toc_of", "pvd_info", "report_system_area", "report_el_torito",
"assess_indev_features",
"* Settings for file insertion:", "* Settings for file insertion:",
"file_name_limit", "file_size_limit", "file_name_limit", "file_size_limit",
@ -1082,6 +1083,10 @@ next_command:;
(*idx)+= 2; (*idx)+= 2;
ret= Xorriso_option_assert_volid(xorriso, arg1, arg2, 0); ret= Xorriso_option_assert_volid(xorriso, arg1, arg2, 0);
} else if(strcmp(cmd,"assess_indev_features")==0) {
(*idx)++;
ret= Xorriso_option_assess_indev_features(xorriso, arg1, 0);
} else if(strcmp(cmd,"auto_charset")==0) { } else if(strcmp(cmd,"auto_charset")==0) {
(*idx)++; (*idx)++;
ret= Xorriso_option_auto_charset(xorriso, arg1, 0); ret= Xorriso_option_auto_charset(xorriso, arg1, 0);

View File

@ -2084,6 +2084,8 @@ int Xorriso_sieve_big(struct XorrisO *xorriso, int flag)
10000, 1}, 10000, 1},
{"Image size :", 3, "Image size :", "", 1, { 0, -1, -1, -1, -1, -1}, {"Image size :", 3, "Image size :", "", 1, { 0, -1, -1, -1, -1, -1},
1, 0}, 1, 0},
{"Indev feature:", 3, "Indev feature:", "= ", 2, { 0, 1, -1, -1, -1, -1},
10000, 1},
{"Jigdo files :", 3, "Jigdo files :", "", 1, { 0, -1, -1, -1, -1, -1}, {"Jigdo files :", 3, "Jigdo files :", "", 1, { 0, -1, -1, -1, -1, -1},
1, 0}, 1, 0},
{"Local ACL :", 3, "Local ACL :", "", 1, { 0, -1, -1, -1, -1, -1}, {"Local ACL :", 3, "Local ACL :", "", 1, { 0, -1, -1, -1, -1, -1},

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.5.5, Jun 02, 2022" .TH XORRISO 1 "Version 1.5.5, Sep 18, 2022"
.\" 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:
@ -4440,6 +4440,48 @@ summary of drive state and medium content is printed.
As further difference to \-toc, this command does not emit FAILURE events As further difference to \-toc, this command does not emit FAILURE events
if the desired drive is not acquired. if the desired drive is not acquired.
.TP .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
used when the filesystem was created.
.br
Note that this command does not detect and report a possibly present HFS+ tree.
.br
Mode "cmd" lists xorriso commands which would activate the detected settings.
.br
Mode "as_mkisofs" lists options of the \-as mkisofs emulation, which would
activate those of the detected settings which are not default.
.br
Mode "replay" performs the commands which get listed by mode "cmd".
.br
Mode "plain" lists after a "Indev feature: " header name\-value pairs as
delivered by libisofs function iso_read_image_feature_named(). See libisofs.h.
The other modes derive their output from this list. I.e. the sequence of
commands from "cmd" follows the sequence of "plain".
.br
Not leading to "cmd" lines are:
.br
"size=" tells the number of 2048 byte blocks of the filesystem.
.br
"eltorito=1" tells that El Torito boot equipment was detected.
.br
"tree_loaded=" tells which tree was loaded by \-indev:
.br
0 = ISO 9660 , 1 = Joliet , 2 = ISO 9660:1999
.br
"tree_loaded_text=" tells the same by name: "ISO9660", "Joliet", "ISO9660:1999"
.br
"rr_loaded=1" tells that Rock Ridge information was loaded with the tree.
.br
"aaip=1" tells that AAIP information was detected (ACL, xattr, MD5, ...).
.br
"relaxed_vol_atts=1" tells that the volume attributes like \-volid or
\-preparer_id bear characters outside the restricted character sets which are
specified for them by ECMA\-119.
.br
"rrip_1_10_px_ino=1" tells that with Rock Ridge 1.10 a PX entry was found which
looks like from Rock Ridge 1.12.
.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
indicated by drive, entity and id. indicated by drive, entity and id.

View File

@ -2,7 +2,7 @@
/* xorriso - libisoburn higher level API which creates, loads, manipulates /* xorriso - libisoburn higher level API which creates, loads, manipulates
and burns ISO 9660 filesystem images. and burns ISO 9660 filesystem images.
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2022 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -867,6 +867,9 @@ int Xorriso_sieve_dispose(struct XorrisO *xorriso, int flag);
argv[3]= Volume Id argv[3]= Volume Id
"Image size :" up to 1 result from -print_size "Image size :" up to 1 result from -print_size
argv[0]= number of blocks with "s" appended argv[0]= number of blocks with "s" appended
"Indev feature:" up to 10000 results from -assess_indev_features plain
argv[0]= name
argv[1]= value
"Jigdo files :" up to 1 result from -list_extras "Jigdo files :" up to 1 result from -list_extras
argv[0]= "yes" or "no" argv[0]= "yes" or "no"
"Local ACL :" up to 1 result from -list_extras "Local ACL :" up to 1 result from -list_extras
@ -1293,6 +1296,11 @@ int Xorriso_option_as(struct XorrisO *xorriso, int argc, char **argv,
int Xorriso_option_assert_volid(struct XorrisO *xorriso, char *pattern, int Xorriso_option_assert_volid(struct XorrisO *xorriso, char *pattern,
char *severity, int flag); char *severity, int flag);
/* Command -assess_indev_features */
/* @since 1.5.6 */
int Xorriso_option_assess_indev_features(struct XorrisO *xorriso, char *mode,
int flag);
/* Command -auto_charset "on"|"off" */ /* Command -auto_charset "on"|"off" */
/* @since 0.3.8 */ /* @since 0.3.8 */
int Xorriso_option_auto_charset(struct XorrisO *xorriso, char *mode, int flag); int Xorriso_option_auto_charset(struct XorrisO *xorriso, char *mode, int flag);

View File

@ -3734,6 +3734,40 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Comm
short summary of drive state and medium content is printed. short summary of drive state and medium content is printed.
As further difference to -toc, this command does not emit FAILURE As further difference to -toc, this command does not emit FAILURE
events if the desired drive is not acquired. events if the desired drive is not acquired.
-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
which seem to have been used when the filesystem was created.
Note that this command does not detect and report a possibly
present HFS+ tree.
Mode "cmd" lists xorriso commands which would activate the detected
settings.
Mode "as_mkisofs" lists options of the -as mkisofs emulation, which
would activate those of the detected settings which are not
default.
Mode "replay" performs the commands which get listed by mode "cmd".
Mode "plain" lists after a "Indev feature: " header name-value
pairs as delivered by libisofs function
iso_read_image_feature_named(). See libisofs.h. The other modes
derive their output from this list. I.e. the sequence of commands
from "cmd" follows the sequence of "plain".
Not leading to "cmd" lines are:
"size=" tells the number of 2048 byte blocks of the filesystem.
"eltorito=1" tells that El Torito boot equipment was detected.
"tree_loaded=" tells which tree was loaded by -indev:
0 = ISO 9660 , 1 = Joliet , 2 = ISO 9660:1999
"tree_loaded_text=" tells the same by name: "ISO9660", "Joliet",
"ISO9660:1999"
"rr_loaded=1" tells that Rock Ridge information was loaded with the
tree.
"aaip=1" tells that AAIP information was detected (ACL, xattr, MD5,
...).
"relaxed_vol_atts=1" tells that the volume attributes like -volid
or -preparer_id bear characters outside the restricted character
sets which are specified for them by ECMA-119.
"rrip_1_10_px_ino=1" tells that with Rock Ridge 1.10 a PX entry was
found which looks like from Rock Ridge 1.12.
-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
indicated by drive, entity and id. The result will be different on indicated by drive, entity and id. The result will be different on
@ -5603,6 +5637,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -application_use sets application use field: SetWrite. (line 272) * -application_use sets application use field: SetWrite. (line 272)
* -as emulates mkisofs or cdrecord: Emulation. (line 13) * -as emulates mkisofs or cdrecord: Emulation. (line 13)
* -assert_volid rejects undesired images: Loading. (line 105) * -assert_volid rejects undesired images: Loading. (line 105)
* -assess_indev_features shows filesystem features: Inquiry. (line 49)
* -auto_charset learns character set from image: Loading. (line 117) * -auto_charset learns character set from image: Loading. (line 117)
* -backslash_codes enables backslash conversion: Scripting. (line 71) * -backslash_codes enables backslash conversion: Scripting. (line 71)
* -ban_stdio_write demands real drive: Loading. (line 346) * -ban_stdio_write demands real drive: Loading. (line 346)
@ -5729,8 +5764,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -mkdir creates ISO directory: Insert. (line 187) * -mkdir creates ISO directory: Insert. (line 187)
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 419) * -modesty_on_drive keep drive buffer hungry: SetWrite. (line 419)
* -mount issues mount command for ISO session: Restore. (line 204) * -mount issues mount command for ISO session: Restore. (line 204)
* -mount_cmd composes mount command line: Inquiry. (line 49) * -mount_cmd composes mount command line: Inquiry. (line 83)
* -mount_cmd controls mount command: Inquiry. (line 65) * -mount_cmd controls mount command: Inquiry. (line 99)
* -msg_op perform operations on program messages: Frontend. (line 27) * -msg_op perform operations on program messages: Frontend. (line 27)
* -mv renames files in ISO image: Manip. (line 37) * -mv renames files in ISO image: Manip. (line 37)
* -mv renames single file in ISO image: Manip. (line 31) * -mv renames single file in ISO image: Manip. (line 31)
@ -5756,12 +5791,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -print prints result text line: Scripting. (line 102) * -print prints result text line: Scripting. (line 102)
* -print_info prints message text line: Scripting. (line 104) * -print_info prints message text line: Scripting. (line 104)
* -print_mark prints synchronizing text line: Scripting. (line 106) * -print_mark prints synchronizing text line: Scripting. (line 106)
* -print_size predicts image size: Inquiry. (line 86) * -print_size predicts image size: Inquiry. (line 120)
* -prog sets program name: Frontend. (line 176) * -prog sets program name: Frontend. (line 176)
* -prog_help prints help text: Frontend. (line 178) * -prog_help prints help text: Frontend. (line 178)
* -prompt prompts for enter key: Scripting. (line 110) * -prompt prompts for enter key: Scripting. (line 110)
* -publisher sets publisher id: SetWrite. (line 192) * -publisher sets publisher id: SetWrite. (line 192)
* -pvd_info shows image id strings: Inquiry. (line 108) * -pvd_info shows image id strings: Inquiry. (line 142)
* -pwd tells working directory in ISO: Navigate. (line 19) * -pwd tells working directory in ISO: Navigate. (line 19)
* -pwdx tells working directory on disk: Navigate. (line 21) * -pwdx tells working directory on disk: Navigate. (line 21)
* -quoted_not_list sets exclusions: SetInsert. (line 74) * -quoted_not_list sets exclusions: SetInsert. (line 74)
@ -5772,8 +5807,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -read_speed set read speed: Loading. (line 11) * -read_speed set read speed: Loading. (line 11)
* -reassure enables confirmation question: DialogCtl. (line 29) * -reassure enables confirmation question: DialogCtl. (line 29)
* -report_about controls verbosity: Exception. (line 53) * -report_about controls verbosity: Exception. (line 53)
* -report_el_torito shows Boot Catalog: Inquiry. (line 116) * -report_el_torito shows Boot Catalog: Inquiry. (line 150)
* -report_system_area shows MBR, GPT, and alike: Inquiry. (line 138) * -report_system_area shows MBR, GPT, and alike: Inquiry. (line 172)
* -return_with controls exit value: Exception. (line 38) * -return_with controls exit value: Exception. (line 38)
* -rm deletes files from ISO image: Manip. (line 20) * -rm deletes files from ISO image: Manip. (line 20)
* -rmdir deletes ISO directory: Manip. (line 29) * -rmdir deletes ISO directory: Manip. (line 29)
@ -5788,7 +5823,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -scsi_dev_family choose Linux device file type: AqDrive. (line 95) * -scsi_dev_family choose Linux device file type: AqDrive. (line 95)
* -scsi_log reports SCSI commands: Scripting. (line 143) * -scsi_log reports SCSI commands: Scripting. (line 143)
* -session_log logs written sessions: Scripting. (line 134) * -session_log logs written sessions: Scripting. (line 134)
* -session_string composes session info line: Inquiry. (line 74) * -session_string composes session info line: Inquiry. (line 108)
* -setfacl sets ACL in ISO image: Manip. (line 68) * -setfacl sets ACL in ISO image: Manip. (line 68)
* -setfacl_list sets ACL in ISO image: Manip. (line 94) * -setfacl_list sets ACL in ISO image: Manip. (line 94)
* -setfacl_r sets ACL in ISO image: Manip. (line 92) * -setfacl_r sets ACL in ISO image: Manip. (line 92)
@ -5811,7 +5846,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -stdio_sync controls stdio buffer: SetWrite. (line 469) * -stdio_sync controls stdio buffer: SetWrite. (line 469)
* -stream_recording controls defect management: SetWrite. (line 389) * -stream_recording controls defect management: SetWrite. (line 389)
* -system_id sets system id: SetWrite. (line 205) * -system_id sets system id: SetWrite. (line 205)
* -tell_media_space reports free space: Inquiry. (line 98) * -tell_media_space reports free space: Inquiry. (line 132)
* -temp_mem_limit curbs memory consumption: Scripting. (line 96) * -temp_mem_limit curbs memory consumption: Scripting. (line 96)
* -toc shows list of sessions: Inquiry. (line 27) * -toc shows list of sessions: Inquiry. (line 27)
* -toc_of shows list of sessions: Inquiry. (line 41) * -toc_of shows list of sessions: Inquiry. (line 41)
@ -5925,6 +5960,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* File names, curb length, -file_name_limit: Loading. (line 276) * File names, curb length, -file_name_limit: Loading. (line 276)
* File names, if Joliet is loaded: Loading. (line 242) * File names, if Joliet is loaded: Loading. (line 242)
* File names, if neither Rock Ridge nor Joliet: Loading. (line 229) * File names, if neither Rock Ridge nor Joliet: Loading. (line 229)
* Filesytem features, show, -assess_indev_features: Inquiry. (line 49)
* Filter, apply to file tree, -set_filter_r: Filter. (line 84) * Filter, apply to file tree, -set_filter_r: Filter. (line 84)
* Filter, apply to file, -set_filter: Filter. (line 58) * Filter, apply to file, -set_filter: Filter. (line 58)
* Filter, ban registration, -close_filter_list: Filter. (line 50) * Filter, ban registration, -close_filter_list: Filter. (line 50)
@ -5966,9 +6002,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Image, set volume id, -volid: SetWrite. (line 168) * Image, set volume id, -volid: SetWrite. (line 168)
* Image, set volume set id, -volset_id: SetWrite. (line 188) * Image, set volume set id, -volset_id: SetWrite. (line 188)
* Image, set volume timestamp, -volume_date: SetWrite. (line 211) * Image, set volume timestamp, -volume_date: SetWrite. (line 211)
* Image, show Boot Catalog: Inquiry. (line 116) * Image, show Boot Catalog: Inquiry. (line 150)
* Image, show id strings, -pvd_info: Inquiry. (line 108) * Image, show id strings, -pvd_info: Inquiry. (line 142)
* Image, show MBR, GPT, and alike, -pvd_info: Inquiry. (line 138) * Image, show MBR, GPT, and alike, -pvd_info: Inquiry. (line 172)
* Image, _definition: Model. (line 9) * Image, _definition: Model. (line 9)
* Input Character Set, _definition: Charset. (line 25) * Input Character Set, _definition: Charset. (line 25)
* Insert, enable overwriting, -overwrite: SetInsert. (line 139) * Insert, enable overwriting, -overwrite: SetInsert. (line 139)
@ -6103,11 +6139,11 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 61) (line 61)
* Rock Ridge, _definition: Extras. (line 6) * Rock Ridge, _definition: Extras. (line 6)
* Session, altered start address, -displacement: Loading. (line 78) * Session, altered start address, -displacement: Loading. (line 78)
* Session, info string, -session_string: Inquiry. (line 74) * Session, info string, -session_string: Inquiry. (line 108)
* Session, issue mount command, -mount: Restore. (line 204) * Session, issue mount command, -mount: Restore. (line 204)
* Session, log when written, -session_log: Scripting. (line 134) * Session, log when written, -session_log: Scripting. (line 134)
* Session, mount command line, -mount_cmd: Inquiry. (line 49) * Session, mount command line, -mount_cmd: Inquiry. (line 83)
* Session, mount parameters, -mount_opts: Inquiry. (line 65) * Session, mount parameters, -mount_opts: Inquiry. (line 99)
* Session, select as input, -load: Loading. (line 54) * Session, select as input, -load: Loading. (line 54)
* Session, _definition: Model. (line 6) * Session, _definition: Model. (line 6)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26) * Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26)
@ -6141,12 +6177,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 479) * Write, fifo size, -fs: SetWrite. (line 479)
* Write, free space, -tell_media_space: Inquiry. (line 98) * Write, free space, -tell_media_space: Inquiry. (line 132)
* Write, log problematic disk files, -errfile_log: Scripting. (line 116) * Write, log problematic disk files, -errfile_log: Scripting. (line 116)
* Write, log written sessions, -session_log: Scripting. (line 134) * Write, log written sessions, -session_log: Scripting. (line 134)
* Write, padding image, -padding: SetWrite. (line 507) * Write, padding image, -padding: SetWrite. (line 507)
* Write, pending ISO image, -commit: Writing. (line 27) * Write, pending ISO image, -commit: Writing. (line 27)
* Write, predict image size, -print_size: Inquiry. (line 86) * Write, predict image size, -print_size: Inquiry. (line 120)
* Write, set speed, -speed: SetWrite. (line 371) * Write, set speed, -speed: SetWrite. (line 371)
* Write, simulation, -dummy: SetWrite. (line 476) * Write, simulation, -dummy: SetWrite. (line 476)
* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 500) * Write, TAO or SAO/DAO, -write_type: SetWrite. (line 500)
@ -6187,35 +6223,35 @@ Node: Charset189084
Node: Exception192413 Node: Exception192413
Node: DialogCtl198542 Node: DialogCtl198542
Node: Inquiry201144 Node: Inquiry201144
Node: Navigate210026 Node: Navigate211859
Node: Verify218733 Node: Verify220566
Node: Restore229882 Node: Restore231715
Node: Emulation242090 Node: Emulation243923
Node: Scripting252546 Node: Scripting254379
Node: Frontend260329 Node: Frontend262162
Node: Examples269955 Node: Examples271788
Node: ExDevices271133 Node: ExDevices272966
Node: ExCreate271794 Node: ExCreate273627
Node: ExDialog273094 Node: ExDialog274927
Node: ExGrowing274365 Node: ExGrowing276198
Node: ExModifying275174 Node: ExModifying277007
Node: ExBootable275684 Node: ExBootable277517
Node: ExCharset276239 Node: ExCharset278072
Node: ExPseudo277135 Node: ExPseudo278968
Node: ExCdrecord278062 Node: ExCdrecord279895
Node: ExMkisofs278382 Node: ExMkisofs280215
Node: ExGrowisofs280279 Node: ExGrowisofs282112
Node: ExException281432 Node: ExException283265
Node: ExTime281890 Node: ExTime283723
Node: ExIncBackup282348 Node: ExIncBackup284181
Node: ExRestore286374 Node: ExRestore288207
Node: ExRecovery287320 Node: ExRecovery289153
Node: Files287892 Node: Files289725
Node: Environ289226 Node: Environ291059
Node: Seealso289974 Node: Seealso291807
Node: Bugreport290691 Node: Bugreport292524
Node: Legal291282 Node: Legal293115
Node: CommandIdx292294 Node: CommandIdx294127
Node: ConceptIdx310119 Node: ConceptIdx312025
 
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.5.5, Jun 02, 2022" @c man .TH XORRISO 1 "Version 1.5.5, Sep 18, 2022"
@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:
@ -5082,6 +5082,50 @@ summary of drive state and medium content is printed.
As further difference to -toc, this command does not emit FAILURE events As further difference to -toc, this command does not emit FAILURE events
if the desired drive is not acquired. if the desired drive is not acquired.
@c man .TP @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
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
used when the filesystem was created.
@*
Note that this command does not detect and report a possibly present HFS+ tree.
@*
Mode "cmd" lists xorriso commands which would activate the detected settings.
@*
Mode "as_mkisofs" lists options of the -as mkisofs emulation, which would
activate those of the detected settings which are not default.
@*
Mode "replay" performs the commands which get listed by mode "cmd".
@*
Mode "plain" lists after a "Indev feature: " header name-value pairs as
delivered by libisofs function iso_read_image_feature_named(). See libisofs.h.
The other modes derive their output from this list. I.e. the sequence of
commands from "cmd" follows the sequence of "plain".
@*
Not leading to "cmd" lines are:
@*
"size=" tells the number of 2048 byte blocks of the filesystem.
@*
"eltorito=1" tells that El Torito boot equipment was detected.
@*
"tree_loaded=" tells which tree was loaded by -indev:
@*
0 = ISO 9660 , 1 = Joliet , 2 = ISO 9660:1999
@*
"tree_loaded_text=" tells the same by name: "ISO9660", "Joliet", "ISO9660:1999"
@*
"rr_loaded=1" tells that Rock Ridge information was loaded with the tree.
@*
"aaip=1" tells that AAIP information was detected (ACL, xattr, MD5, ...).
@*
"relaxed_vol_atts=1" tells that the volume attributes like -volid or
-preparer_id bear characters outside the restricted character sets which are
specified for them by ECMA-119.
@*
"rrip_1_10_px_ino=1" tells that with Rock Ridge 1.10 a PX entry was found which
looks like from Rock Ridge 1.12.
@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
@cindex Session, mount command line, -mount_cmd @cindex Session, mount command line, -mount_cmd

View File

@ -1 +1 @@
#define Xorriso_timestamP "2022.06.13.205546" #define Xorriso_timestamP "2022.09.20.082738"

View File

@ -4,7 +4,7 @@
a command line oriented batch and dialog tool which creates, loads, a command line oriented batch and dialog tool which creates, loads,
manipulates and burns ISO 9660 filesystem images. manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2022 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -676,6 +676,9 @@ int Xorriso_set_libisofs_now(struct XorrisO *xorriso, int flag);
int Xorriso_obtain_indev_readsize(struct XorrisO *xorriso, uint32_t *blocks, int Xorriso_obtain_indev_readsize(struct XorrisO *xorriso, uint32_t *blocks,
int flag); int flag);
int Xorriso_assess_written_features(struct XorrisO *xorriso, char *mode,
int flag);
/* Frontend to isoburn_conv_name_chars() */ /* Frontend to isoburn_conv_name_chars() */
int Xorriso_conv_name_chars(struct XorrisO *xorriso, char *name, int Xorriso_conv_name_chars(struct XorrisO *xorriso, char *name,
char **result, size_t *result_len, char **result, size_t *result_len,