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

@ -57,6 +57,7 @@ struct ExprtesT {
26= -mindepth int *arg1
27= -size off_t *arg1 int *arg2 (0=test for equal, -1=smaller, 1=larger,
-2=smaller_or_equal , 2=larger_or_equal)
28= -has_lfa_flags uint64_t *arg1 (Linux file attribute flag bits)
*/
int test_type;
@ -187,6 +188,8 @@ struct FindjoB {
57= like 55 but tolerating existing truncated names
58= internal: last_data_file_block
59= set_to_mtime
60= lsattrd
61= chattr mode
*/
int action;
int prune;
@ -206,6 +209,7 @@ struct FindjoB {
off_t estim_lower_size;
struct FindjoB *subjob;
uint32_t last_data_file_block;
uint64_t lfa_flags;
/* Errors */
char errmsg[4096];
@ -273,6 +277,9 @@ int Findjob_set_bless_filter(struct XorrisO *xorriso, struct FindjoB *o,
int Findjob_set_arg1(struct FindjoB *o, int test_type, char *arg1, int flag);
int Findjob_set_uint64_filter(struct FindjoB *o, int test_type, uint64_t value,
int flag);
int Findjob_open_bracket(struct FindjoB *job, int flag);
int Findjob_close_bracket(struct FindjoB *job, int flag);
@ -299,6 +306,9 @@ int Findjob_test_2(struct XorrisO *xorriso, struct FindjoB *o,
int Findjob_set_action_found_path(struct FindjoB *o, int flag);
int Findjob_set_action_chattr(struct FindjoB *o, int action,
uint64_t lfa_flags, int operator, int flag);
/* @param flag bit0= recursive
*/
int Findjob_set_action_target(struct FindjoB *o, int action, char *target,
@ -375,7 +385,7 @@ int Findjob_get_action_parms(struct FindjoB *o, char **target, char **text_2,
uid_t *user, gid_t *group,
mode_t *mode_and, mode_t *mode_or,
int *type, time_t *date, struct FindjoB **subjob,
int flag);
uint64_t *lfa_flags, int flag);
int Findjob_set_found_path(struct FindjoB *o, char *path, int flag);