1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_XATTR_FORMAT_H
3 #define _BCACHEFS_XATTR_FORMAT_H
4 
5 #define KEY_TYPE_XATTR_INDEX_USER		0
6 #define KEY_TYPE_XATTR_INDEX_POSIX_ACL_ACCESS	1
7 #define KEY_TYPE_XATTR_INDEX_POSIX_ACL_DEFAULT	2
8 #define KEY_TYPE_XATTR_INDEX_TRUSTED		3
9 #define KEY_TYPE_XATTR_INDEX_SECURITY	        4
10 
11 struct bch_xattr {
12 	struct bch_val		v;
13 	__u8			x_type;
14 	__u8			x_name_len;
15 	__le16			x_val_len;
16 	/*
17 	 * x_name contains the name and value counted by
18 	 * x_name_len + x_val_len. The introduction of
19 	 * __counted_by(x_name_len) caused a false positive
20 	 * detection of an out of bounds write.
21 	 */
22 	__u8			x_name[];
23 } __packed __aligned(8);
24 
25 #endif /* _BCACHEFS_XATTR_FORMAT_H */
26