libfuse

fuse_mount_compat.h
1 /*
2 FUSE: Filesystem in Userspace
3 Copyright (C) 2023 Giulio Benetti <giulio.benetti@benettiengineering.com>
4
5 Logging API.
6
7 This program can be distributed under the terms of the GNU LGPLv2.
8 See the file LICENSE
9 */
10
11 #ifndef FUSE_MOUNT_COMPAT_H_
12 #define FUSE_MOUNT_COMPAT_H_
13
14 #include <sys/mount.h>
15
16 /* Some libc don't define MS_*, so define them manually
17 * (values taken from https://elixir.bootlin.com/linux/v4.0.9/source/include/uapi/linux/fs.h#L68 on)
18 */
19 #ifndef MS_DIRSYNC
20 #define MS_DIRSYNC 128
21 #endif
22 #ifndef MS_REC
23 #define MS_REC 16384
24 #endif
25 #ifndef MS_PRIVATE
26 #define MS_PRIVATE (1<<18)
27 #endif
28 #ifndef MS_LAZYTIME
29 #define MS_LAZYTIME (1<<25)
30 #endif
31
32 #ifndef UMOUNT_DETACH
33 #define UMOUNT_DETACH 0x00000002 /* Just detach from the tree */
34 #endif
35 #ifndef UMOUNT_NOFOLLOW
36 #define UMOUNT_NOFOLLOW 0x00000008 /* Don't follow symlink on umount */
37 #endif
38 #ifndef UMOUNT_UNUSED
39 #define UMOUNT_UNUSED 0x80000000 /* Flag guaranteed to be unused */
40 #endif
41
42 #endif /* FUSE_MOUNT_COMPAT_H_ */