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#ifdef HAVE_STATIC_ASSERT 
   34#define fuse_static_assert(condition, message) static_assert(condition, message) 
   36#define fuse_static_assert(condition, message) 
   89        uint32_t flock_release : 1;
 
  107        uint32_t padding2 : 32;
 
  108        uint32_t padding3 : 32;
 
  130        uint64_t reserved[2];
 
 
  133                   "fuse_file_info size mismatch");
 
  145#if FUSE_USE_VERSION < FUSE_MAKE_VERSION(3, 12) 
  146struct fuse_loop_config_v1; 
 
  149struct fuse_loop_config_v1 {
 
 
  185#define FUSE_CAP_ASYNC_READ (1 << 0) 
  193#define FUSE_CAP_POSIX_LOCKS (1 << 1) 
  202#define FUSE_CAP_ATOMIC_O_TRUNC (1 << 3) 
  214#define FUSE_CAP_EXPORT_SUPPORT (1 << 4) 
  222#define FUSE_CAP_DONT_MASK (1 << 6) 
  230#define FUSE_CAP_SPLICE_WRITE (1 << 7) 
  238#define FUSE_CAP_SPLICE_MOVE (1 << 8) 
  247#define FUSE_CAP_SPLICE_READ (1 << 9) 
  260#define FUSE_CAP_FLOCK_LOCKS (1 << 10) 
  267#define FUSE_CAP_IOCTL_DIR (1 << 11) 
  289#define FUSE_CAP_AUTO_INVAL_DATA (1 << 12) 
  297#define FUSE_CAP_READDIRPLUS (1 << 13) 
  325#define FUSE_CAP_READDIRPLUS_AUTO (1 << 14) 
  336#define FUSE_CAP_ASYNC_DIO (1 << 15) 
  345#define FUSE_CAP_WRITEBACK_CACHE (1 << 16) 
  360#define FUSE_CAP_NO_OPEN_SUPPORT (1 << 17) 
  368#define FUSE_CAP_PARALLEL_DIROPS (1 << 18) 
  387#define FUSE_CAP_POSIX_ACL (1 << 19) 
  396#define FUSE_CAP_HANDLE_KILLPRIV (1 << 20) 
  413#define FUSE_CAP_HANDLE_KILLPRIV_V2 (1 << 21) 
  426#define FUSE_CAP_CACHE_SYMLINKS (1 << 23) 
  441#define FUSE_CAP_NO_OPENDIR_SUPPORT (1 << 24) 
  464#define FUSE_CAP_EXPLICIT_INVAL_DATA (1 << 25) 
  480#define FUSE_CAP_EXPIRE_ONLY (1 << 26) 
  487#define FUSE_CAP_SETXATTR_EXT (1 << 27) 
  496#define FUSE_CAP_DIRECT_IO_ALLOW_MMAP (1 << 28) 
  508#define FUSE_CAP_PASSTHROUGH (1 << 29) 
  516#define FUSE_CAP_NO_EXPORT_SUPPORT (1 << 30) 
  528#define FUSE_IOCTL_COMPAT       (1 << 0) 
  529#define FUSE_IOCTL_UNRESTRICTED (1 << 1) 
  530#define FUSE_IOCTL_RETRY        (1 << 2) 
  531#define FUSE_IOCTL_DIR          (1 << 4) 
  533#define FUSE_IOCTL_MAX_IOV      256 
  673#define FUSE_BACKING_STACKED_UNDER      (0) 
  674#define FUSE_BACKING_STACKED_OVER       (1) 
  675        uint32_t max_backing_stack_depth;
 
  688        uint32_t padding : 31;
 
  709        uint32_t reserved[16];
 
 
  712                   "Size of struct fuse_conn_info must be 128 bytes");
 
  715struct fuse_pollhandle;
 
  716struct fuse_conn_info_opts;
 
  968#define FUSE_BUFVEC_INIT(size__)                                \ 
  969        ((struct fuse_bufvec) {                                 \ 
  975                         (enum fuse_buf_flags) 0, \ 
 1058#if FUSE_USE_VERSION >= FUSE_MAKE_VERSION(3, 12) 
 1075                                    unsigned int value);
 
 1081                                   unsigned int value);
 
 1087                                unsigned int value);
 
 1096                           struct fuse_loop_config_v1 *v1_conf);
 
 1100static inline bool fuse_set_feature_flag(
struct fuse_conn_info *conn,
 
 1110static inline void fuse_unset_feature_flag(
struct fuse_conn_info *conn,
 
 1116static inline bool fuse_get_feature_flag(
struct fuse_conn_info *conn,
 
 1126#if !defined(FUSE_USE_VERSION) || FUSE_USE_VERSION < 30 
 1127#  error only API version 30 or greater is supported 
 1141#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) 
 1142_Static_assert(
sizeof(off_t) == 8, 
"fuse: off_t must be 64bit");
 
 1144struct _fuse_off_t_must_be_64bit_dummy_struct \
 
 1145        { 
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)
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