Add support for special files on UNIX
[wimlib] / include / wimlib / unix_data.h
1 #ifndef _WIMLIB_UNIX_DATA_H
2 #define _WIMLIB_UNIX_DATA_H
3
4 #include "wimlib/types.h"
5
6 struct wimlib_unix_data {
7         u32 uid;
8         u32 gid;
9         u32 mode;
10         u32 rdev;
11 };
12
13 struct wim_inode;
14
15 extern bool
16 inode_has_unix_data(const struct wim_inode *inode);
17
18 extern bool
19 inode_get_unix_data(const struct wim_inode *inode,
20                     struct wimlib_unix_data *unix_data);
21
22 #define UNIX_DATA_UID   0x1
23 #define UNIX_DATA_GID   0x2
24 #define UNIX_DATA_MODE  0x4
25 #define UNIX_DATA_RDEV  0x8
26
27 #define UNIX_DATA_ALL   0xF
28
29 extern bool
30 inode_set_unix_data(struct wim_inode *inode,
31                     struct wimlib_unix_data *unix_data, int which);
32
33 #endif /* _WIMLIB_UNIX_DATA_H  */