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_ */