11#if !defined(FUSE_H_) && !defined(FUSE_LOWLEVEL_H_)
12#error "Never include <fuse_common.h> directly; use <fuse.h> or <fuse_lowlevel.h> instead."
18#ifdef HAVE_LIBFUSE_PRIVATE_CONFIG_H
19#include "fuse_config.h"
22#include "libfuse_config.h"
30#define FUSE_MAKE_VERSION(maj, min) ((maj) * 100 + (min))
31#define FUSE_VERSION FUSE_MAKE_VERSION(FUSE_MAJOR_VERSION, FUSE_MINOR_VERSION)
33#if (defined(__cplusplus) && __cplusplus >= 201103L) || \
34 (!defined(__cplusplus) && defined(__STDC_VERSION__) && \
35 __STDC_VERSION__ >= 201112L)
36#define fuse_static_assert(condition, message) static_assert(condition, message)
38#define fuse_static_assert(condition, message)
91 uint32_t flock_release : 1;
109 uint32_t padding2 : 32;
110 uint32_t padding3 : 32;
132 uint64_t reserved[2];
135 "fuse_file_info size mismatch");
147#if FUSE_USE_VERSION < FUSE_MAKE_VERSION(3, 12)
148struct fuse_loop_config_v1;
151struct fuse_loop_config_v1 {
537#define FUSE_IOCTL_COMPAT (1 << 0)
538#define FUSE_IOCTL_UNRESTRICTED (1 << 1)
539#define FUSE_IOCTL_RETRY (1 << 2)
540#define FUSE_IOCTL_DIR (1 << 4)
542#define FUSE_IOCTL_MAX_IOV 256
682#define FUSE_BACKING_STACKED_UNDER (0)
683#define FUSE_BACKING_STACKED_OVER (1)
684 uint32_t max_backing_stack_depth;
697 uint32_t padding : 31;
718 uint32_t reserved[16];
721 "Size of struct fuse_conn_info must be 128 bytes");
724struct fuse_pollhandle;
725struct fuse_conn_info_opts;
977#define FUSE_BUFVEC_INIT(size__) \
978 ((struct fuse_bufvec) { \
984 (enum fuse_buf_flags) 0, \
1067#if FUSE_USE_VERSION >= FUSE_MAKE_VERSION(3, 12)
1084 unsigned int value);
1090 unsigned int value);
1096 unsigned int value);
1105 struct fuse_loop_config_v1 *v1_conf);
1109static inline bool fuse_set_feature_flag(
struct fuse_conn_info *conn,
1119static inline void fuse_unset_feature_flag(
struct fuse_conn_info *conn,
1125static inline bool fuse_get_feature_flag(
struct fuse_conn_info *conn,
1135#if !defined(FUSE_USE_VERSION) || FUSE_USE_VERSION < 30
1136# error only API version 30 or greater is supported
1150#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
1151_Static_assert(
sizeof(off_t) == 8,
"fuse: off_t must be 64bit");
1153struct _fuse_off_t_must_be_64bit_dummy_struct \
1154 {
unsigned _fuse_off_t_must_be_64bit:((
sizeof(off_t) == 8) ? 1 : -1); };
int fuse_set_fail_signal_handlers(struct fuse_session *se)
int fuse_set_signal_handlers(struct fuse_session *se)
@ FUSE_CAP_NO_OPENDIR_SUPPORT
@ FUSE_CAP_PARALLEL_DIROPS
@ FUSE_CAP_NO_EXPORT_SUPPORT
@ FUSE_CAP_WRITEBACK_CACHE
@ FUSE_CAP_AUTO_INVAL_DATA
@ FUSE_CAP_HANDLE_KILLPRIV_V2
@ FUSE_CAP_HANDLE_KILLPRIV
@ FUSE_CAP_ATOMIC_O_TRUNC
@ FUSE_CAP_EXPORT_SUPPORT
@ FUSE_CAP_READDIRPLUS_AUTO
@ FUSE_CAP_NO_OPEN_SUPPORT
@ FUSE_CAP_DIRECT_IO_ALLOW_MMAP
@ FUSE_CAP_CACHE_SYMLINKS
@ FUSE_CAP_EXPLICIT_INVAL_DATA
size_t fuse_buf_size(const struct fuse_bufvec *bufv)
void fuse_apply_conn_info_opts(struct fuse_conn_info_opts *opts, struct fuse_conn_info *conn)
ssize_t fuse_buf_copy(struct fuse_bufvec *dst, struct fuse_bufvec *src, enum fuse_buf_copy_flags flags)
struct fuse_conn_info_opts * fuse_parse_conn_info_opts(struct fuse_args *args)
const char * fuse_pkgversion(void)
void fuse_pollhandle_destroy(struct fuse_pollhandle *ph)
void fuse_remove_signal_handlers(struct fuse_session *se)
@ FUSE_BUF_SPLICE_NONBLOCK
int fuse_daemonize(int foreground)
enum fuse_buf_flags flags
uint32_t congestion_threshold
uint32_t parallel_direct_writes
unsigned int max_idle_threads