/
usr
/
src
/
kernels
/
4.18.0-553.157.1.el8_10.x86_64
/
include
/
uapi
/
linux
/
/usr/src/kernels/4.18.0-553.157.1.el8_10.x86_64/include/uapi/linux
mkdir
upload
Name
Size
Mode
Actions
android/
-
0755
rm
byteorder/
-
0755
rm
caif/
-
0755
rm
can/
-
0755
rm
cifs/
-
0755
rm
dvb/
-
0755
rm
genwqe/
-
0755
rm
hdlc/
-
0755
rm
hsi/
-
0755
rm
iio/
-
0755
rm
isdn/
-
0755
rm
mmc/
-
0755
rm
netfilter/
-
0755
rm
netfilter_arp/
-
0755
rm
netfilter_bridge/
-
0755
rm
netfilter_ipv4/
-
0755
rm
netfilter_ipv6/
-
0755
rm
nfsd/
-
0755
rm
raid/
-
0755
rm
sched/
-
0755
rm
spi/
-
0755
rm
sunrpc/
-
0755
rm
tc_act/
-
0755
rm
tc_ematch/
-
0755
rm
usb/
-
0755
rm
wimax/
-
0755
rm
a.out.h
6959
0644
edit
dl
rm
acct.h
3915
0644
edit
dl
rm
adb.h
1155
0644
edit
dl
rm
adfs_fs.h
951
0644
edit
dl
rm
affs_hardblocks.h
1544
0644
edit
dl
rm
agpgart.h
4001
0644
edit
dl
rm
aio_abi.h
3417
0644
edit
dl
rm
am437x-vpfe.h
3681
0644
edit
dl
rm
apm_bios.h
3698
0644
edit
dl
rm
arcfb.h
213
0644
edit
dl
rm
arm_sdei.h
2766
0644
edit
dl
rm
aspeed-lpc-ctrl.h
1795
0644
edit
dl
rm
atalk.h
1038
0644
edit
dl
rm
atm.h
7937
0644
edit
dl
rm
atmapi.h
952
0644
edit
dl
rm
atmarp.h
1296
0644
edit
dl
rm
atmbr2684.h
3271
0644
edit
dl
rm
atmclip.h
576
0644
edit
dl
rm
atmdev.h
7699
0644
edit
dl
rm
atmioc.h
1646
0644
edit
dl
rm
atmlec.h
2381
0644
edit
dl
rm
atmmpc.h
4226
0644
edit
dl
rm
atmppp.h
639
0644
edit
dl
rm
atmsap.h
4970
0644
edit
dl
rm
atmsvc.h
1853
0644
edit
dl
rm
atm_eni.h
648
0644
edit
dl
rm
atm_he.h
406
0644
edit
dl
rm
atm_idt77105.h
955
0644
edit
dl
rm
atm_nicstar.h
1278
0644
edit
dl
rm
atm_tcp.h
1637
0644
edit
dl
rm
atm_zatm.h
1540
0644
edit
dl
rm
audit.h
20409
0644
edit
dl
rm
auto_dev-ioctl.h
4997
0644
edit
dl
rm
auto_fs.h
6450
0644
edit
dl
rm
auto_fs4.h
466
0644
edit
dl
rm
auxvec.h
1612
0644
edit
dl
rm
ax25.h
2824
0644
edit
dl
rm
b1lli.h
1717
0644
edit
dl
rm
batadv_packet.h
20510
0644
edit
dl
rm
batman_adv.h
11992
0644
edit
dl
rm
baycom.h
883
0644
edit
dl
rm
bcache.h
8306
0644
edit
dl
rm
bcm933xx_hcs.h
419
0644
edit
dl
rm
bfs_fs.h
1893
0644
edit
dl
rm
binfmts.h
643
0644
edit
dl
rm
blkpg.h
953
0644
edit
dl
rm
blktrace_api.h
4716
0644
edit
dl
rm
blkzoned.h
6623
0644
edit
dl
rm
bpf.h
228675
0644
edit
dl
rm
bpfilter.h
480
0644
edit
dl
rm
bpf_common.h
1382
0644
edit
dl
rm
bpf_perf_event.h
544
0644
edit
dl
rm
bpqether.h
981
0644
edit
dl
rm
bsg.h
2509
0644
edit
dl
rm
bt-bmc.h
587
0644
edit
dl
rm
btf.h
4811
0644
edit
dl
rm
btrfs.h
28942
0644
edit
dl
rm
btrfs_tree.h
25265
0644
edit
dl
rm
can.h
7891
0644
edit
dl
rm
capability.h
13576
0644
edit
dl
rm
capi.h
3157
0644
edit
dl
rm
cciss_defs.h
3281
0644
edit
dl
rm
cciss_ioctl.h
2790
0644
edit
dl
rm
cdrom.h
28902
0644
edit
dl
rm
cec-funcs.h
53293
0644
edit
dl
rm
cec.h
37611
0644
edit
dl
rm
cfm_bridge.h
1466
0644
edit
dl
rm
cgroupstats.h
2219
0644
edit
dl
rm
chio.h
5351
0644
edit
dl
rm
close_range.h
392
0644
edit
dl
rm
cm4000_cs.h
1821
0644
edit
dl
rm
cn_proc.h
3471
0644
edit
dl
rm
coda.h
17682
0644
edit
dl
rm
coda_psdev.h
798
0644
edit
dl
rm
coff.h
12476
0644
edit
dl
rm
connector.h
2268
0644
edit
dl
rm
const.h
803
0644
edit
dl
rm
coresight-stm.h
674
0644
edit
dl
rm
cramfs_fs.h
3570
0644
edit
dl
rm
cryptouser.h
3392
0644
edit
dl
rm
cuda.h
920
0644
edit
dl
rm
cyclades.h
17123
0644
edit
dl
rm
cycx_cfm.h
2990
0644
edit
dl
rm
dcbnl.h
25238
0644
edit
dl
rm
dccp.h
6447
0644
edit
dl
rm
devlink.h
21571
0644
edit
dl
rm
dlm.h
2568
0644
edit
dl
rm
dlmconstants.h
5080
0644
edit
dl
rm
dlm_device.h
2599
0644
edit
dl
rm
dlm_netlink.h
1159
0644
edit
dl
rm
dlm_plock.h
909
0644
edit
dl
rm
dm-ioctl.h
11400
0644
edit
dl
rm
dm-log-userspace.h
15191
0644
edit
dl
rm
dma-buf.h
5247
0644
edit
dl
rm
dn.h
4642
0644
edit
dl
rm
dqblk_xfs.h
9245
0644
edit
dl
rm
edd.h
5619
0644
edit
dl
rm
efs_fs_sb.h
2227
0644
edit
dl
rm
elf-em.h
2187
0644
edit
dl
rm
elf-fdpic.h
1139
0644
edit
dl
rm
elf.h
13486
0644
edit
dl
rm
elfcore.h
3062
0644
edit
dl
rm
errno.h
23
0644
edit
dl
rm
errqueue.h
1492
0644
edit
dl
rm
erspan.h
1074
0644
edit
dl
rm
ethtool.h
83872
0644
edit
dl
rm
ethtool_netlink.h
22841
0644
edit
dl
rm
eventpoll.h
2869
0644
edit
dl
rm
fadvise.h
842
0644
edit
dl
rm
falloc.h
3599
0644
edit
dl
rm
fanotify.h
5356
0644
edit
dl
rm
fb.h
16518
0644
edit
dl
rm
fcntl.h
4189
0644
edit
dl
rm
fd.h
11721
0644
edit
dl
rm
fdreg.h
5420
0644
edit
dl
rm
fib_rules.h
2036
0644
edit
dl
rm
fiemap.h
2775
0644
edit
dl
rm
filter.h
2265
0644
edit
dl
rm
firewire-cdev.h
43886
0644
edit
dl
rm
firewire-constants.h
3231
0644
edit
dl
rm
flat.h
2163
0644
edit
dl
rm
fou.h
709
0644
edit
dl
rm
fpga-dfl.h
8743
0644
edit
dl
rm
fs.h
13511
0644
edit
dl
rm
fsl_hypervisor.h
7316
0644
edit
dl
rm
fsmap.h
4385
0644
edit
dl
rm
fuse.h
23529
0644
edit
dl
rm
futex.h
5049
0644
edit
dl
rm
gameport.h
912
0644
edit
dl
rm
genetlink.h
2190
0644
edit
dl
rm
gen_stats.h
1526
0644
edit
dl
rm
gfs2_ondisk.h
14739
0644
edit
dl
rm
gigaset_dev.h
1442
0644
edit
dl
rm
gpio.h
6766
0644
edit
dl
rm
gsmmux.h
1041
0644
edit
dl
rm
gtp.h
696
0644
edit
dl
rm
hash_info.h
936
0644
edit
dl
rm
hdlc.h
652
0644
edit
dl
rm
hdlcdrv.h
2923
0644
edit
dl
rm
hdreg.h
22945
0644
edit
dl
rm
hid.h
1916
0644
edit
dl
rm
hiddev.h
6360
0644
edit
dl
rm
hidraw.h
2008
0644
edit
dl
rm
hpet.h
785
0644
edit
dl
rm
hsr_netlink.h
1081
0644
edit
dl
rm
hw_breakpoint.h
757
0644
edit
dl
rm
hyperv.h
11167
0644
edit
dl
rm
hysdn_if.h
1382
0644
edit
dl
rm
i2c-dev.h
2668
0644
edit
dl
rm
i2c.h
7147
0644
edit
dl
rm
i2o-dev.h
11646
0644
edit
dl
rm
i8k.h
1528
0644
edit
dl
rm
icmp.h
2990
0644
edit
dl
rm
icmpv6.h
4053
0644
edit
dl
rm
idxd.h
8461
0644
edit
dl
rm
if.h
10984
0644
edit
dl
rm
ife.h
351
0644
edit
dl
rm
if_addr.h
1912
0644
edit
dl
rm
if_addrlabel.h
721
0644
edit
dl
rm
if_alg.h
946
0644
edit
dl
rm
if_arcnet.h
3717
0644
edit
dl
rm
if_arp.h
6592
0644
edit
dl
rm
if_bonding.h
5291
0644
edit
dl
rm
if_bridge.h
19529
0644
edit
dl
rm
if_cablemodem.h
986
0644
edit
dl
rm
if_eql.h
1364
0644
edit
dl
rm
if_ether.h
8263
0644
edit
dl
rm
if_fc.h
1738
0644
edit
dl
rm
if_fddi.h
3763
0644
edit
dl
rm
if_frad.h
3034
0644
edit
dl
rm
if_hippi.h
4235
0644
edit
dl
rm
if_infiniband.h
1245
0644
edit
dl
rm
if_link.h
31698
0644
edit
dl
rm
if_ltalk.h
225
0644
edit
dl
rm
if_macsec.h
5847
0644
edit
dl
rm
if_packet.h
7919
0644
edit
dl
rm
if_phonet.h
439
0644
edit
dl
rm
if_plip.h
660
0644
edit
dl
rm
if_ppp.h
29
0644
edit
dl
rm
if_pppol2tp.h
3307
0644
edit
dl
rm
if_pppox.h
4804
0644
edit
dl
rm
if_slip.h
872
0644
edit
dl
rm
if_team.h
2615
0644
edit
dl
rm
if_tun.h
4113
0644
edit
dl
rm
if_tunnel.h
4535
0644
edit
dl
rm
if_vlan.h
1846
0644
edit
dl
rm
if_x25.h
881
0644
edit
dl
rm
if_xdp.h
3011
0644
edit
dl
rm
igmp.h
3079
0644
edit
dl
rm
ila.h
1261
0644
edit
dl
rm
in.h
10137
0644
edit
dl
rm
in6.h
7453
0644
edit
dl
rm
inet_diag.h
4687
0644
edit
dl
rm
inotify.h
3307
0644
edit
dl
rm
input-event-codes.h
28616
0644
edit
dl
rm
input.h
16033
0644
edit
dl
rm
in_route.h
936
0644
edit
dl
rm
ioctl.h
163
0644
edit
dl
rm
iommu.h
4919
0644
edit
dl
rm
io_uring.h
6207
0644
edit
dl
rm
ip.h
4826
0644
edit
dl
rm
ip6_tunnel.h
1953
0644
edit
dl
rm
ipc.h
2123
0644
edit
dl
rm
ipmi.h
15505
0644
edit
dl
rm
ipmi_bmc.h
479
0644
edit
dl
rm
ipmi_msgdefs.h
3430
0644
edit
dl
rm
ipmi_ssif_bmc.h
456
0644
edit
dl
rm
ipsec.h
947
0644
edit
dl
rm
ipv6.h
3982
0644
edit
dl
rm
ipv6_route.h
1923
0644
edit
dl
rm
ipx.h
2347
0644
edit
dl
rm
ip_vs.h
13631
0644
edit
dl
rm
irqnr.h
104
0644
edit
dl
rm
isdn.h
5789
0644
edit
dl
rm
isdnif.h
2385
0644
edit
dl
rm
isdn_divertif.h
1215
0644
edit
dl
rm
isdn_ppp.h
1938
0644
edit
dl
rm
iso_fs.h
6485
0644
edit
dl
rm
isst_if.h
5384
0644
edit
dl
rm
ivtv.h
3063
0644
edit
dl
rm
ivtvfb.h
1241
0644
edit
dl
rm
jffs2.h
7018
0644
edit
dl
rm
joystick.h
3449
0644
edit
dl
rm
Kbuild
352
0644
edit
dl
rm
kcm.h
822
0644
edit
dl
rm
kcmp.h
537
0644
edit
dl
rm
kcov.h
1099
0644
edit
dl
rm
kd.h
6316
0644
edit
dl
rm
kdev_t.h
441
0644
edit
dl
rm
kernel-page-flags.h
915
0644
edit
dl
rm
kernel.h
453
0644
edit
dl
rm
kernelcapi.h
1034
0644
edit
dl
rm
kexec.h
1893
0644
edit
dl
rm
keyboard.h
12798
0644
edit
dl
rm
keyctl.h
3514
0644
edit
dl
rm
kfd_ioctl.h
28814
0644
edit
dl
rm
kfd_sysfs.h
4350
0644
edit
dl
rm
kvm.h
61602
0644
edit
dl
rm
kvm_para.h
1016
0644
edit
dl
rm
l2tp.h
5606
0644
edit
dl
rm
libc-compat.h
8304
0644
edit
dl
rm
lightnvm.h
5168
0644
edit
dl
rm
limits.h
947
0644
edit
dl
rm
lirc.h
7813
0644
edit
dl
rm
llc.h
3179
0644
edit
dl
rm
loop.h
3512
0644
edit
dl
rm
lp.h
4205
0644
edit
dl
rm
lwtunnel.h
2194
0644
edit
dl
rm
magic.h
3531
0644
edit
dl
rm
major.h
4713
0644
edit
dl
rm
map_to_7segment.h
7251
0644
edit
dl
rm
matroxfb.h
1464
0644
edit
dl
rm
max2175.h
1035
0644
edit
dl
rm
mdio.h
17283
0644
edit
dl
rm
media-bus-format.h
6411
0644
edit
dl
rm
media.h
11942
0644
edit
dl
rm
mei.h
3475
0644
edit
dl
rm
membarrier.h
7914
0644
edit
dl
rm
memfd.h
1339
0644
edit
dl
rm
mempolicy.h
2246
0644
edit
dl
rm
meye.h
2529
0644
edit
dl
rm
mic_common.h
6499
0644
edit
dl
rm
mic_ioctl.h
2310
0644
edit
dl
rm
mii.h
9511
0644
edit
dl
rm
minix_fs.h
2122
0644
edit
dl
rm
mman.h
1400
0644
edit
dl
rm
mmtimer.h
2117
0644
edit
dl
rm
module.h
270
0644
edit
dl
rm
mount.h
4561
0644
edit
dl
rm
mpls.h
2317
0644
edit
dl
rm
mpls_iptunnel.h
776
0644
edit
dl
rm
mptcp.h
5623
0644
edit
dl
rm
mqueue.h
2201
0644
edit
dl
rm
mroute.h
5442
0644
edit
dl
rm
mroute6.h
4592
0644
edit
dl
rm
mrp_bridge.h
1718
0644
edit
dl
rm
msdos_fs.h
6978
0644
edit
dl
rm
msg.h
3389
0644
edit
dl
rm
mtio.h
8175
0644
edit
dl
rm
nbd-netlink.h
2423
0644
edit
dl
rm
nbd.h
3039
0644
edit
dl
rm
ncsi.h
3880
0644
edit
dl
rm
ndctl.h
6693
0644
edit
dl
rm
neighbour.h
5138
0644
edit
dl
rm
net.h
2100
0644
edit
dl
rm
netconf.h
629
0644
edit
dl
rm
netdevice.h
2268
0644
edit
dl
rm
netfilter.h
1888
0644
edit
dl
rm
netfilter_arp.h
471
0644
edit
dl
rm
netfilter_bridge.h
1209
0644
edit
dl
rm
netfilter_decnet.h
2050
0644
edit
dl
rm
netfilter_ipv4.h
2229
0644
edit
dl
rm
netfilter_ipv6.h
2249
0644
edit
dl
rm
netlink.h
11562
0644
edit
dl
rm
netlink_diag.h
1550
0644
edit
dl
rm
netrom.h
807
0644
edit
dl
rm
net_dropmon.h
2922
0644
edit
dl
rm
net_namespace.h
730
0644
edit
dl
rm
net_tstamp.h
5806
0644
edit
dl
rm
nexthop.h
1544
0644
edit
dl
rm
nfc.h
11209
0644
edit
dl
rm
nfs.h
4515
0644
edit
dl
rm
nfs2.h
1468
0644
edit
dl
rm
nfs3.h
2468
0644
edit
dl
rm
nfs4.h
6614
0644
edit
dl
rm
nfs4_mount.h
1953
0644
edit
dl
rm
nfsacl.h
733
0644
edit
dl
rm
nfs_fs.h
1656
0644
edit
dl
rm
nfs_idmap.h
2258
0644
edit
dl
rm
nfs_mount.h
2142
0644
edit
dl
rm
nilfs2_api.h
7565
0644
edit
dl
rm
nilfs2_ondisk.h
18001
0644
edit
dl
rm
nitro_enclaves.h
13167
0644
edit
dl
rm
nl80211.h
335264
0644
edit
dl
rm
nsfs.h
639
0644
edit
dl
rm
nubus.h
8206
0644
edit
dl
rm
nvme_ioctl.h
2127
0644
edit
dl
rm
nvram.h
547
0644
edit
dl
rm
n_r3964.h
2425
0644
edit
dl
rm
omap3isp.h
21271
0644
edit
dl
rm
omapfb.h
5940
0644
edit
dl
rm
oom.h
526
0644
edit
dl
rm
openat2.h
1304
0644
edit
dl
rm
openvswitch.h
41272
0644
edit
dl
rm
packet_diag.h
1672
0644
edit
dl
rm
param.h
141
0644
edit
dl
rm
parport.h
3659
0644
edit
dl
rm
patchkey.h
965
0644
edit
dl
rm
pci.h
1395
0644
edit
dl
rm
pcitest.h
711
0644
edit
dl
rm
pci_regs.h
57827
0644
edit
dl
rm
perf_event.h
40595
0644
edit
dl
rm
personality.h
2112
0644
edit
dl
rm
pfkeyv2.h
10569
0644
edit
dl
rm
pfrut.h
7987
0644
edit
dl
rm
pg.h
2409
0644
edit
dl
rm
phantom.h
1654
0644
edit
dl
rm
phonet.h
4640
0644
edit
dl
rm
pktcdvd.h
2702
0644
edit
dl
rm
pkt_cls.h
18511
0644
edit
dl
rm
pkt_sched.h
30296
0644
edit
dl
rm
pmu.h
5334
0644
edit
dl
rm
poll.h
22
0644
edit
dl
rm
posix_acl.h
1254
0644
edit
dl
rm
posix_acl_xattr.h
1115
0644
edit
dl
rm
posix_types.h
1098
0644
edit
dl
rm
ppdev.h
3211
0644
edit
dl
rm
ppp-comp.h
2542
0644
edit
dl
rm
ppp-ioctl.h
5509
0644
edit
dl
rm
ppp_defs.h
5122
0644
edit
dl
rm
pps.h
4734
0644
edit
dl
rm
pr.h
1088
0644
edit
dl
rm
prctl.h
8023
0644
edit
dl
rm
psample.h
2271
0644
edit
dl
rm
psci.h
4343
0644
edit
dl
rm
psp-sev.h
4481
0644
edit
dl
rm
ptp_clock.h
7456
0644
edit
dl
rm
ptrace.h
3689
0644
edit
dl
rm
qemu_fw_cfg.h
2469
0644
edit
dl
rm
qnx4_fs.h
2328
0644
edit
dl
rm
qnxtypes.h
624
0644
edit
dl
rm
qrtr.h
878
0644
edit
dl
rm
quota.h
6306
0644
edit
dl
rm
radeonfb.h
360
0644
edit
dl
rm
random.h
1385
0644
edit
dl
rm
raw.h
365
0644
edit
dl
rm
rds.h
9301
0644
edit
dl
rm
reboot.h
1358
0644
edit
dl
rm
reiserfs_fs.h
775
0644
edit
dl
rm
reiserfs_xattr.h
533
0644
edit
dl
rm
resource.h
2362
0644
edit
dl
rm
rfkill.h
6623
0644
edit
dl
rm
rio_cm_cdev.h
3248
0644
edit
dl
rm
rio_mport_cdev.h
9330
0644
edit
dl
rm
romfs_fs.h
1238
0644
edit
dl
rm
rose.h
2232
0644
edit
dl
rm
route.h
2392
0644
edit
dl
rm
rpmsg.h
554
0644
edit
dl
rm
rseq.h
4919
0644
edit
dl
rm
rtc.h
4024
0644
edit
dl
rm
rtnetlink.h
20242
0644
edit
dl
rm
rxrpc.h
5095
0644
edit
dl
rm
scc.h
4612
0644
edit
dl
rm
sched.h
2812
0644
edit
dl
rm
scif_ioctl.h
6382
0644
edit
dl
rm
screen_info.h
2494
0644
edit
dl
rm
sctp.h
36099
0644
edit
dl
rm
sdla.h
2861
0644
edit
dl
rm
seccomp.h
2299
0644
edit
dl
rm
securebits.h
2719
0644
edit
dl
rm
sed-opal.h
3290
0644
edit
dl
rm
seg6.h
1180
0644
edit
dl
rm
seg6_genl.h
599
0644
edit
dl
rm
seg6_hmac.h
433
0644
edit
dl
rm
seg6_iptunnel.h
1293
0644
edit
dl
rm
seg6_local.h
2070
0644
edit
dl
rm
selinux_netlink.h
1221
0644
edit
dl
rm
sem.h
3086
0644
edit
dl
rm
serial.h
3881
0644
edit
dl
rm
serial_core.h
6260
0644
edit
dl
rm
serial_reg.h
15496
0644
edit
dl
rm
serio.h
2052
0644
edit
dl
rm
sev-guest.h
2303
0644
edit
dl
rm
shm.h
3826
0644
edit
dl
rm
signal.h
403
0644
edit
dl
rm
signalfd.h
1248
0644
edit
dl
rm
smc.h
8528
0644
edit
dl
rm
smc_diag.h
2743
0644
edit
dl
rm
smiapp.h
1058
0644
edit
dl
rm
snmp.h
13663
0644
edit
dl
rm
socket.h
916
0644
edit
dl
rm
sockios.h
6106
0644
edit
dl
rm
sock_diag.h
1316
0644
edit
dl
rm
sonet.h
2305
0644
edit
dl
rm
sonypi.h
5324
0644
edit
dl
rm
sound.h
1252
0644
edit
dl
rm
soundcard.h
46170
0644
edit
dl
rm
stat.h
6367
0644
edit
dl
rm
stddef.h
1571
0644
edit
dl
rm
stm.h
1290
0644
edit
dl
rm
string.h
296
0644
edit
dl
rm
suspend_ioctls.h
1431
0644
edit
dl
rm
swab.h
7018
0644
edit
dl
rm
switchtec_ioctl.h
5272
0644
edit
dl
rm
synclink.h
9000
0644
edit
dl
rm
sync_file.h
2898
0644
edit
dl
rm
sysctl.h
25912
0644
edit
dl
rm
sysinfo.h
1049
0644
edit
dl
rm
target_core_user.h
4557
0644
edit
dl
rm
taskstats.h
7180
0644
edit
dl
rm
tcp.h
9935
0644
edit
dl
rm
tcp_metrics.h
1549
0644
edit
dl
rm
tdx-guest.h
1320
0644
edit
dl
rm
tee.h
13172
0644
edit
dl
rm
termios.h
506
0644
edit
dl
rm
thermal.h
3324
0644
edit
dl
rm
time.h
1763
0644
edit
dl
rm
timerfd.h
951
0644
edit
dl
rm
times.h
278
0644
edit
dl
rm
timex.h
6444
0644
edit
dl
rm
time_types.h
1190
0644
edit
dl
rm
tiocl.h
1729
0644
edit
dl
rm
tipc.h
8805
0644
edit
dl
rm
tipc_config.h
14682
0644
edit
dl
rm
tipc_netlink.h
9395
0644
edit
dl
rm
tipc_sockets_diag.h
483
0644
edit
dl
rm
tls.h
4303
0644
edit
dl
rm
toshiba.h
1945
0644
edit
dl
rm
tty.h
1600
0644
edit
dl
rm
tty_flags.h
4527
0644
edit
dl
rm
types.h
1681
0644
edit
dl
rm
udf_fs_i.h
697
0644
edit
dl
rm
udp.h
1676
0644
edit
dl
rm
uhid.h
4655
0644
edit
dl
rm
uinput.h
9276
0644
edit
dl
rm
uio.h
781
0644
edit
dl
rm
uleds.h
813
0644
edit
dl
rm
ultrasound.h
4562
0644
edit
dl
rm
un.h
384
0644
edit
dl
rm
unistd.h
220
0644
edit
dl
rm
unix_diag.h
1253
0644
edit
dl
rm
usbdevice_fs.h
8374
0644
edit
dl
rm
usbip.h
655
0644
edit
dl
rm
userfaultfd.h
7759
0644
edit
dl
rm
userio.h
1516
0644
edit
dl
rm
utime.h
215
0644
edit
dl
rm
utsname.h
684
0644
edit
dl
rm
uuid.h
1371
0644
edit
dl
rm
uvcvideo.h
2634
0644
edit
dl
rm
v4l2-common.h
4177
0644
edit
dl
rm
v4l2-controls.h
51777
0644
edit
dl
rm
v4l2-dv-timings.h
31562
0644
edit
dl
rm
v4l2-mediabus.h
5144
0644
edit
dl
rm
v4l2-subdev.h
6096
0644
edit
dl
rm
vboxguest.h
8729
0644
edit
dl
rm
vbox_err.h
7257
0644
edit
dl
rm
vbox_vmmdev_types.h
8296
0644
edit
dl
rm
vdpa.h
1431
0644
edit
dl
rm
veth.h
224
0644
edit
dl
rm
vfio.h
52245
0644
edit
dl
rm
vfio_ccw.h
1257
0644
edit
dl
rm
vfio_zdev.h
2542
0644
edit
dl
rm
vhost.h
6418
0644
edit
dl
rm
vhost_types.h
4024
0644
edit
dl
rm
videodev2.h
90983
0644
edit
dl
rm
virtio_9p.h
2041
0644
edit
dl
rm
virtio_balloon.h
5274
0644
edit
dl
rm
virtio_blk.h
6823
0644
edit
dl
rm
virtio_bt.h
787
0644
edit
dl
rm
virtio_config.h
4063
0644
edit
dl
rm
virtio_console.h
3151
0644
edit
dl
rm
virtio_crypto.h
13874
0644
edit
dl
rm
virtio_fs.h
587
0644
edit
dl
rm
virtio_gpu.h
11454
0644
edit
dl
rm
virtio_ids.h
3269
0644
edit
dl
rm
virtio_input.h
2506
0644
edit
dl
rm
virtio_iommu.h
3793
0644
edit
dl
rm
virtio_mem.h
7157
0644
edit
dl
rm
virtio_mmio.h
4969
0644
edit
dl
rm
virtio_net.h
10564
0644
edit
dl
rm
virtio_pci.h
7406
0644
edit
dl
rm
virtio_ring.h
7526
0644
edit
dl
rm
virtio_rng.h
265
0644
edit
dl
rm
virtio_scsi.h
6035
0644
edit
dl
rm
virtio_snd.h
9304
0644
edit
dl
rm
virtio_types.h
2168
0644
edit
dl
rm
virtio_vsock.h
3101
0644
edit
dl
rm
vmcore.h
446
0644
edit
dl
rm
vm_sockets.h
6509
0644
edit
dl
rm
vm_sockets_diag.h
978
0644
edit
dl
rm
vsockmon.h
1895
0644
edit
dl
rm
vt.h
3074
0644
edit
dl
rm
vtpm_proxy.h
1734
0644
edit
dl
rm
wait.h
697
0644
edit
dl
rm
wanrouter.h
468
0644
edit
dl
rm
watchdog.h
2350
0644
edit
dl
rm
wimax.h
8371
0644
edit
dl
rm
wireless.h
42725
0644
edit
dl
rm
wmi.h
1843
0644
edit
dl
rm
x25.h
3562
0644
edit
dl
rm
xattr.h
2875
0644
edit
dl
rm
xdp_diag.h
1468
0644
edit
dl
rm
xfrm.h
12020
0644
edit
dl
rm
xilinx-v4l2-controls.h
2976
0644
edit
dl
rm
zorro.h
3266
0644
edit
dl
rm
zorro_ids.h
29963
0644
edit
dl
rm
Edit:
/usr/src/kernels/4.18.0-553.157.1.el8_10.x86_64/include/uapi/linux/fuse.h
(23529B)
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */ /* This file defines the kernel interface of FUSE Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu> This program can be distributed under the terms of the GNU GPL. See the file COPYING. This -- and only this -- header file may also be distributed under the terms of the BSD Licence as follows: Copyright (C) 2001-2007 Miklos Szeredi. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * This file defines the kernel interface of FUSE * * Protocol changelog: * * 7.1: * - add the following messages: * FUSE_SETATTR, FUSE_SYMLINK, FUSE_MKNOD, FUSE_MKDIR, FUSE_UNLINK, * FUSE_RMDIR, FUSE_RENAME, FUSE_LINK, FUSE_OPEN, FUSE_READ, FUSE_WRITE, * FUSE_RELEASE, FUSE_FSYNC, FUSE_FLUSH, FUSE_SETXATTR, FUSE_GETXATTR, * FUSE_LISTXATTR, FUSE_REMOVEXATTR, FUSE_OPENDIR, FUSE_READDIR, * FUSE_RELEASEDIR * - add padding to messages to accommodate 32-bit servers on 64-bit kernels * * 7.2: * - add FOPEN_DIRECT_IO and FOPEN_KEEP_CACHE flags * - add FUSE_FSYNCDIR message * * 7.3: * - add FUSE_ACCESS message * - add FUSE_CREATE message * - add filehandle to fuse_setattr_in * * 7.4: * - add frsize to fuse_kstatfs * - clean up request size limit checking * * 7.5: * - add flags and max_write to fuse_init_out * * 7.6: * - add max_readahead to fuse_init_in and fuse_init_out * * 7.7: * - add FUSE_INTERRUPT message * - add POSIX file lock support * * 7.8: * - add lock_owner and flags fields to fuse_release_in * - add FUSE_BMAP message * - add FUSE_DESTROY message * * 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 * - Add ATIME_NOW and MTIME_NOW flags to fuse_setattr_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 create, 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 * * 7.15 * - add store notify * - add retrieve notify * * 7.16 * - add BATCH_FORGET request * - FUSE_IOCTL_UNRESTRICTED shall now return with array of 'struct * fuse_ioctl_iovec' instead of ambiguous 'struct iovec' * - add FUSE_IOCTL_32BIT flag * * 7.17 * - add FUSE_FLOCK_LOCKS and FUSE_RELEASE_FLOCK_UNLOCK * * 7.18 * - add FUSE_IOCTL_DIR flag * - add FUSE_NOTIFY_DELETE * * 7.19 * - add FUSE_FALLOCATE * * 7.20 * - add FUSE_AUTO_INVAL_DATA * * 7.21 * - add FUSE_READDIRPLUS * - send the requested events in POLL request * * 7.22 * - add FUSE_ASYNC_DIO * * 7.23 * - add FUSE_WRITEBACK_CACHE * - add time_gran to fuse_init_out * - add reserved space to fuse_init_out * - add FATTR_CTIME * - add ctime and ctimensec to fuse_setattr_in * - add FUSE_RENAME2 request * - add FUSE_NO_OPEN_SUPPORT flag * * 7.24 * - add FUSE_LSEEK for SEEK_HOLE and SEEK_DATA support * * 7.25 * - add FUSE_PARALLEL_DIROPS * * 7.26 * - add FUSE_HANDLE_KILLPRIV * - add FUSE_POSIX_ACL * * 7.27 * - add FUSE_ABORT_ERROR * * 7.28 * - add FUSE_COPY_FILE_RANGE * - add FOPEN_CACHE_DIR * - add FUSE_MAX_PAGES, add max_pages to init_out * - add FUSE_CACHE_SYMLINKS * * 7.29 * - add FUSE_NO_OPENDIR_SUPPORT flag * * 7.30 * - add FUSE_EXPLICIT_INVAL_DATA * - add FUSE_IOCTL_COMPAT_X32 * * 7.31 * - add FUSE_WRITE_KILL_PRIV flag * - add FUSE_SETUPMAPPING and FUSE_REMOVEMAPPING * - add map_alignment to fuse_init_out, add FUSE_MAP_ALIGNMENT flag * * 7.32 * - add flags to fuse_attr, add FUSE_ATTR_SUBMOUNT, add FUSE_SUBMOUNTS * * 7.33 * - add FUSE_HANDLE_KILLPRIV_V2, FUSE_WRITE_KILL_SUIDGID, FATTR_KILL_SUIDGID * - add FUSE_OPEN_KILL_SUIDGID * - extend fuse_setxattr_in, add FUSE_SETXATTR_EXT * - add FUSE_SETXATTR_ACL_KILL_SGID * - add FUSE_EXPIRE_ONLY flag to fuse_notify_inval_entry * - add FUSE_HAS_EXPIRE_ONLY * * 7.34 * - add FUSE_SYNCFS */ #ifndef _LINUX_FUSE_H #define _LINUX_FUSE_H #ifdef __KERNEL__ #include <linux/types.h> #else #include <stdint.h> #endif /* * 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 34 /** 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 { uint64_t ino; uint64_t size; uint64_t blocks; uint64_t atime; uint64_t mtime; uint64_t ctime; uint32_t atimensec; uint32_t mtimensec; uint32_t ctimensec; uint32_t mode; uint32_t nlink; uint32_t uid; uint32_t gid; uint32_t rdev; uint32_t blksize; uint32_t flags; }; struct fuse_kstatfs { uint64_t blocks; uint64_t bfree; uint64_t bavail; uint64_t files; uint64_t ffree; uint32_t bsize; uint32_t namelen; uint32_t frsize; uint32_t padding; uint32_t spare[6]; }; struct fuse_file_lock { uint64_t start; uint64_t end; uint32_t type; uint32_t 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) #define FATTR_CTIME (1 << 10) #define FATTR_KILL_SUIDGID (1 << 11) /** * 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 * FOPEN_CACHE_DIR: allow caching this directory */ #define FOPEN_DIRECT_IO (1 << 0) #define FOPEN_KEEP_CACHE (1 << 1) #define FOPEN_NONSEEKABLE (1 << 2) #define FOPEN_CACHE_DIR (1 << 3) /** * INIT request/reply flags * * FUSE_ASYNC_READ: asynchronous read requests * FUSE_POSIX_LOCKS: remote locking for POSIX file locks * FUSE_FILE_OPS: kernel sends file handle for fstat, etc... (not yet supported) * FUSE_ATOMIC_O_TRUNC: handles the O_TRUNC open flag in the filesystem * FUSE_EXPORT_SUPPORT: filesystem handles lookups of "." and ".." * FUSE_BIG_WRITES: filesystem can handle write size larger than 4kB * FUSE_DONT_MASK: don't apply umask to file mode on create operations * FUSE_SPLICE_WRITE: kernel supports splice write on the device * FUSE_SPLICE_MOVE: kernel supports splice move on the device * FUSE_SPLICE_READ: kernel supports splice read on the device * FUSE_FLOCK_LOCKS: remote locking for BSD style file locks * FUSE_HAS_IOCTL_DIR: kernel supports ioctl on directories * 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 * FUSE_WRITEBACK_CACHE: use writeback cache for buffered writes * FUSE_NO_OPEN_SUPPORT: kernel supports zero-message opens * FUSE_PARALLEL_DIROPS: allow parallel lookups and readdir * FUSE_HANDLE_KILLPRIV: fs handles killing suid/sgid/cap on write/chown/trunc * FUSE_POSIX_ACL: filesystem supports posix acls * FUSE_ABORT_ERROR: reading the device after abort returns ECONNABORTED * FUSE_MAX_PAGES: init_out.max_pages contains the max number of req pages * FUSE_CACHE_SYMLINKS: cache READLINK responses * FUSE_NO_OPENDIR_SUPPORT: kernel supports zero-message opendir * FUSE_EXPLICIT_INVAL_DATA: only invalidate cached pages on explicit request * FUSE_MAP_ALIGNMENT: init_out.map_alignment contains log2(byte alignment) for * foffset and moffset fields in struct * fuse_setupmapping_out and fuse_removemapping_one. * FUSE_SUBMOUNTS: kernel supports auto-mounting directory submounts * FUSE_HANDLE_KILLPRIV_V2: fs kills suid/sgid/cap on write/chown/trunc. * Upon write/truncate suid/sgid is only killed if caller * does not have CAP_FSETID. Additionally upon * write/truncate sgid is killed only if file has group * execute permission. (Same as Linux VFS behavior). * FUSE_SETXATTR_EXT: Server supports extended struct fuse_setxattr_in * FUSE_INIT_EXT: extended fuse_init_in request * FUSE_INIT_RESERVED: reserved, do not use * FUSE_HAS_EXPIRE_ONLY: kernel supports expiry-only entry invalidation */ #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_SPLICE_WRITE (1 << 7) #define FUSE_SPLICE_MOVE (1 << 8) #define FUSE_SPLICE_READ (1 << 9) #define FUSE_FLOCK_LOCKS (1 << 10) #define FUSE_HAS_IOCTL_DIR (1 << 11) #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) #define FUSE_WRITEBACK_CACHE (1 << 16) #define FUSE_NO_OPEN_SUPPORT (1 << 17) #define FUSE_PARALLEL_DIROPS (1 << 18) #define FUSE_HANDLE_KILLPRIV (1 << 19) #define FUSE_POSIX_ACL (1 << 20) #define FUSE_ABORT_ERROR (1 << 21) #define FUSE_MAX_PAGES (1 << 22) #define FUSE_CACHE_SYMLINKS (1 << 23) #define FUSE_NO_OPENDIR_SUPPORT (1 << 24) #define FUSE_EXPLICIT_INVAL_DATA (1 << 25) #define FUSE_MAP_ALIGNMENT (1 << 26) #define FUSE_SUBMOUNTS (1 << 27) #define FUSE_HANDLE_KILLPRIV_V2 (1 << 28) #define FUSE_SETXATTR_EXT (1 << 29) #define FUSE_INIT_EXT (1 << 30) #define FUSE_INIT_RESERVED (1 << 31) /* bits 32..63 get shifted down 32 bits into the flags2 field */ #define FUSE_HAS_EXPIRE_ONLY (1ULL << 35) /** * 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) #define FUSE_RELEASE_FLOCK_UNLOCK (1 << 1) /** * 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 * FUSE_WRITE_KILL_SUIDGID: kill suid and sgid bits */ #define FUSE_WRITE_CACHE (1 << 0) #define FUSE_WRITE_LOCKOWNER (1 << 1) #define FUSE_WRITE_KILL_SUIDGID (1 << 2) /* Obsolete alias; this flag implies killing suid/sgid only. */ #define FUSE_WRITE_KILL_PRIV FUSE_WRITE_KILL_SUIDGID /** * 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_32BIT: 32bit ioctl * FUSE_IOCTL_DIR: is a directory * FUSE_IOCTL_COMPAT_X32: x32 compat ioctl on 64bit machine (64bit time_t) * * 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_32BIT (1 << 3) #define FUSE_IOCTL_DIR (1 << 4) #define FUSE_IOCTL_COMPAT_X32 (1 << 5) #define FUSE_IOCTL_MAX_IOV 256 /** * Poll flags * * FUSE_POLL_SCHEDULE_NOTIFY: request poll notify */ #define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0) /** * Fsync flags * * FUSE_FSYNC_FDATASYNC: Sync data only, not metadata */ #define FUSE_FSYNC_FDATASYNC (1 << 0) /** * fuse_attr flags * * FUSE_ATTR_SUBMOUNT: Object is a submount root */ #define FUSE_ATTR_SUBMOUNT (1 << 0) /** * Open flags * FUSE_OPEN_KILL_SUIDGID: Kill suid and sgid if executable */ #define FUSE_OPEN_KILL_SUIDGID (1 << 0) /** * setxattr flags * FUSE_SETXATTR_ACL_KILL_SGID: Clear SGID when system.posix_acl_access is set */ #define FUSE_SETXATTR_ACL_KILL_SGID (1 << 0) /** * notify_inval_entry flags * FUSE_EXPIRE_ONLY */ #define FUSE_EXPIRE_ONLY (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, FUSE_RENAME2 = 45, FUSE_LSEEK = 46, FUSE_COPY_FILE_RANGE = 47, FUSE_SETUPMAPPING = 48, FUSE_REMOVEMAPPING = 49, FUSE_SYNCFS = 50, /* CUSE specific operations */ CUSE_INIT = 4096, /* Reserved opcodes: helpful to detect structure endian-ness */ CUSE_INIT_BSWAP_RESERVED = 1048576, /* CUSE_INIT << 8 */ FUSE_INIT_BSWAP_RESERVED = 436207616, /* FUSE_INIT << 24 */ }; enum fuse_notify_code { FUSE_NOTIFY_POLL = 1, FUSE_NOTIFY_INVAL_INODE = 2, FUSE_NOTIFY_INVAL_ENTRY = 3, FUSE_NOTIFY_STORE = 4, FUSE_NOTIFY_RETRIEVE = 5, FUSE_NOTIFY_DELETE = 6, 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 { uint64_t nodeid; /* Inode ID */ uint64_t generation; /* Inode generation: nodeid:gen must be unique for the fs's lifetime */ uint64_t entry_valid; /* Cache timeout for the name */ uint64_t attr_valid; /* Cache timeout for the attributes */ uint32_t entry_valid_nsec; uint32_t attr_valid_nsec; struct fuse_attr attr; }; struct fuse_forget_in { uint64_t nlookup; }; struct fuse_forget_one { uint64_t nodeid; uint64_t nlookup; }; struct fuse_batch_forget_in { uint32_t count; uint32_t dummy; }; struct fuse_getattr_in { uint32_t getattr_flags; uint32_t dummy; uint64_t fh; }; #define FUSE_COMPAT_ATTR_OUT_SIZE 96 struct fuse_attr_out { uint64_t attr_valid; /* Cache timeout for the attributes */ uint32_t attr_valid_nsec; uint32_t dummy; struct fuse_attr attr; }; #define FUSE_COMPAT_MKNOD_IN_SIZE 8 struct fuse_mknod_in { uint32_t mode; uint32_t rdev; uint32_t umask; uint32_t padding; }; struct fuse_mkdir_in { uint32_t mode; uint32_t umask; }; struct fuse_rename_in { uint64_t newdir; }; struct fuse_rename2_in { uint64_t newdir; uint32_t flags; uint32_t padding; }; struct fuse_link_in { uint64_t oldnodeid; }; struct fuse_setattr_in { uint32_t valid; uint32_t padding; uint64_t fh; uint64_t size; uint64_t lock_owner; uint64_t atime; uint64_t mtime; uint64_t ctime; uint32_t atimensec; uint32_t mtimensec; uint32_t ctimensec; uint32_t mode; uint32_t unused4; uint32_t uid; uint32_t gid; uint32_t unused5; }; struct fuse_open_in { uint32_t flags; uint32_t open_flags; /* FUSE_OPEN_... */ }; struct fuse_create_in { uint32_t flags; uint32_t mode; uint32_t umask; uint32_t open_flags; /* FUSE_OPEN_... */ }; struct fuse_open_out { uint64_t fh; uint32_t open_flags; uint32_t padding; }; struct fuse_release_in { uint64_t fh; uint32_t flags; uint32_t release_flags; uint64_t lock_owner; }; struct fuse_flush_in { uint64_t fh; uint32_t unused; uint32_t padding; uint64_t lock_owner; }; struct fuse_read_in { uint64_t fh; uint64_t offset; uint32_t size; uint32_t read_flags; uint64_t lock_owner; uint32_t flags; uint32_t padding; }; #define FUSE_COMPAT_WRITE_IN_SIZE 24 struct fuse_write_in { uint64_t fh; uint64_t offset; uint32_t size; uint32_t write_flags; uint64_t lock_owner; uint32_t flags; uint32_t padding; }; struct fuse_write_out { uint32_t size; uint32_t padding; }; #define FUSE_COMPAT_STATFS_SIZE 48 struct fuse_statfs_out { struct fuse_kstatfs st; }; struct fuse_fsync_in { uint64_t fh; uint32_t fsync_flags; uint32_t padding; }; #define FUSE_COMPAT_SETXATTR_IN_SIZE 8 struct fuse_setxattr_in { uint32_t size; uint32_t flags; uint32_t setxattr_flags; uint32_t padding; }; struct fuse_getxattr_in { uint32_t size; uint32_t padding; }; struct fuse_getxattr_out { uint32_t size; uint32_t padding; }; struct fuse_lk_in { uint64_t fh; uint64_t owner; struct fuse_file_lock lk; uint32_t lk_flags; uint32_t padding; }; struct fuse_lk_out { struct fuse_file_lock lk; }; struct fuse_access_in { uint32_t mask; uint32_t padding; }; struct fuse_init_in { uint32_t major; uint32_t minor; uint32_t max_readahead; uint32_t flags; uint32_t flags2; uint32_t unused[11]; }; #define FUSE_COMPAT_INIT_OUT_SIZE 8 #define FUSE_COMPAT_22_INIT_OUT_SIZE 24 struct fuse_init_out { uint32_t major; uint32_t minor; uint32_t max_readahead; uint32_t flags; uint16_t max_background; uint16_t congestion_threshold; uint32_t max_write; uint32_t time_gran; uint16_t max_pages; uint16_t map_alignment; uint32_t flags2; uint32_t unused[7]; }; #define CUSE_INIT_INFO_MAX 4096 struct cuse_init_in { uint32_t major; uint32_t minor; uint32_t unused; uint32_t flags; }; struct cuse_init_out { uint32_t major; uint32_t minor; uint32_t unused; uint32_t flags; uint32_t max_read; uint32_t max_write; uint32_t dev_major; /* chardev major */ uint32_t dev_minor; /* chardev minor */ uint32_t spare[10]; }; struct fuse_interrupt_in { uint64_t unique; }; struct fuse_bmap_in { uint64_t block; uint32_t blocksize; uint32_t padding; }; struct fuse_bmap_out { uint64_t block; }; struct fuse_ioctl_in { uint64_t fh; uint32_t flags; uint32_t cmd; uint64_t arg; uint32_t in_size; uint32_t out_size; }; struct fuse_ioctl_iovec { uint64_t base; uint64_t len; }; struct fuse_ioctl_out { int32_t result; uint32_t flags; uint32_t in_iovs; uint32_t out_iovs; }; struct fuse_poll_in { uint64_t fh; uint64_t kh; uint32_t flags; uint32_t events; }; struct fuse_poll_out { uint32_t revents; uint32_t padding; }; struct fuse_notify_poll_wakeup_out { uint64_t kh; }; struct fuse_fallocate_in { uint64_t fh; uint64_t offset; uint64_t length; uint32_t mode; uint32_t padding; }; struct fuse_in_header { uint32_t len; uint32_t opcode; uint64_t unique; uint64_t nodeid; uint32_t uid; uint32_t gid; uint32_t pid; uint32_t padding; }; struct fuse_out_header { uint32_t len; int32_t error; uint64_t unique; }; struct fuse_dirent { uint64_t ino; uint64_t off; uint32_t namelen; uint32_t type; char name[]; }; #define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name) #define FUSE_DIRENT_ALIGN(x) \ (((x) + sizeof(uint64_t) - 1) & ~(sizeof(uint64_t) - 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 { uint64_t ino; int64_t off; int64_t len; }; struct fuse_notify_inval_entry_out { uint64_t parent; uint32_t namelen; uint32_t flags; }; struct fuse_notify_delete_out { uint64_t parent; uint64_t child; uint32_t namelen; uint32_t padding; }; struct fuse_notify_store_out { uint64_t nodeid; uint64_t offset; uint32_t size; uint32_t padding; }; struct fuse_notify_retrieve_out { uint64_t notify_unique; uint64_t nodeid; uint64_t offset; uint32_t size; uint32_t padding; }; /* Matches the size of fuse_write_in */ struct fuse_notify_retrieve_in { uint64_t dummy1; uint64_t offset; uint32_t size; uint32_t dummy2; uint64_t dummy3; uint64_t dummy4; }; /* Device ioctls: */ #define FUSE_DEV_IOC_MAGIC 229 #define FUSE_DEV_IOC_CLONE _IOR(FUSE_DEV_IOC_MAGIC, 0, uint32_t) struct fuse_lseek_in { uint64_t fh; uint64_t offset; uint32_t whence; uint32_t padding; }; struct fuse_lseek_out { uint64_t offset; }; struct fuse_copy_file_range_in { uint64_t fh_in; uint64_t off_in; uint64_t nodeid_out; uint64_t fh_out; uint64_t off_out; uint64_t len; uint64_t flags; }; #define FUSE_SETUPMAPPING_FLAG_WRITE (1ull << 0) #define FUSE_SETUPMAPPING_FLAG_READ (1ull << 1) struct fuse_setupmapping_in { /* An already open handle */ uint64_t fh; /* Offset into the file to start the mapping */ uint64_t foffset; /* Length of mapping required */ uint64_t len; /* Flags, FUSE_SETUPMAPPING_FLAG_* */ uint64_t flags; /* Offset in Memory Window */ uint64_t moffset; }; struct fuse_removemapping_in { /* number of fuse_removemapping_one follows */ uint32_t count; }; struct fuse_removemapping_one { /* Offset into the dax window start the unmapping */ uint64_t moffset; /* Length of mapping required */ uint64_t len; }; #define FUSE_REMOVEMAPPING_MAX_ENTRY \ (PAGE_SIZE / sizeof(struct fuse_removemapping_one)) struct fuse_syncfs_in { uint64_t padding; }; #endif /* _LINUX_FUSE_H */
Save
cmd:
run