Lines Matching defs:chattr
11 USE_CHATTR(NEWTOY(chattr, NULL, TOYFLAG_BIN))
20 (AacDdijsStu defined in chattr --help)
29 bool "chattr"
32 usage: chattr [-R] [-+=AacDdijsStTu] [-v version] [File...]
182 // Switch gears from lsattr to chattr.
190 } chattr;
211 // Parse command line argument and fill the chattr structure.
221 chattr.recursive = 1;
230 chattr.version = strtoul(arg, &endptr, 0);
232 chattr.vflag = 1;
234 } else chattr.rm |= get_flag_val(*ptr);
239 chattr.add |= get_flag_val(*ptr);
243 chattr.set |= get_flag_val(*ptr);
264 if ((S_ISLNK(root->st.st_mode) && chattr.recursive)
281 if (chattr.set) { // for '=' operator.
282 if (ext2_setflag(fd, &(root->st), chattr.set) < 0)
285 fval &= ~(chattr.rm);
286 fval |= chattr.add;
292 if (chattr.vflag && (ioctl(fd, FS_IOC_SETVERSION, &chattr.version)<0))
297 return (S_ISDIR(root->st.st_mode) && chattr.recursive) ? DIRTREE_RECURSE : 0;
304 memset(&chattr, 0, sizeof(struct _chattr));
307 if (chattr.set && (chattr.add || chattr.rm))
309 if (chattr.rm & chattr.add) error_exit("set/unset same flag");
310 if (!(chattr.add || chattr.rm || chattr.set || chattr.vflag))