/usr/include/linux
NameSizeModeActions
byteorder/-0755rm
can/-0755rm
dvb/-0755rm
hdlc/-0755rm
isdn/-0755rm
netfilter/-0755rm
netfilter_arp/-0755rm
netfilter_bridge/-0755rm
netfilter_ipv4/-0755rm
netfilter_ipv6/-0755rm
nfsd/-0755rm
raid/-0755rm
spi/-0755rm
sunrpc/-0755rm
tc_act/-0755rm
tc_ematch/-0755rm
usb/-0755rm
wimax/-0755rm
a.out.h73190644editdlrm
acct.h34900644editdlrm
adb.h10770644editdlrm
adfs_fs.h8560644editdlrm
affs_hardblocks.h14810644editdlrm
agpgart.h39250644editdlrm
aio_abi.h31120644editdlrm
apm_bios.h35440644editdlrm
arcfb.h1500644editdlrm
atalk.h9270644editdlrm
atm.h78060644editdlrm
atmapi.h8890644editdlrm
atmarp.h12330644editdlrm
atmbr2684.h32080644editdlrm
atmclip.h5130644editdlrm
atmdev.h75930644editdlrm
atmioc.h15830644editdlrm
atmlec.h25610644editdlrm
atmmpc.h41630644editdlrm
atmppp.h5760644editdlrm
atmsap.h49070644editdlrm
atmsvc.h17900644editdlrm
atm_eni.h5850644editdlrm
atm_he.h3430644editdlrm
atm_idt77105.h8920644editdlrm
atm_nicstar.h12150644editdlrm
atm_tcp.h15370644editdlrm
atm_zatm.h16060644editdlrm
audit.h158800644editdlrm
auto_fs.h23460644editdlrm
auto_fs4.h41310644editdlrm
auxvec.h13840644editdlrm
ax25.h27520644editdlrm
b1lli.h16540644editdlrm
baycom.h8200644editdlrm
bfs_fs.h18300644editdlrm
binfmts.h5650644editdlrm
blkpg.h15980644editdlrm
blktrace_api.h44730644editdlrm
blk_types.h71060644editdlrm
bpqether.h9520644editdlrm
bsg.h23850644editdlrm
can.h33260644editdlrm
capability.h105890644editdlrm
capi.h30570644editdlrm
cciss_ioctl.h58240644editdlrm
cdk.h127700644editdlrm
cdrom.h281290644editdlrm
cgroupstats.h21550644editdlrm
chio.h52800644editdlrm
cm4000_cs.h17180644editdlrm
cn_proc.h27150644editdlrm
coda.h174870644editdlrm
coda_psdev.h6790644editdlrm
coff.h124130644editdlrm
comstats.h31200644editdlrm
connector.h21290644editdlrm
const.h6820644editdlrm
cramfs_fs.h29300644editdlrm
cuda.h7690644editdlrm
cyclades.h170450644editdlrm
cycx_cfm.h29260644editdlrm
dcbnl.h221200644editdlrm
dccp.h58000644editdlrm
dlm.h25290644editdlrm
dlmconstants.h50130644editdlrm
dlm_device.h24800644editdlrm
dlm_netlink.h10640644editdlrm
dlm_plock.h8060644editdlrm
dm-ioctl.h106680644editdlrm
dm-log-userspace.h151730644editdlrm
dn.h45270644editdlrm
dqblk_xfs.h69520644editdlrm
edd.h55440644editdlrm
efs_fs_sb.h21640644editdlrm
elf-em.h18340644editdlrm
elf-fdpic.h25570644editdlrm
elf.h112360644editdlrm
elfcore.h29320644editdlrm
errno.h790644editdlrm
errqueue.h4430644editdlrm
ethtool.h341660644editdlrm
eventpoll.h13530644editdlrm
ext2_fs.h188020644editdlrm
fadvise.h8550644editdlrm
falloc.h2930644editdlrm
fb.h160160644editdlrm
fcntl.h16070644editdlrm
fd.h115630644editdlrm
fdreg.h53550644editdlrm
fib_rules.h14590644editdlrm
fiemap.h25480644editdlrm
filter.h35340644editdlrm
firewire-cdev.h250530644editdlrm
firewire-constants.h19750644editdlrm
flat.h20850644editdlrm
fs.h189100644editdlrm
fuse.h114410644editdlrm
futex.h49090644editdlrm
gameport.h8160644editdlrm
generic_serial.h8950644editdlrm
genetlink.h16830644editdlrm
gen_stats.h13040644editdlrm
gfs2_ondisk.h118140644editdlrm
gigaset_dev.h9810644editdlrm
hayesesp.h2300644editdlrm
hdlc.h5740644editdlrm
hdlcdrv.h28450644editdlrm
hdreg.h226400644editdlrm
hid.h18240644editdlrm
hiddev.h62650644editdlrm
hidraw.h12170644editdlrm
hpet.h6860644editdlrm
hysdn_if.h13190644editdlrm
i2c-dev.h24030644editdlrm
i2c.h66310644editdlrm
i2o-dev.h114880644editdlrm
i8k.h14380644editdlrm
icmp.h28920644editdlrm
icmpv6.h38310644editdlrm
if.h86730644editdlrm
if_addr.h14560644editdlrm
if_addrlabel.h6580644editdlrm
if_arcnet.h37180644editdlrm
if_arp.h61090644editdlrm
if_bonding.h40760644editdlrm
if_bridge.h38100644editdlrm
if_cablemodem.h9100644editdlrm
if_ec.h9010644editdlrm
if_eql.h12840644editdlrm
if_ether.h65390644editdlrm
if_fc.h16740644editdlrm
if_fddi.h37000644editdlrm
if_frad.h29400644editdlrm
if_hippi.h41750644editdlrm
if_infiniband.h11450644editdlrm
if_link.h120780644editdlrm
if_ltalk.h1250644editdlrm
if_packet.h35300644editdlrm
if_phonet.h3370644editdlrm
if_plip.h5960644editdlrm
if_ppp.h69380644editdlrm
if_pppol2tp.h19830644editdlrm
if_pppox.h37720644editdlrm
if_slip.h8090644editdlrm
if_strip.h7000644editdlrm
if_tr.h31990644editdlrm
if_tun.h30140644editdlrm
if_tunnel.h14590644editdlrm
if_vlan.h17080644editdlrm
igmp.h29280644editdlrm
in.h92030644editdlrm
in6.h74950644editdlrm
inet_diag.h24530644editdlrm
inotify.h28380644editdlrm
input.h275940644editdlrm
in_route.h8730644editdlrm
ioctl.h1000644editdlrm
ip.h35550644editdlrm
ip6_tunnel.h10730644editdlrm
ipc.h20380644editdlrm
ipmi.h165430644editdlrm
ipmi_msgdefs.h44770644editdlrm
ipsec.h8840644editdlrm
ipv6.h28920644editdlrm
ipv6_route.h16140644editdlrm
ipx.h18240644editdlrm
ip_vs.h125830644editdlrm
irda.h76510644editdlrm
irqnr.h930644editdlrm
isdn.h56870644editdlrm
isdnif.h23060644editdlrm
isdn_divertif.h10380644editdlrm
isdn_ppp.h18590644editdlrm
iso_fs.h64390644editdlrm
ivtv.h27260644editdlrm
ivtvfb.h11430644editdlrm
ixjuser.h251160644editdlrm
jffs2.h69490644editdlrm
joystick.h35870644editdlrm
kd.h61690644editdlrm
kdev_t.h2980644editdlrm
kernel.h24570644editdlrm
kernelcapi.h9590644editdlrm
keyboard.h126950644editdlrm
keyctl.h29840644editdlrm
kvm.h206810644editdlrm
kvm_para.h5640644editdlrm
libc-compat.h35400644editdlrm
limits.h8740644editdlrm
llc.h28350644editdlrm
loop.h21890644editdlrm
lp.h37940644editdlrm
magic.h22920644editdlrm
major.h46550644editdlrm
map_to_7segment.h71870644editdlrm
matroxfb.h14290644editdlrm
mempolicy.h20520644editdlrm
meye.h25440644editdlrm
mii.h79500644editdlrm
minix_fs.h20590644editdlrm
mman.h2300644editdlrm
mmtimer.h20540644editdlrm
mqueue.h20550644editdlrm
mroute.h38130644editdlrm
mroute6.h39910644editdlrm
msdos_fs.h58390644editdlrm
msg.h25390644editdlrm
mtio.h80800644editdlrm
nbd.h19580644editdlrm
ncp.h50550644editdlrm
ncp_fs.h33540644editdlrm
ncp_mount.h21120644editdlrm
ncp_no.h6510644editdlrm
neighbour.h40600644editdlrm
net.h20210644editdlrm
netdevice.h17710644editdlrm
netfilter.h15460644editdlrm
netfilter_arp.h3800644editdlrm
netfilter_bridge.h7350644editdlrm
netfilter_decnet.h18720644editdlrm
netfilter_ipv4.h20320644editdlrm
netfilter_ipv6.h20500644editdlrm
netlink.h49690644editdlrm
netrom.h7190644editdlrm
net_dropmon.h10910644editdlrm
net_tstamp.h34680644editdlrm
nfs.h43510644editdlrm
nfs2.h14050644editdlrm
nfs3.h22070644editdlrm
nfs4.h57630644editdlrm
nfs4_mount.h18690644editdlrm
nfsacl.h5770644editdlrm
nfs_fs.h15520644editdlrm
nfs_idmap.h22380644editdlrm
nfs_mount.h32000644editdlrm
nl80211.h1923540644editdlrm
nubus.h83660644editdlrm
nvram.h4700644editdlrm
n_r3964.h23490644editdlrm
oom.h4560644editdlrm
param.h780644editdlrm
parport.h36440644editdlrm
patchkey.h8310644editdlrm
pci.h14850644editdlrm
pci_regs.h379750644editdlrm
perf_event.h218490644editdlrm
personality.h19980644editdlrm
pfkeyv2.h101470644editdlrm
pg.h22820644editdlrm
phantom.h15900644editdlrm
phonet.h43490644editdlrm
pktcdvd.h26230644editdlrm
pkt_cls.h92930644editdlrm
pkt_sched.h108870644editdlrm
pmu.h51870644editdlrm
poll.h960644editdlrm
posix_types.h12700644editdlrm
ppdev.h31470644editdlrm
ppp-comp.h65160644editdlrm
ppp_defs.h64610644editdlrm
pps.h39390644editdlrm
prctl.h49720644editdlrm
ptp_clock.h34960644editdlrm
ptrace.h22900644editdlrm
qnx4_fs.h22650644editdlrm
qnxtypes.h5610644editdlrm
quota.h57230644editdlrm
radeonfb.h2970644editdlrm
random.h10850644editdlrm
raw.h3020644editdlrm
reboot.h12800644editdlrm
reiserfs_fs.h9070644editdlrm
reiserfs_xattr.h4650644editdlrm
resource.h20870644editdlrm
rfkill.h33840644editdlrm
romfs_fs.h11270644editdlrm
rose.h21000644editdlrm
route.h22690644editdlrm
rtc.h36960644editdlrm
rtnetlink.h153350644editdlrm
scc.h45430644editdlrm
sched.h20960644editdlrm
screen_info.h22020644editdlrm
sdla.h28370644editdlrm
selinux_netlink.h11320644editdlrm
sem.h36660644editdlrm
serial.h67800644editdlrm
serial_core.h40240644editdlrm
serial_reg.h132450644editdlrm
serio.h16880644editdlrm
shm.h21870644editdlrm
signal.h1290644editdlrm
signalfd.h10960644editdlrm
smb.h12090644editdlrm
smbno.h145200644editdlrm
smb_fs.h5350644editdlrm
smb_mount.h4680644editdlrm
snmp.h111570644editdlrm
socket.h7380644editdlrm
sockios.h59670644editdlrm
som.h54800644editdlrm
sonet.h22070644editdlrm
sonypi.h51360644editdlrm
sound.h10990644editdlrm
soundcard.h460190644editdlrm
stat.h10050644editdlrm
stddef.h6330644editdlrm
string.h1750644editdlrm
suspend_ioctls.h13680644editdlrm
swab.h62920644editdlrm
synclink.h86950644editdlrm
sysctl.h264950644editdlrm
taskstats.h69470644editdlrm
tcp.h52050644editdlrm
telephony.h90510644editdlrm
termios.h5440644editdlrm
time.h17360644editdlrm
times.h2150644editdlrm
timex.h62210644editdlrm
tiocl.h16660644editdlrm
tipc.h59100644editdlrm
tipc_config.h153700644editdlrm
toshiba.h12840644editdlrm
tty.h1280644editdlrm
types.h9910644editdlrm
udf_fs_i.h6340644editdlrm
udp.h11660644editdlrm
uinput.h51250644editdlrm
uio.h6480644editdlrm
ultrasound.h44990644editdlrm
un.h2030644editdlrm
unistd.h1570644editdlrm
usbdevice_fs.h53400644editdlrm
utime.h1520644editdlrm
utsname.h6060644editdlrm
uuid.h17690644editdlrm
version.h2810644editdlrm
veth.h4740644editdlrm
vhost.h45660644editdlrm
videodev.h105130644editdlrm
videodev2.h660710644editdlrm
videotext.h42420644editdlrm
virtio_9p.h3510644editdlrm
virtio_balloon.h12550644editdlrm
virtio_blk.h29810644editdlrm
virtio_config.h12840644editdlrm
virtio_console.h14060644editdlrm
virtio_ids.h5450644editdlrm
virtio_net.h70260644editdlrm
virtio_pci.h22630644editdlrm
virtio_ring.h44890644editdlrm
virtio_rng.h2650644editdlrm
vt.h30700644editdlrm
wait.h5800644editdlrm
wanrouter.h178360644editdlrm
watchdog.h24000644editdlrm
wimax.h83700644editdlrm
wireless.h426530644editdlrm
x25.h34180644editdlrm
xattr.h6460644editdlrm
xfrm.h105580644editdlrm
Edit: /usr/include/linux/fuse.h (11441B)
/* FUSE: Filesystem in Userspace Copyright (C) 2001-2008 Miklos Szeredi This program can be distributed under the terms of the GNU GPL. See the file COPYING. */ /* * This file defines the kernel interface of FUSE * * Protocol changelog: * * 7.9: * - new fuse_getattr_in input argument of GETATTR * - add lk_flags in fuse_lk_in * - add lock_owner field to fuse_setattr_in, fuse_read_in and fuse_write_in * - add blksize field to fuse_attr * - add file flags field to fuse_read_in and fuse_write_in * * 7.10 * - add nonseekable open flag * * 7.11 * - add IOCTL message * - add unsolicited notification support * - add POLL message and NOTIFY_POLL notification * * 7.12 * - add umask flag to input argument of open, mknod and mkdir * - add notification messages for invalidation of inodes and * directory entries * * 7.13 * - make max number of background requests and congestion threshold * tunables * * 7.14 * - add splice support to fuse device */ #ifndef _LINUX_FUSE_H #define _LINUX_FUSE_H #include /* * Version negotiation: * * Both the kernel and userspace send the version they support in the * INIT request and reply respectively. * * If the major versions match then both shall use the smallest * of the two minor versions for communication. * * If the kernel supports a larger major version, then userspace shall * reply with the major version it supports, ignore the rest of the * INIT message and expect a new INIT message from the kernel with a * matching major version. * * If the library supports a larger major version, then it shall fall * back to the major protocol version sent by the kernel for * communication and reply with that major version (and an arbitrary * supported minor version). */ /** Version number of this interface */ #define FUSE_KERNEL_VERSION 7 /** Minor version number of this interface */ #define FUSE_KERNEL_MINOR_VERSION 14 /** The node ID of the root inode */ #define FUSE_ROOT_ID 1 /* Make sure all structures are padded to 64bit boundary, so 32bit userspace works under 64bit kernels */ struct fuse_attr { __u64 ino; __u64 size; __u64 blocks; __u64 atime; __u64 mtime; __u64 ctime; __u32 atimensec; __u32 mtimensec; __u32 ctimensec; __u32 mode; __u32 nlink; __u32 uid; __u32 gid; __u32 rdev; __u32 blksize; __u32 padding; }; struct fuse_kstatfs { __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 */ }; /** * 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) #define FATTR_ATIME_NOW (1 << 7) #define FATTR_MTIME_NOW (1 << 8) #define FATTR_LOCKOWNER (1 << 9) /** * Flags returned by the OPEN request * * FOPEN_DIRECT_IO: bypass page cache for this open file * FOPEN_KEEP_CACHE: don't invalidate the data cache on open * FOPEN_NONSEEKABLE: the file is not seekable */ #define FOPEN_DIRECT_IO (1 << 0) #define FOPEN_KEEP_CACHE (1 << 1) #define FOPEN_NONSEEKABLE (1 << 2) /** * INIT request/reply flags * * FUSE_EXPORT_SUPPORT: filesystem handles lookups of "." and ".." * FUSE_DONT_MASK: don't apply umask to file mode on create operations * FUSE_AUTO_INVAL_DATA: automatically invalidate cached pages * FUSE_DO_READDIRPLUS: do READDIRPLUS (READDIR+LOOKUP in one) * FUSE_READDIRPLUS_AUTO: adaptive readdirplus * FUSE_ASYNC_DIO: asynchronous direct I/O submission */ #define FUSE_ASYNC_READ (1 << 0) #define FUSE_POSIX_LOCKS (1 << 1) #define FUSE_FILE_OPS (1 << 2) #define FUSE_ATOMIC_O_TRUNC (1 << 3) #define FUSE_EXPORT_SUPPORT (1 << 4) #define FUSE_BIG_WRITES (1 << 5) #define FUSE_DONT_MASK (1 << 6) #define FUSE_AUTO_INVAL_DATA (1 << 12) #define FUSE_DO_READDIRPLUS (1 << 13) #define FUSE_READDIRPLUS_AUTO (1 << 14) #define FUSE_ASYNC_DIO (1 << 15) /** * CUSE INIT request/reply flags * * CUSE_UNRESTRICTED_IOCTL: use unrestricted ioctl */ #define CUSE_UNRESTRICTED_IOCTL (1 << 0) /** * Release flags */ #define FUSE_RELEASE_FLUSH (1 << 0) /** * Getattr flags */ #define FUSE_GETATTR_FH (1 << 0) /** * Lock flags */ #define FUSE_LK_FLOCK (1 << 0) /** * WRITE flags * * FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed * FUSE_WRITE_LOCKOWNER: lock_owner field is valid */ #define FUSE_WRITE_CACHE (1 << 0) #define FUSE_WRITE_LOCKOWNER (1 << 1) /** * Read flags */ #define FUSE_READ_LOCKOWNER (1 << 1) /** * Ioctl flags * * FUSE_IOCTL_COMPAT: 32bit compat ioctl on 64bit machine * FUSE_IOCTL_UNRESTRICTED: not restricted to well-formed ioctls, retry allowed * FUSE_IOCTL_RETRY: retry with new iovecs * * FUSE_IOCTL_MAX_IOV: maximum of in_iovecs + out_iovecs */ #define FUSE_IOCTL_COMPAT (1 << 0) #define FUSE_IOCTL_UNRESTRICTED (1 << 1) #define FUSE_IOCTL_RETRY (1 << 2) #define FUSE_IOCTL_MAX_IOV 256 /** * Poll flags * * FUSE_POLL_SCHEDULE_NOTIFY: request poll notify */ #define FUSE_POLL_SCHEDULE_NOTIFY (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_FALLOCATE = 43, FUSE_READDIRPLUS = 44, /* CUSE specific operations */ CUSE_INIT = 4096, }; enum fuse_notify_code { FUSE_NOTIFY_POLL = 1, FUSE_NOTIFY_INVAL_INODE = 2, FUSE_NOTIFY_INVAL_ENTRY = 3, FUSE_NOTIFY_INVAL_FILES = 4, FUSE_NOTIFY_CODE_MAX, }; /* The read buffer is required to be at least 8k, but may be much larger */ #define FUSE_MIN_READ_BUFFER 8192 #define FUSE_COMPAT_ENTRY_OUT_SIZE 120 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; }; struct fuse_forget_in { __u64 nlookup; }; struct fuse_getattr_in { __u32 getattr_flags; __u32 dummy; __u64 fh; }; #define FUSE_COMPAT_ATTR_OUT_SIZE 96 struct fuse_attr_out { __u64 attr_valid; /* Cache timeout for the attributes */ __u32 attr_valid_nsec; __u32 dummy; struct fuse_attr attr; }; #define FUSE_COMPAT_MKNOD_IN_SIZE 8 struct fuse_mknod_in { __u32 mode; __u32 rdev; __u32 umask; __u32 padding; }; struct fuse_mkdir_in { __u32 mode; __u32 umask; }; struct fuse_rename_in { __u64 newdir; }; struct fuse_link_in { __u64 oldnodeid; }; struct fuse_setattr_in { __u32 valid; __u32 padding; __u64 fh; __u64 size; __u64 lock_owner; __u64 atime; __u64 mtime; __u64 unused2; __u32 atimensec; __u32 mtimensec; __u32 unused3; __u32 mode; __u32 unused4; __u32 uid; __u32 gid; __u32 unused5; }; struct fuse_open_in { __u32 flags; __u32 unused; }; struct fuse_create_in { __u32 flags; __u32 mode; __u32 umask; __u32 padding; }; struct fuse_open_out { __u64 fh; __u32 open_flags; __u32 padding; }; struct fuse_release_in { __u64 fh; __u32 flags; __u32 release_flags; __u64 lock_owner; }; struct fuse_flush_in { __u64 fh; __u32 unused; __u32 padding; __u64 lock_owner; }; struct fuse_read_in { __u64 fh; __u64 offset; __u32 size; __u32 read_flags; __u64 lock_owner; __u32 flags; __u32 padding; }; #define FUSE_COMPAT_WRITE_IN_SIZE 24 struct fuse_write_in { __u64 fh; __u64 offset; __u32 size; __u32 write_flags; __u64 lock_owner; __u32 flags; __u32 padding; }; struct fuse_write_out { __u32 size; __u32 padding; }; #define FUSE_COMPAT_STATFS_SIZE 48 struct fuse_statfs_out { struct fuse_kstatfs st; }; struct fuse_fsync_in { __u64 fh; __u32 fsync_flags; __u32 padding; }; struct fuse_setxattr_in { __u32 size; __u32 flags; }; struct fuse_getxattr_in { __u32 size; __u32 padding; }; struct fuse_getxattr_out { __u32 size; __u32 padding; }; struct fuse_lk_in { __u64 fh; __u64 owner; struct fuse_file_lock lk; __u32 lk_flags; __u32 padding; }; struct fuse_lk_out { struct fuse_file_lock lk; }; struct fuse_access_in { __u32 mask; __u32 padding; }; struct fuse_init_in { __u32 major; __u32 minor; __u32 max_readahead; __u32 flags; }; struct fuse_init_out { __u32 major; __u32 minor; __u32 max_readahead; __u32 flags; __u16 max_background; __u16 congestion_threshold; __u32 max_write; }; #define CUSE_INIT_INFO_MAX 4096 struct cuse_init_in { __u32 major; __u32 minor; __u32 unused; __u32 flags; }; struct cuse_init_out { __u32 major; __u32 minor; __u32 unused; __u32 flags; __u32 max_read; __u32 max_write; __u32 dev_major; /* chardev major */ __u32 dev_minor; /* chardev minor */ __u32 spare[10]; }; struct fuse_interrupt_in { __u64 unique; }; struct fuse_bmap_in { __u64 block; __u32 blocksize; __u32 padding; }; struct fuse_bmap_out { __u64 block; }; struct fuse_ioctl_in { __u64 fh; __u32 flags; __u32 cmd; __u64 arg; __u32 in_size; __u32 out_size; }; struct fuse_ioctl_out { __s32 result; __u32 flags; __u32 in_iovs; __u32 out_iovs; }; struct fuse_poll_in { __u64 fh; __u64 kh; __u32 flags; __u32 padding; }; struct fuse_poll_out { __u32 revents; __u32 padding; }; struct fuse_notify_poll_wakeup_out { __u64 kh; }; struct fuse_fallocate_in { __u64 fh; __u64 offset; __u64 length; __u32 mode; __u32 padding; }; struct fuse_in_header { __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; }; struct fuse_dirent { __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) struct fuse_direntplus { struct fuse_entry_out entry_out; struct fuse_dirent dirent; }; #define FUSE_NAME_OFFSET_DIRENTPLUS \ offsetof(struct fuse_direntplus, dirent.name) #define FUSE_DIRENTPLUS_SIZE(d) \ FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET_DIRENTPLUS + (d)->dirent.namelen) struct fuse_notify_inval_inode_out { __u64 ino; __s64 off; __s64 len; }; struct fuse_notify_inval_entry_out { __u64 parent; __u32 namelen; __u32 padding; }; struct fuse_notify_inval_files_out { __u64 ino; }; #endif /* _LINUX_FUSE_H */