Files
libfuse/include/fuse_mount_compat.h
Bernd Schubert eec851bedd Move 'struct mount_flags' to util.h
We actually need these in fusermount.c and for the
new mount API, which goes into its own file.

Also extend the struct with the extra safe field
used by fusermount.c

Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
2026-05-02 15:45:40 +02:00

55 lines
1.2 KiB
C

/*
FUSE: Filesystem in Userspace
Copyright (C) 2023 Giulio Benetti <giulio.benetti@benettiengineering.com>
Logging API.
This program can be distributed under the terms of the GNU LGPLv2.
See the file LICENSE
*/
#ifndef FUSE_MOUNT_COMPAT_H_
#define FUSE_MOUNT_COMPAT_H_
#if !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && \
!defined(__FreeBSD_kernel__)
#include <sys/mount.h>
/* Some libc don't define MS_*, so define them manually
* (values taken from https://elixir.bootlin.com/linux/v6.10/source/include/uapi/linux/mount.h#L13 on)
*/
#ifndef MS_DIRSYNC
#define MS_DIRSYNC 128
#endif
#ifndef MS_NOSYMFOLLOW
#define MS_NOSYMFOLLOW 256
#endif
#ifndef MS_REC
#define MS_REC 16384
#endif
#ifndef MS_PRIVATE
#define MS_PRIVATE (1<<18)
#endif
#ifndef MS_LAZYTIME
#define MS_LAZYTIME (1<<25)
#endif
#ifndef UMOUNT_DETACH
#define UMOUNT_DETACH 0x00000002 /* Just detach from the tree */
#endif
#ifndef UMOUNT_NOFOLLOW
#define UMOUNT_NOFOLLOW 0x00000008 /* Don't follow symlink on umount */
#endif
#ifndef UMOUNT_UNUSED
#define UMOUNT_UNUSED 0x80000000 /* Flag guaranteed to be unused */
#endif
#endif /* BSD */
#endif /* FUSE_MOUNT_COMPAT_H_ */