diff options
Diffstat (limited to 'contrib/fuse-include/fuse_kernel_macfuse.h')
| -rw-r--r-- | contrib/fuse-include/fuse_kernel_macfuse.h | 470 | 
1 files changed, 223 insertions, 247 deletions
diff --git a/contrib/fuse-include/fuse_kernel_macfuse.h b/contrib/fuse-include/fuse_kernel_macfuse.h index a003f825a70..31bc495a552 100644 --- a/contrib/fuse-include/fuse_kernel_macfuse.h +++ b/contrib/fuse-include/fuse_kernel_macfuse.h @@ -61,67 +61,59 @@     userspace works under 64bit kernels */  struct fuse_attr { -	__u64	ino; -	__u64	size; -	__u64	blocks; -	__u64	atime; -	__u64	mtime; -	__u64	ctime; -#if (__FreeBSD__ >= 10) -	__u64	crtime; -#endif /* __FreeBSD__ >= 10 */ -	__u32	atimensec; -	__u32	mtimensec; -	__u32	ctimensec; -#if (__FreeBSD__ >= 10) -	__u32	crtimensec; -#endif /* __FreeBSD__ >= 10 */ -	__u32	mode; -	__u32	nlink; -	__u32	uid; -	__u32	gid; -	__u32	rdev; -#if (__FreeBSD__ >= 10) -	__u32	flags; /* file flags; see chflags(2) */ -#endif /* __FreeBSD__ >= 10 */ +        __u64  ino; +        __u64  size; +        __u64  blocks; +        __u64  atime; +        __u64  mtime; +        __u64  ctime; +        __u64  crtime; +        __u32  atimensec; +        __u32  mtimensec; +        __u32  ctimensec; +        __u32  crtimensec; +        __u32  mode; +        __u32  nlink; +        __u32  uid; +        __u32  gid; +        __u32  rdev; +        __u32  flags; /* file flags; see chflags(2) */  };  struct fuse_kstatfs { -	__u64	blocks; -	__u64	bfree; -	__u64	bavail; -	__u64	files; -	__u64	ffree; -	__u32	bsize; -	__u32	namelen; -	__u32	frsize; -	__u32	padding; -	__u32	spare[6]; +        __u64   blocks; +        __u64   bfree; +        __u64   bavail; +        __u64   files; +        __u64   ffree; +        __u32   bsize; +        __u32   namelen; +        __u32   frsize; +        __u32   padding; +        __u32   spare[6];  };  struct fuse_file_lock { -	__u64	start; -	__u64	end; -	__u32	type; -	__u32	pid; /* tgid */ +        __u64   start; +        __u64   end; +        __u32   type; +        __u32   pid; /* tgid */  };  /**   * Bitmasks for fuse_setattr_in.valid   */ -#define FATTR_MODE	(1 << 0) -#define FATTR_UID	(1 << 1) -#define FATTR_GID	(1 << 2) -#define FATTR_SIZE	(1 << 3) -#define FATTR_ATIME	(1 << 4) -#define FATTR_MTIME	(1 << 5) -#define FATTR_FH	(1 << 6) -#if (__FreeBSD__ >= 10) -#define FATTR_CRTIME	(1 << 28) -#define FATTR_CHGTIME	(1 << 29) -#define FATTR_BKUPTIME	(1 << 30) -#define FATTR_FLAGS	(1 << 31) -#endif /* __FreeBSD__ >= 10 */ +#define FATTR_MODE      (1 << 0) +#define FATTR_UID       (1 << 1) +#define FATTR_GID       (1 << 2) +#define FATTR_SIZE      (1 << 3) +#define FATTR_ATIME     (1 << 4) +#define FATTR_MTIME     (1 << 5) +#define FATTR_FH        (1 << 6) +#define FATTR_CRTIME    (1 << 28) +#define FATTR_CHGTIME   (1 << 29) +#define FATTR_BKUPTIME  (1 << 30) +#define FATTR_FLAGS     (1 << 31)  /**   * Flags returned by the OPEN request @@ -129,320 +121,304 @@ struct fuse_file_lock {   * FOPEN_DIRECT_IO: bypass page cache for this open file   * FOPEN_KEEP_CACHE: don't invalidate the data cache on open   */ -#define FOPEN_DIRECT_IO		(1 << 0) -#define FOPEN_KEEP_CACHE	(1 << 1) -#if (__FreeBSD__ >= 10) -#define FOPEN_PURGE_ATTR	(1 << 30) -#define FOPEN_PURGE_UBC		(1 << 31) -#endif +#define FOPEN_DIRECT_IO         (1 << 0) +#define FOPEN_KEEP_CACHE        (1 << 1) +#define FOPEN_PURGE_ATTR        (1 << 30) +#define FOPEN_PURGE_UBC         (1 << 31)  /**   * INIT request/reply flags   */ -#define FUSE_ASYNC_READ		(1 << 0) -#define FUSE_POSIX_LOCKS	(1 << 1) -#if (__FreeBSD__ >= 10) -#define FUSE_CASE_INSENSITIVE	(1 << 29) -#define FUSE_VOL_RENAME		(1 << 30) -#define FUSE_XTIMES		(1 << 31) -#endif /* __FreeBSD__ >= 10 */ +#define FUSE_ASYNC_READ         (1 << 0) +#define FUSE_POSIX_LOCKS        (1 << 1) +#define FUSE_CASE_INSENSITIVE   (1 << 29) +#define FUSE_VOL_RENAME         (1 << 30) +#define FUSE_XTIMES             (1 << 31)  /**   * Release flags   */ -#define FUSE_RELEASE_FLUSH	(1 << 0) +#define FUSE_RELEASE_FLUSH      (1 << 0)  enum fuse_opcode { -	FUSE_LOOKUP	   = 1, -	FUSE_FORGET	   = 2,  /* no reply */ -	FUSE_GETATTR	   = 3, -	FUSE_SETATTR	   = 4, -	FUSE_READLINK	   = 5, -	FUSE_SYMLINK	   = 6, -	FUSE_MKNOD	   = 8, -	FUSE_MKDIR	   = 9, -	FUSE_UNLINK	   = 10, -	FUSE_RMDIR	   = 11, -	FUSE_RENAME	   = 12, -	FUSE_LINK	   = 13, -	FUSE_OPEN	   = 14, -	FUSE_READ	   = 15, -	FUSE_WRITE	   = 16, -	FUSE_STATFS	   = 17, -	FUSE_RELEASE       = 18, -	FUSE_FSYNC         = 20, -	FUSE_SETXATTR      = 21, -	FUSE_GETXATTR      = 22, -	FUSE_LISTXATTR     = 23, -	FUSE_REMOVEXATTR   = 24, -	FUSE_FLUSH         = 25, -	FUSE_INIT          = 26, -	FUSE_OPENDIR       = 27, -	FUSE_READDIR       = 28, -	FUSE_RELEASEDIR    = 29, -	FUSE_FSYNCDIR      = 30, -	FUSE_GETLK         = 31, -	FUSE_SETLK         = 32, -	FUSE_SETLKW        = 33, -	FUSE_ACCESS        = 34, -	FUSE_CREATE        = 35, -	FUSE_INTERRUPT     = 36, -	FUSE_BMAP          = 37, -	FUSE_DESTROY       = 38, -	/* -	FUSE_IOCTL         = 39, -	FUSE_POLL          = 40, -	FUSE_NOTIFY_REPLY  = 41, -	FUSE_BATCH_FORGET  = 42, -	FUSE_FALLOCATE     = 43, -	FUSE_READDIRPLUS   = 44, -	*/ - -#if (__FreeBSD__ >= 10) +        FUSE_LOOKUP        = 1, +        FUSE_FORGET        = 2,  /* no reply */ +        FUSE_GETATTR       = 3, +        FUSE_SETATTR       = 4, +        FUSE_READLINK      = 5, +        FUSE_SYMLINK       = 6, +        FUSE_MKNOD         = 8, +        FUSE_MKDIR         = 9, +        FUSE_UNLINK        = 10, +        FUSE_RMDIR         = 11, +        FUSE_RENAME        = 12, +        FUSE_LINK          = 13, +        FUSE_OPEN          = 14, +        FUSE_READ          = 15, +        FUSE_WRITE         = 16, +        FUSE_STATFS        = 17, +        FUSE_RELEASE       = 18, +        FUSE_FSYNC         = 20, +        FUSE_SETXATTR      = 21, +        FUSE_GETXATTR      = 22, +        FUSE_LISTXATTR     = 23, +        FUSE_REMOVEXATTR   = 24, +        FUSE_FLUSH         = 25, +        FUSE_INIT          = 26, +        FUSE_OPENDIR       = 27, +        FUSE_READDIR       = 28, +        FUSE_RELEASEDIR    = 29, +        FUSE_FSYNCDIR      = 30, +        FUSE_GETLK         = 31, +        FUSE_SETLK         = 32, +        FUSE_SETLKW        = 33, +        FUSE_ACCESS        = 34, +        FUSE_CREATE        = 35, +        FUSE_INTERRUPT     = 36, +        FUSE_BMAP          = 37, +        FUSE_DESTROY       = 38, +        /* +        FUSE_IOCTL         = 39, +        FUSE_POLL          = 40, +        FUSE_NOTIFY_REPLY  = 41, +        FUSE_BATCH_FORGET  = 42, +        FUSE_FALLOCATE     = 43, +        FUSE_READDIRPLUS   = 44, +        */ +          FUSE_SETVOLNAME    = 61, -	FUSE_GETXTIMES     = 62, -	FUSE_EXCHANGE      = 63, -#endif /* __FreeBSD__ >= 10 */ +        FUSE_GETXTIMES     = 62, +        FUSE_EXCHANGE      = 63,  };  /* The read buffer is required to be at least 8k, but may be much larger */  #define FUSE_MIN_READ_BUFFER 8192  struct fuse_entry_out { -	__u64	nodeid;		/* Inode ID */ -	__u64	generation;	/* Inode generation: nodeid:gen must -				   be unique for the fs's lifetime */ -	__u64	entry_valid;	/* Cache timeout for the name */ -	__u64	attr_valid;	/* Cache timeout for the attributes */ -	__u32	entry_valid_nsec; -	__u32	attr_valid_nsec; -	struct fuse_attr attr; +        __u64   nodeid;         /* Inode ID */ +        __u64   generation;     /* Inode generation: nodeid:gen must +                                   be unique for the fs's lifetime */ +        __u64   entry_valid;    /* Cache timeout for the name */ +        __u64   attr_valid;     /* Cache timeout for the attributes */ +        __u32   entry_valid_nsec; +        __u32   attr_valid_nsec; +        struct fuse_attr attr;  };  struct fuse_forget_in { -	__u64	nlookup; +        __u64   nlookup;  };  struct fuse_attr_out { -	__u64	attr_valid;	/* Cache timeout for the attributes */ -	__u32	attr_valid_nsec; -	__u32	dummy; -	struct fuse_attr attr; +        __u64   attr_valid;     /* Cache timeout for the attributes */ +        __u32   attr_valid_nsec; +        __u32   dummy; +        struct fuse_attr attr;  }; -#if (__FreeBSD__ >= 10)  struct fuse_getxtimes_out { -	__u64	bkuptime; -	__u64	crtime; -	__u32	bkuptimensec; -	__u32	crtimensec; +        __u64   bkuptime; +        __u64   crtime; +        __u32   bkuptimensec; +        __u32   crtimensec;  }; -#endif /* __FreeBSD__ >= 10 */  struct fuse_mknod_in { -	__u32	mode; -	__u32	rdev; +        __u32   mode; +        __u32   rdev;  };  struct fuse_mkdir_in { -	__u32	mode; -	__u32	padding; +        __u32   mode; +        __u32   padding;  };  struct fuse_rename_in { -	__u64	newdir; +        __u64   newdir;  }; -#if (__FreeBSD__ >= 10)  struct fuse_exchange_in { -	__u64	olddir; -	__u64	newdir; -	__u64	options; +        __u64   olddir; +        __u64   newdir; +        __u64   options;  }; -#endif /* __FreeBSD__ >= 10 */  struct fuse_link_in { -	__u64	oldnodeid; +        __u64   oldnodeid;  };  struct fuse_setattr_in { -	__u32	valid; -	__u32	padding; -	__u64	fh; -	__u64	size; -	__u64	unused1; -	__u64	atime; -	__u64	mtime; -	__u64	unused2; -	__u32	atimensec; -	__u32	mtimensec; -	__u32	unused3; -	__u32	mode; -	__u32	unused4; -	__u32	uid; -	__u32	gid; -	__u32	unused5; -#if (__FreeBSD__ >= 10) -	__u64	bkuptime; -	__u64	chgtime; -	__u64	crtime; -	__u32	bkuptimensec; -	__u32	chgtimensec; -	__u32	crtimensec; -	__u32	flags; /* file flags; see chflags(2) */ -#endif /* __FreeBSD__ >= 10 */ +        __u32   valid; +        __u32   padding; +        __u64   fh; +        __u64   size; +        __u64   unused1; +        __u64   atime; +        __u64   mtime; +        __u64   unused2; +        __u32   atimensec; +        __u32   mtimensec; +        __u32   unused3; +        __u32   mode; +        __u32   unused4; +        __u32   uid; +        __u32   gid; +        __u32   unused5; +        __u64   bkuptime; +        __u64   chgtime; +        __u64   crtime; +        __u32   bkuptimensec; +        __u32   chgtimensec; +        __u32   crtimensec; +        __u32   flags; /* file flags; see chflags(2) */  };  struct fuse_open_in { -	__u32	flags; -	__u32	mode; +        __u32   flags; +        __u32   mode;  };  struct fuse_open_out { -	__u64	fh; -	__u32	open_flags; -	__u32	padding; +        __u64   fh; +        __u32   open_flags; +        __u32   padding;  };  struct fuse_release_in { -	__u64	fh; -	__u32	flags; -	__u32	release_flags; -	__u64	lock_owner; +        __u64   fh; +        __u32   flags; +        __u32   release_flags; +        __u64   lock_owner;  };  struct fuse_flush_in { -	__u64	fh; -	__u32	unused; -	__u32	padding; -	__u64	lock_owner; +        __u64   fh; +        __u32   unused; +        __u32   padding; +        __u64   lock_owner;  };  struct fuse_read_in { -	__u64	fh; -	__u64	offset; -	__u32	size; -	__u32	padding; +        __u64   fh; +        __u64   offset; +        __u32   size; +        __u32   padding;  };  struct fuse_write_in { -	__u64	fh; -	__u64	offset; -	__u32	size; -	__u32	write_flags; +        __u64   fh; +        __u64   offset; +        __u32   size; +        __u32   write_flags;  };  struct fuse_write_out { -	__u32	size; -	__u32	padding; +        __u32   size; +        __u32   padding;  };  #define FUSE_COMPAT_STATFS_SIZE 48  struct fuse_statfs_out { -	struct fuse_kstatfs st; +        struct fuse_kstatfs st;  };  struct fuse_fsync_in { -	__u64	fh; -	__u32	fsync_flags; -	__u32	padding; +        __u64   fh; +        __u32   fsync_flags; +        __u32   padding;  };  struct fuse_setxattr_in { -	__u32	size; -	__u32	flags; -#if (__FreeBSD__ >= 10) -	__u32	position; -	__u32	padding; -#endif /* __FreeBSD__ >= 10 */ +        __u32   size; +        __u32   flags; +        __u32   position; +        __u32   padding;  };  struct fuse_getxattr_in { -	__u32	size; -	__u32	padding; -#if (__FreeBSD__ >= 10) -	__u32	position; -	__u32	padding2; -#endif /* __FreeBSD__ >= 10 */ +        __u32   size; +        __u32   padding; +        __u32   position; +        __u32   padding2;  };  struct fuse_getxattr_out { -	__u32	size; -	__u32	padding; +        __u32   size; +        __u32   padding;  };  struct fuse_lk_in { -	__u64	fh; -	__u64	owner; -	struct fuse_file_lock lk; +        __u64   fh; +        __u64   owner; +        struct fuse_file_lock lk;  };  struct fuse_lk_out { -	struct fuse_file_lock lk; +        struct fuse_file_lock lk;  };  struct fuse_access_in { -	__u32	mask; -	__u32	padding; +        __u32   mask; +        __u32   padding;  };  struct fuse_init_in { -	__u32	major; -	__u32	minor; -	__u32	max_readahead; -	__u32	flags; +        __u32   major; +        __u32   minor; +        __u32   max_readahead; +        __u32   flags;  };  struct fuse_init_out { -	__u32	major; -	__u32	minor; -	__u32	max_readahead; -	__u32	flags; -	__u32	unused; -	__u32	max_write; +        __u32   major; +        __u32   minor; +        __u32   max_readahead; +        __u32   flags; +        __u32   unused; +        __u32   max_write;  };  struct fuse_interrupt_in { -	__u64	unique; +        __u64   unique;  };  struct fuse_bmap_in { -	__u64	block; -	__u32	blocksize; -	__u32	padding; +        __u64   block; +        __u32   blocksize; +        __u32   padding;  };  struct fuse_bmap_out { -	__u64	block; +        __u64   block;  };  struct fuse_in_header { -	__u32	len; -	__u32	opcode; -	__u64	unique; -	__u64	nodeid; -	__u32	uid; -	__u32	gid; -	__u32	pid; -	__u32	padding; +        __u32   len; +        __u32   opcode; +        __u64   unique; +        __u64   nodeid; +        __u32   uid; +        __u32   gid; +        __u32   pid; +        __u32   padding;  };  struct fuse_out_header { -	__u32	len; -	__s32	error; -	__u64	unique; +        __u32   len; +        __s32   error; +        __u64   unique;  };  struct fuse_dirent { -	__u64	ino; -	__u64	off; -	__u32	namelen; -	__u32	type; -	char name[0]; +        __u64   ino; +        __u64   off; +        __u32   namelen; +        __u32   type; +        char name[0];  };  #define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name)  #define FUSE_DIRENT_ALIGN(x) (((x) + sizeof(__u64) - 1) & ~(sizeof(__u64) - 1))  #define FUSE_DIRENT_SIZE(d) \ -	FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen) +        FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen)  | 
