v1.13.3
[wimlib] / include / wimlib / tagged_items.h
1 #ifndef _WIMLIB_TAGGED_ITEMS_H
2 #define _WIMLIB_TAGGED_ITEMS_H
3
4 #include "wimlib/types.h"
5
6 struct wim_inode;
7
8 /* Windows-style object ID */
9 #define TAG_OBJECT_ID                   0x00000001
10
11 /* Extended attributes */
12 #define TAG_XATTRS                      0x00000002
13
14 /* [wimlib extension] Standard UNIX metadata: uid, gid, mode, and rdev */
15 #define TAG_WIMLIB_UNIX_DATA            0x337DD873
16
17 /*
18  * [wimlib extension] Linux-style extended attributes
19  * (deprecated in favor of TAG_XATTRS)
20  */
21 #define TAG_WIMLIB_LINUX_XATTRS         0x337DD874
22
23 extern void *
24 inode_get_tagged_item(const struct wim_inode *inode, u32 tag, u32 min_len,
25                       u32 *actual_len_ret);
26
27 extern bool
28 inode_set_tagged_item(struct wim_inode *inode, u32 tag,
29                       const void *data, u32 len);
30
31 #endif /* _WIMLIB_TAGGED_ITEMS_H */