xattr.h revision b4eca4b24af9c80ebb2a7fa2ba539a48096b7576
1493dad966305a7fb555addd367532dd2af275a27San Mehat#include <sys/types.h>
2493dad966305a7fb555addd367532dd2af275a27San Mehat
3493dad966305a7fb555addd367532dd2af275a27San Mehat#define EXT4_XATTR_MAGIC 0xEA020000
4493dad966305a7fb555addd367532dd2af275a27San Mehat#define EXT4_XATTR_INDEX_SECURITY 6
5493dad966305a7fb555addd367532dd2af275a27San Mehat
6493dad966305a7fb555addd367532dd2af275a27San Mehatstruct ext4_xattr_entry {
7493dad966305a7fb555addd367532dd2af275a27San Mehat    __u8 e_name_len;
8493dad966305a7fb555addd367532dd2af275a27San Mehat    __u8 e_name_index;
9493dad966305a7fb555addd367532dd2af275a27San Mehat    __le16 e_value_offs;
10493dad966305a7fb555addd367532dd2af275a27San Mehat    __le32 e_value_block;
11493dad966305a7fb555addd367532dd2af275a27San Mehat    __le32 e_value_size;
12493dad966305a7fb555addd367532dd2af275a27San Mehat    __le32 e_hash;
13493dad966305a7fb555addd367532dd2af275a27San Mehat    char e_name[0];
14493dad966305a7fb555addd367532dd2af275a27San Mehat};
15493dad966305a7fb555addd367532dd2af275a27San Mehat
16493dad966305a7fb555addd367532dd2af275a27San Mehat#define EXT4_XATTR_PAD_BITS 2
17493dad966305a7fb555addd367532dd2af275a27San Mehat#define EXT4_XATTR_PAD (1<<EXT4_XATTR_PAD_BITS)
18493dad966305a7fb555addd367532dd2af275a27San Mehat#define EXT4_XATTR_ROUND (EXT4_XATTR_PAD-1)
19493dad966305a7fb555addd367532dd2af275a27San Mehat#define EXT4_XATTR_LEN(name_len) \
20493dad966305a7fb555addd367532dd2af275a27San Mehat    (((name_len) + EXT4_XATTR_ROUND + \
21493dad966305a7fb555addd367532dd2af275a27San Mehat    sizeof(struct ext4_xattr_entry)) & ~EXT4_XATTR_ROUND)
22493dad966305a7fb555addd367532dd2af275a27San Mehat#define EXT4_XATTR_SIZE(size) \
23493dad966305a7fb555addd367532dd2af275a27San Mehat    (((size) + EXT4_XATTR_ROUND) & ~EXT4_XATTR_ROUND)
24493dad966305a7fb555addd367532dd2af275a27San Mehat