New command -assess_indev_features
This commit is contained in:
parent
d2fd48fcbc
commit
e594ba293a
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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);
|
||||||
|
@ -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},
|
||||||
|
@ -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.
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2022.06.13.205546"
|
#define Xorriso_timestamP "2022.09.20.082738"
|
||||||
|
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user