New commands -lfa_flags, -lsattr, -lsattrd, -chattr, -chattr_r, -find test -has_lfa_flags, -find actions lsattrd, chattr

This commit is contained in:
2024-07-20 23:12:16 +02:00
parent dfd0a8cc81
commit 0802689b11
26 changed files with 1222 additions and 165 deletions

View File

@ -49,6 +49,8 @@ int Xorriso_set_ignore_aclea(struct XorrisO *xorriso, int flag)
hflag|= 2;
if(xorriso->do_aaip & 1024)
hflag|= 8;
if(xorriso->do_aaip & 2048)
hflag|= 4;
iso_image_set_ignore_aclea(volume, hflag);
return(1);
}
@ -1148,7 +1150,7 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode,
burn_preset_device_open(
(xorriso->drives_exclusive && !(xorriso->mount_opts_flag & 1)) |
(xorriso->linux_scsi_dev_family << 2), 0, 0);
aquire_flag= 1;
aquire_flag= 1 | 32 | 64;
if((xorriso->toc_emulation_flag & 2) && (adr_mode == 3 || adr_mode == 0))
aquire_flag|= 16; /* -rom_toc_scan emul_off with sbsector or auto */
if(xorriso->toc_emulation_flag & 4)
@ -3436,3 +3438,40 @@ ex:;
return(ret);
}
int Xorriso_decode_lfa_flags(struct XorrisO *xorriso, char *flags_text,
uint64_t *lfa_flags, int flag)
{
int ret;
ret= iso_util_decode_lfa_flags(flags_text, lfa_flags, 0);
if(ret < 0) {
Xorriso_report_iso_error(xorriso, "", ret,
"Error when converting chattr attribute letters",
0, "WARNING", 1);
return(0);
}
return(1);
}
/* @param flags_text will return the resulting text in allocated memory.
@param flag bit0= produce lsattr(1) format with '-' and peculiar
sequence
*/
int Xorriso_encode_lfa_flags(struct XorrisO *xorriso, uint64_t lfa_flags,
char **flags_text, int flag)
{
int ret;
ret= iso_util_encode_lfa_flags(lfa_flags, flags_text, flag & 1);
if(ret < 0) {
Xorriso_report_iso_error(xorriso, "", ret,
"Error when converting chattr attribute bits",
0, "WARNING", 1);
return(0);
}
return(1);
}