blob: 0fa2f83b976ebdafc96a0b83a7e626e66ff75003 [file] [log] [blame]
#ifndef TUX3_IATTR_H
#define TUX3_IATTR_H
enum atkind {
/* Fixed size attrs */
RDEV_ATTR = 0,
MODE_OWNER_ATTR = 1,
DATA_BTREE_ATTR = 2,
CTIME_SIZE_ATTR = 3,
LINK_COUNT_ATTR = 4,
MTIME_ATTR = 5,
/* i_blocks = 6 */
/* i_generation = 7 */
/* i_version = 8 */
/* i_flag = 9 */
RESERVED1_ATTR = 10,
VAR_ATTRS,
/* Variable size (extended) attrs */
IDATA_ATTR = 11,
XATTR_ATTR = 12,
/* acl = 13 */
/* allocation hint = 14 */
RESERVED2_ATTR = 15,
MAX_ATTRS,
};
enum atbit {
/* Fixed size attrs */
RDEV_BIT = 1 << RDEV_ATTR,
MODE_OWNER_BIT = 1 << MODE_OWNER_ATTR,
CTIME_SIZE_BIT = 1 << CTIME_SIZE_ATTR,
DATA_BTREE_BIT = 1 << DATA_BTREE_ATTR,
LINK_COUNT_BIT = 1 << LINK_COUNT_ATTR,
MTIME_BIT = 1 << MTIME_ATTR,
/* Variable size (extended) attrs */
IDATA_BIT = 1 << IDATA_ATTR,
XATTR_BIT = 1 << XATTR_ATTR,
};
extern unsigned atsize[MAX_ATTRS];
struct iattr_req_data {
struct tux3_iattr_data *idata; /* inode attributes */
struct btree *btree; /* inode dtree */
struct inode *inode; /* extended attributes */
};
#endif /* !TUX3_IATTR_H */