/
usr
/
include
/
linux
/
/usr/include/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
misc/
-
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
surface_aggregator/
-
0755
rm
tc_act/
-
0755
rm
tc_ematch/
-
0755
rm
usb/
-
0755
rm
a.out.h
6892
0644
edit
dl
rm
acct.h
3913
0644
edit
dl
rm
acrn.h
16686
0644
edit
dl
rm
adb.h
1140
0644
edit
dl
rm
adfs_fs.h
993
0644
edit
dl
rm
affs_hardblocks.h
1578
0644
edit
dl
rm
agpgart.h
3940
0644
edit
dl
rm
aio_abi.h
3398
0644
edit
dl
rm
am437x-vpfe.h
3681
0644
edit
dl
rm
apm_bios.h
3683
0644
edit
dl
rm
arcfb.h
213
0644
edit
dl
rm
arm_sdei.h
2751
0644
edit
dl
rm
aspeed-lpc-ctrl.h
1780
0644
edit
dl
rm
aspeed-p2a-ctrl.h
1906
0644
edit
dl
rm
atalk.h
1023
0644
edit
dl
rm
atm.h
7888
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
7677
0644
edit
dl
rm
atmioc.h
1647
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
1622
0644
edit
dl
rm
atm_zatm.h
1540
0644
edit
dl
rm
audit.h
21570
0644
edit
dl
rm
auto_dev-ioctl.h
4986
0644
edit
dl
rm
auto_fs.h
6428
0644
edit
dl
rm
auto_fs4.h
451
0644
edit
dl
rm
auxvec.h
1597
0644
edit
dl
rm
ax25.h
2824
0644
edit
dl
rm
batadv_packet.h
20345
0644
edit
dl
rm
batman_adv.h
16887
0644
edit
dl
rm
baycom.h
883
0644
edit
dl
rm
bcm933xx_hcs.h
419
0644
edit
dl
rm
bfs_fs.h
1905
0644
edit
dl
rm
binfmts.h
776
0644
edit
dl
rm
bits.h
447
0644
edit
dl
rm
blkpg.h
904
0644
edit
dl
rm
blktrace_api.h
4701
0644
edit
dl
rm
blkzoned.h
6493
0644
edit
dl
rm
bpf.h
278639
0644
edit
dl
rm
bpfilter.h
465
0644
edit
dl
rm
bpf_common.h
1367
0644
edit
dl
rm
bpf_perf_event.h
529
0644
edit
dl
rm
bpqether.h
981
0644
edit
dl
rm
bsg.h
2494
0644
edit
dl
rm
bt-bmc.h
572
0644
edit
dl
rm
btf.h
5591
0644
edit
dl
rm
btrfs.h
30570
0644
edit
dl
rm
btrfs_tree.h
25829
0644
edit
dl
rm
cachefiles.h
1650
0644
edit
dl
rm
can.h
11496
0644
edit
dl
rm
capability.h
13491
0644
edit
dl
rm
capi.h
3124
0644
edit
dl
rm
cciss_defs.h
3281
0644
edit
dl
rm
cciss_ioctl.h
2761
0644
edit
dl
rm
ccs.h
767
0644
edit
dl
rm
cdrom.h
29561
0644
edit
dl
rm
cec-funcs.h
54419
0644
edit
dl
rm
cec.h
41437
0644
edit
dl
rm
cfm_bridge.h
1456
0644
edit
dl
rm
cgroupstats.h
2219
0644
edit
dl
rm
chio.h
5282
0644
edit
dl
rm
close_range.h
377
0644
edit
dl
rm
cm4000_cs.h
1806
0644
edit
dl
rm
cn_proc.h
4149
0644
edit
dl
rm
coda.h
18216
0644
edit
dl
rm
coff.h
12549
0644
edit
dl
rm
connector.h
2253
0644
edit
dl
rm
const.h
987
0644
edit
dl
rm
coresight-stm.h
747
0644
edit
dl
rm
cramfs_fs.h
3555
0644
edit
dl
rm
cryptouser.h
5321
0644
edit
dl
rm
cuda.h
905
0644
edit
dl
rm
cxl_mem.h
7915
0644
edit
dl
rm
cycx_cfm.h
2990
0644
edit
dl
rm
dcbnl.h
25292
0644
edit
dl
rm
dccp.h
6436
0644
edit
dl
rm
devlink.h
23316
0644
edit
dl
rm
dlm.h
2553
0644
edit
dl
rm
dlmconstants.h
5080
0644
edit
dl
rm
dlm_device.h
2543
0644
edit
dl
rm
dlm_netlink.h
1159
0644
edit
dl
rm
dlm_plock.h
894
0644
edit
dl
rm
dm-ioctl.h
11753
0644
edit
dl
rm
dm-log-userspace.h
15191
0644
edit
dl
rm
dma-buf.h
5247
0644
edit
dl
rm
dma-heap.h
1394
0644
edit
dl
rm
dn.h
4642
0644
edit
dl
rm
dns_resolver.h
3949
0644
edit
dl
rm
dpll.h
8697
0644
edit
dl
rm
dqblk_xfs.h
9388
0644
edit
dl
rm
edd.h
5604
0644
edit
dl
rm
efs_fs_sb.h
2227
0644
edit
dl
rm
elf-em.h
2627
0644
edit
dl
rm
elf-fdpic.h
1124
0644
edit
dl
rm
elf.h
15042
0644
edit
dl
rm
errno.h
23
0644
edit
dl
rm
errqueue.h
1983
0644
edit
dl
rm
erspan.h
1059
0644
edit
dl
rm
ethtool.h
103855
0644
edit
dl
rm
ethtool_netlink.h
6314
0644
edit
dl
rm
ethtool_netlink_generated.h
19626
0644
edit
dl
rm
eventfd.h
264
0644
edit
dl
rm
eventpoll.h
2913
0644
edit
dl
rm
f2fs.h
3301
0644
edit
dl
rm
fadvise.h
842
0644
edit
dl
rm
falloc.h
3643
0644
edit
dl
rm
fanotify.h
7886
0644
edit
dl
rm
fb.h
16477
0644
edit
dl
rm
fcntl.h
4319
0644
edit
dl
rm
fd.h
12117
0644
edit
dl
rm
fdreg.h
5364
0644
edit
dl
rm
fib_rules.h
2036
0644
edit
dl
rm
fiemap.h
2775
0644
edit
dl
rm
filter.h
2216
0644
edit
dl
rm
firewire-cdev.h
44240
0644
edit
dl
rm
firewire-constants.h
3231
0644
edit
dl
rm
fou.h
819
0644
edit
dl
rm
fpga-dfl.h
8728
0644
edit
dl
rm
fs.h
13186
0644
edit
dl
rm
fscrypt.h
6565
0644
edit
dl
rm
fsi.h
2255
0644
edit
dl
rm
fsl_hypervisor.h
7301
0644
edit
dl
rm
fsl_mc.h
734
0644
edit
dl
rm
fsmap.h
4393
0644
edit
dl
rm
fsverity.h
3185
0644
edit
dl
rm
fuse.h
25968
0644
edit
dl
rm
futex.h
6127
0644
edit
dl
rm
gameport.h
897
0644
edit
dl
rm
genetlink.h
2238
0644
edit
dl
rm
gen_stats.h
1526
0644
edit
dl
rm
gfs2_ondisk.h
14773
0644
edit
dl
rm
gpio.h
19922
0644
edit
dl
rm
gsmmux.h
4509
0644
edit
dl
rm
gtp.h
734
0644
edit
dl
rm
handshake.h
1646
0644
edit
dl
rm
hash_info.h
971
0644
edit
dl
rm
hdlc.h
637
0644
edit
dl
rm
hdlcdrv.h
2908
0644
edit
dl
rm
hdreg.h
22703
0644
edit
dl
rm
hid.h
2086
0644
edit
dl
rm
hiddev.h
6345
0644
edit
dl
rm
hidraw.h
1993
0644
edit
dl
rm
hpet.h
743
0644
edit
dl
rm
hsr_netlink.h
1101
0644
edit
dl
rm
hw_breakpoint.h
742
0644
edit
dl
rm
hyperv.h
11152
0644
edit
dl
rm
i2c-dev.h
1875
0644
edit
dl
rm
i2c.h
6890
0644
edit
dl
rm
i2o-dev.h
11555
0644
edit
dl
rm
i8k.h
1528
0644
edit
dl
rm
icmp.h
4785
0644
edit
dl
rm
icmpv6.h
4300
0644
edit
dl
rm
idxd.h
9328
0644
edit
dl
rm
if.h
10925
0644
edit
dl
rm
ife.h
351
0644
edit
dl
rm
if_addr.h
1886
0644
edit
dl
rm
if_addrlabel.h
721
0644
edit
dl
rm
if_alg.h
1566
0644
edit
dl
rm
if_arcnet.h
3717
0644
edit
dl
rm
if_arp.h
6565
0644
edit
dl
rm
if_bonding.h
5145
0644
edit
dl
rm
if_bridge.h
20755
0644
edit
dl
rm
if_cablemodem.h
986
0644
edit
dl
rm
if_eql.h
1349
0644
edit
dl
rm
if_ether.h
8410
0644
edit
dl
rm
if_fc.h
1738
0644
edit
dl
rm
if_fddi.h
4369
0644
edit
dl
rm
if_hippi.h
4235
0644
edit
dl
rm
if_infiniband.h
1245
0644
edit
dl
rm
if_link.h
54131
0644
edit
dl
rm
if_ltalk.h
210
0644
edit
dl
rm
if_macsec.h
6503
0644
edit
dl
rm
if_packet.h
8183
0644
edit
dl
rm
if_phonet.h
424
0644
edit
dl
rm
if_plip.h
660
0644
edit
dl
rm
if_ppp.h
29
0644
edit
dl
rm
if_pppol2tp.h
3303
0644
edit
dl
rm
if_pppox.h
4879
0644
edit
dl
rm
if_slip.h
872
0644
edit
dl
rm
if_team.h
2600
0644
edit
dl
rm
if_tun.h
4098
0644
edit
dl
rm
if_tunnel.h
5488
0644
edit
dl
rm
if_vlan.h
1831
0644
edit
dl
rm
if_x25.h
881
0644
edit
dl
rm
if_xdp.h
5414
0644
edit
dl
rm
igmp.h
3064
0644
edit
dl
rm
ila.h
1246
0644
edit
dl
rm
in.h
10486
0644
edit
dl
rm
in6.h
7537
0644
edit
dl
rm
inet_diag.h
5017
0644
edit
dl
rm
inotify.h
3292
0644
edit
dl
rm
input-event-codes.h
30203
0644
edit
dl
rm
input.h
16217
0644
edit
dl
rm
in_route.h
936
0644
edit
dl
rm
ioctl.h
163
0644
edit
dl
rm
iommufd.h
37327
0644
edit
dl
rm
ioprio.h
4175
0644
edit
dl
rm
io_uring.h
20887
0644
edit
dl
rm
ip.h
4813
0644
edit
dl
rm
ip6_tunnel.h
1953
0644
edit
dl
rm
ipc.h
2101
0644
edit
dl
rm
ipmi.h
15442
0644
edit
dl
rm
ipmi_bmc.h
488
0644
edit
dl
rm
ipmi_msgdefs.h
3430
0644
edit
dl
rm
ipmi_ssif_bmc.h
441
0644
edit
dl
rm
ipsec.h
947
0644
edit
dl
rm
ipv6.h
4169
0644
edit
dl
rm
ipv6_route.h
1908
0644
edit
dl
rm
ipx.h
2347
0644
edit
dl
rm
ip_vs.h
14135
0644
edit
dl
rm
irqnr.h
104
0644
edit
dl
rm
iso_fs.h
6485
0644
edit
dl
rm
isst_if.h
15281
0644
edit
dl
rm
ivtv.h
3022
0644
edit
dl
rm
ivtvfb.h
1207
0644
edit
dl
rm
jffs2.h
6815
0644
edit
dl
rm
joystick.h
3434
0644
edit
dl
rm
kcm.h
822
0644
edit
dl
rm
kcmp.h
522
0644
edit
dl
rm
kcov.h
1963
0644
edit
dl
rm
kd.h
6452
0644
edit
dl
rm
kdev_t.h
383
0644
edit
dl
rm
kernel-page-flags.h
900
0644
edit
dl
rm
kernel.h
194
0644
edit
dl
rm
kernelcapi.h
1019
0644
edit
dl
rm
kexec.h
2097
0644
edit
dl
rm
keyboard.h
13459
0644
edit
dl
rm
keyctl.h
5996
0644
edit
dl
rm
kfd_ioctl.h
58428
0644
edit
dl
rm
kfd_sysfs.h
5379
0644
edit
dl
rm
kvm.h
48372
0644
edit
dl
rm
kvm_para.h
1001
0644
edit
dl
rm
l2tp.h
5746
0644
edit
dl
rm
landlock.h
11828
0644
edit
dl
rm
libc-compat.h
8289
0644
edit
dl
rm
limits.h
937
0644
edit
dl
rm
lirc.h
8144
0644
edit
dl
rm
llc.h
3164
0644
edit
dl
rm
loadpin.h
834
0644
edit
dl
rm
loop.h
3396
0644
edit
dl
rm
lp.h
4190
0644
edit
dl
rm
lsm.h
1549
0644
edit
dl
rm
lwtunnel.h
2367
0644
edit
dl
rm
magic.h
3824
0644
edit
dl
rm
major.h
4657
0644
edit
dl
rm
map_to_7segment.h
6608
0644
edit
dl
rm
matroxfb.h
1464
0644
edit
dl
rm
max2175.h
1035
0644
edit
dl
rm
mdio.h
24350
0644
edit
dl
rm
media-bus-format.h
6909
0644
edit
dl
rm
media.h
12754
0644
edit
dl
rm
mei.h
3479
0644
edit
dl
rm
mei_uuid.h
738
0644
edit
dl
rm
membarrier.h
9362
0644
edit
dl
rm
memfd.h
1467
0644
edit
dl
rm
mempolicy.h
2568
0644
edit
dl
rm
meye.h
2529
0644
edit
dl
rm
mii.h
9496
0644
edit
dl
rm
minix_fs.h
2122
0644
edit
dl
rm
mman.h
1787
0644
edit
dl
rm
mmtimer.h
2117
0644
edit
dl
rm
module.h
293
0644
edit
dl
rm
mount.h
5019
0644
edit
dl
rm
mpls.h
2302
0644
edit
dl
rm
mpls_iptunnel.h
761
0644
edit
dl
rm
mptcp.h
3763
0644
edit
dl
rm
mptcp_pm.h
4407
0644
edit
dl
rm
mqueue.h
2201
0644
edit
dl
rm
mroute.h
5922
0644
edit
dl
rm
mroute6.h
4930
0644
edit
dl
rm
mrp_bridge.h
1708
0644
edit
dl
rm
msdos_fs.h
6731
0644
edit
dl
rm
msg.h
3386
0644
edit
dl
rm
mshv.h
8122
0644
edit
dl
rm
mtio.h
8175
0644
edit
dl
rm
nbd-netlink.h
2408
0644
edit
dl
rm
nbd.h
3862
0644
edit
dl
rm
ncsi.h
4828
0644
edit
dl
rm
ndctl.h
6829
0644
edit
dl
rm
neighbour.h
6054
0644
edit
dl
rm
net.h
2085
0644
edit
dl
rm
netconf.h
614
0644
edit
dl
rm
netdev.h
5786
0644
edit
dl
rm
netdevice.h
2253
0644
edit
dl
rm
netfilter.h
1731
0644
edit
dl
rm
netfilter_arp.h
445
0644
edit
dl
rm
netfilter_bridge.h
1168
0644
edit
dl
rm
netfilter_decnet.h
1758
0644
edit
dl
rm
netfilter_ipv4.h
1488
0644
edit
dl
rm
netfilter_ipv6.h
1383
0644
edit
dl
rm
netlink.h
12381
0644
edit
dl
rm
netlink_diag.h
1524
0644
edit
dl
rm
netrom.h
807
0644
edit
dl
rm
net_dropmon.h
2922
0644
edit
dl
rm
net_namespace.h
715
0644
edit
dl
rm
net_shaper.h
2583
0644
edit
dl
rm
net_tstamp.h
6455
0644
edit
dl
rm
nexthop.h
4066
0644
edit
dl
rm
nfc.h
11209
0644
edit
dl
rm
nfs.h
4463
0644
edit
dl
rm
nfs2.h
1468
0644
edit
dl
rm
nfs3.h
2453
0644
edit
dl
rm
nfs4.h
6695
0644
edit
dl
rm
nfs4_mount.h
1932
0644
edit
dl
rm
nfsacl.h
718
0644
edit
dl
rm
nfsd_netlink.h
1995
0644
edit
dl
rm
nfs_fs.h
1654
0644
edit
dl
rm
nfs_idmap.h
2243
0644
edit
dl
rm
nfs_mount.h
2142
0644
edit
dl
rm
nilfs2_api.h
7589
0644
edit
dl
rm
nilfs2_ondisk.h
18085
0644
edit
dl
rm
nitro_enclaves.h
13161
0644
edit
dl
rm
nl80211.h
349518
0644
edit
dl
rm
nsfs.h
639
0644
edit
dl
rm
nubus.h
8191
0644
edit
dl
rm
nvme_ioctl.h
2490
0644
edit
dl
rm
nvram.h
532
0644
edit
dl
rm
omap3isp.h
20853
0644
edit
dl
rm
omapfb.h
5918
0644
edit
dl
rm
oom.h
511
0644
edit
dl
rm
openat2.h
1450
0644
edit
dl
rm
openvswitch.h
41733
0644
edit
dl
rm
packet_diag.h
1672
0644
edit
dl
rm
param.h
141
0644
edit
dl
rm
parport.h
3644
0644
edit
dl
rm
patchkey.h
892
0644
edit
dl
rm
pci.h
1380
0644
edit
dl
rm
pcitest.h
920
0644
edit
dl
rm
pci_regs.h
63374
0644
edit
dl
rm
perf_event.h
43709
0644
edit
dl
rm
personality.h
2097
0644
edit
dl
rm
pfkeyv2.h
10569
0644
edit
dl
rm
pfrut.h
7987
0644
edit
dl
rm
pg.h
2394
0644
edit
dl
rm
phantom.h
1654
0644
edit
dl
rm
phonet.h
4677
0644
edit
dl
rm
pidfd.h
256
0644
edit
dl
rm
pktcdvd.h
2698
0644
edit
dl
rm
pkt_cls.h
19096
0644
edit
dl
rm
pkt_sched.h
29443
0644
edit
dl
rm
pmu.h
5444
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
3285
0644
edit
dl
rm
ppp-comp.h
2527
0644
edit
dl
rm
ppp-ioctl.h
5729
0644
edit
dl
rm
ppp_defs.h
5557
0644
edit
dl
rm
pps.h
4734
0644
edit
dl
rm
pr.h
1630
0644
edit
dl
rm
prctl.h
11065
0644
edit
dl
rm
psample.h
2634
0644
edit
dl
rm
psci.h
5340
0644
edit
dl
rm
psp-dbc.h
5279
0644
edit
dl
rm
psp-sev.h
7769
0644
edit
dl
rm
ptp_clock.h
7527
0644
edit
dl
rm
ptrace.h
4396
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
893
0644
edit
dl
rm
quota.h
6312
0644
edit
dl
rm
radeonfb.h
360
0644
edit
dl
rm
random.h
1415
0644
edit
dl
rm
rds.h
11168
0644
edit
dl
rm
reboot.h
1343
0644
edit
dl
rm
reiserfs_fs.h
775
0644
edit
dl
rm
reiserfs_xattr.h
533
0644
edit
dl
rm
remoteproc_cdev.h
1102
0644
edit
dl
rm
resource.h
2373
0644
edit
dl
rm
rfkill.h
6608
0644
edit
dl
rm
rio_cm_cdev.h
3248
0644
edit
dl
rm
rio_mport_cdev.h
9330
0644
edit
dl
rm
rkisp1-config.h
31362
0644
edit
dl
rm
romfs_fs.h
1238
0644
edit
dl
rm
rose.h
2232
0644
edit
dl
rm
route.h
2332
0644
edit
dl
rm
rpl.h
814
0644
edit
dl
rm
rpl_iptunnel.h
424
0644
edit
dl
rm
rpmsg.h
1054
0644
edit
dl
rm
rpmsg_types.h
288
0644
edit
dl
rm
rseq.h
4904
0644
edit
dl
rm
rtc.h
5316
0644
edit
dl
rm
rtnetlink.h
21300
0644
edit
dl
rm
rxrpc.h
4922
0644
edit
dl
rm
scc.h
4624
0644
edit
dl
rm
sched.h
6266
0644
edit
dl
rm
scif_ioctl.h
6382
0644
edit
dl
rm
screen_info.h
2479
0644
edit
dl
rm
sctp.h
36022
0644
edit
dl
rm
seccomp.h
5732
0644
edit
dl
rm
securebits.h
2704
0644
edit
dl
rm
sed-opal.h
5414
0644
edit
dl
rm
seg6.h
1170
0644
edit
dl
rm
seg6_genl.h
589
0644
edit
dl
rm
seg6_hmac.h
423
0644
edit
dl
rm
seg6_iptunnel.h
984
0644
edit
dl
rm
seg6_local.h
3867
0644
edit
dl
rm
selinux_netlink.h
1195
0644
edit
dl
rm
sem.h
3051
0644
edit
dl
rm
serial.h
5019
0644
edit
dl
rm
serial_core.h
5046
0644
edit
dl
rm
serial_reg.h
16023
0644
edit
dl
rm
serio.h
2139
0644
edit
dl
rm
sev-guest.h
2526
0644
edit
dl
rm
shm.h
3794
0644
edit
dl
rm
signal.h
388
0644
edit
dl
rm
signalfd.h
1233
0644
edit
dl
rm
smc.h
8663
0644
edit
dl
rm
smc_diag.h
2951
0644
edit
dl
rm
smiapp.h
1058
0644
edit
dl
rm
snmp.h
14347
0644
edit
dl
rm
socket.h
919
0644
edit
dl
rm
sockios.h
6846
0644
edit
dl
rm
sock_diag.h
1301
0644
edit
dl
rm
sonet.h
2290
0644
edit
dl
rm
sonypi.h
5309
0644
edit
dl
rm
sound.h
1237
0644
edit
dl
rm
soundcard.h
46038
0644
edit
dl
rm
stat.h
7404
0644
edit
dl
rm
stddef.h
1726
0644
edit
dl
rm
stm.h
1275
0644
edit
dl
rm
string.h
238
0644
edit
dl
rm
suspend_ioctls.h
1431
0644
edit
dl
rm
swab.h
6921
0644
edit
dl
rm
switchtec_ioctl.h
5262
0644
edit
dl
rm
synclink.h
8985
0644
edit
dl
rm
sync_file.h
3578
0644
edit
dl
rm
sysctl.h
25910
0644
edit
dl
rm
sysinfo.h
1049
0644
edit
dl
rm
target_core_user.h
4633
0644
edit
dl
rm
taskstats.h
8322
0644
edit
dl
rm
tcp.h
11934
0644
edit
dl
rm
tcp_metrics.h
1985
0644
edit
dl
rm
tdx-guest.h
1305
0644
edit
dl
rm
tee.h
13405
0644
edit
dl
rm
termios.h
172
0644
edit
dl
rm
thermal.h
3310
0644
edit
dl
rm
time.h
1752
0644
edit
dl
rm
timerfd.h
936
0644
edit
dl
rm
times.h
278
0644
edit
dl
rm
timex.h
7817
0644
edit
dl
rm
time_types.h
1267
0644
edit
dl
rm
tiocl.h
1729
0644
edit
dl
rm
tipc.h
8825
0644
edit
dl
rm
tipc_config.h
14864
0644
edit
dl
rm
tipc_netlink.h
9395
0644
edit
dl
rm
tipc_sockets_diag.h
468
0644
edit
dl
rm
tls.h
7226
0644
edit
dl
rm
toshiba.h
1930
0644
edit
dl
rm
tps6594_pfsm.h
1160
0644
edit
dl
rm
tty.h
1585
0644
edit
dl
rm
tty_flags.h
4501
0644
edit
dl
rm
types.h
1636
0644
edit
dl
rm
udf_fs_i.h
697
0644
edit
dl
rm
udmabuf.h
643
0644
edit
dl
rm
udp.h
1688
0644
edit
dl
rm
uhid.h
4648
0644
edit
dl
rm
uinput.h
9261
0644
edit
dl
rm
uio.h
732
0644
edit
dl
rm
uleds.h
798
0644
edit
dl
rm
ultrasound.h
4562
0644
edit
dl
rm
um_timetravel.h
3961
0644
edit
dl
rm
un.h
384
0644
edit
dl
rm
unistd.h
220
0644
edit
dl
rm
unix_diag.h
1328
0644
edit
dl
rm
usbdevice_fs.h
8317
0644
edit
dl
rm
usbip.h
1503
0644
edit
dl
rm
userfaultfd.h
10940
0644
edit
dl
rm
userio.h
1516
0644
edit
dl
rm
utime.h
223
0644
edit
dl
rm
utsname.h
669
0644
edit
dl
rm
uuid.h
28
0644
edit
dl
rm
uvcvideo.h
2627
0644
edit
dl
rm
v4l2-common.h
2056
0644
edit
dl
rm
v4l2-controls.h
96860
0644
edit
dl
rm
v4l2-dv-timings.h
31123
0644
edit
dl
rm
v4l2-mediabus.h
5431
0644
edit
dl
rm
v4l2-subdev.h
9998
0644
edit
dl
rm
vboxguest.h
9368
0644
edit
dl
rm
vbox_err.h
7257
0644
edit
dl
rm
vbox_vmmdev_types.h
11651
0644
edit
dl
rm
vdpa.h
1785
0644
edit
dl
rm
vduse.h
9808
0644
edit
dl
rm
version.h
374
0644
edit
dl
rm
veth.h
224
0644
edit
dl
rm
vfio.h
71812
0644
edit
dl
rm
vfio_ccw.h
1317
0644
edit
dl
rm
vfio_zdev.h
2542
0644
edit
dl
rm
vhost.h
8438
0644
edit
dl
rm
vhost_types.h
4882
0644
edit
dl
rm
videodev2.h
101685
0644
edit
dl
rm
virtio_9p.h
2053
0644
edit
dl
rm
virtio_balloon.h
5279
0644
edit
dl
rm
virtio_blk.h
9979
0644
edit
dl
rm
virtio_bt.h
910
0644
edit
dl
rm
virtio_config.h
4461
0644
edit
dl
rm
virtio_console.h
3156
0644
edit
dl
rm
virtio_crypto.h
13887
0644
edit
dl
rm
virtio_fs.h
573
0644
edit
dl
rm
virtio_gpio.h
1738
0644
edit
dl
rm
virtio_gpu.h
11554
0644
edit
dl
rm
virtio_i2c.h
1186
0644
edit
dl
rm
virtio_ids.h
3793
0644
edit
dl
rm
virtio_input.h
2515
0644
edit
dl
rm
virtio_iommu.h
3931
0644
edit
dl
rm
virtio_mem.h
7157
0644
edit
dl
rm
virtio_mmio.h
4969
0644
edit
dl
rm
virtio_net.h
15078
0644
edit
dl
rm
virtio_pci.h
7480
0644
edit
dl
rm
virtio_pcidev.h
2389
0644
edit
dl
rm
virtio_pmem.h
641
0644
edit
dl
rm
virtio_ring.h
8724
0644
edit
dl
rm
virtio_rng.h
265
0644
edit
dl
rm
virtio_scmi.h
637
0644
edit
dl
rm
virtio_scsi.h
6085
0644
edit
dl
rm
virtio_snd.h
13170
0644
edit
dl
rm
virtio_types.h
2153
0644
edit
dl
rm
virtio_vsock.h
3348
0644
edit
dl
rm
vmcore.h
455
0644
edit
dl
rm
vm_sockets.h
7354
0644
edit
dl
rm
vm_sockets_diag.h
963
0644
edit
dl
rm
vsockmon.h
1885
0644
edit
dl
rm
vt.h
3059
0644
edit
dl
rm
vtpm_proxy.h
1719
0644
edit
dl
rm
wait.h
682
0644
edit
dl
rm
watchdog.h
2335
0644
edit
dl
rm
watch_queue.h
3490
0644
edit
dl
rm
wireguard.h
7748
0644
edit
dl
rm
wireless.h
42704
0644
edit
dl
rm
wmi.h
1761
0644
edit
dl
rm
wwan.h
295
0644
edit
dl
rm
x25.h
3562
0644
edit
dl
rm
xattr.h
3023
0644
edit
dl
rm
xdp_diag.h
1468
0644
edit
dl
rm
xfrm.h
12621
0644
edit
dl
rm
xilinx-v4l2-controls.h
2976
0644
edit
dl
rm
zorro.h
3296
0644
edit
dl
rm
zorro_ids.h
29963
0644
edit
dl
rm
Edit:
/usr/include/linux/fuse.h
(25968B)
/* 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 * * 7.34 * - add FUSE_SYNCFS * * 7.35 * - add FOPEN_NOFLUSH * * 7.36 * - extend fuse_init_in with reserved fields, add FUSE_INIT_EXT init flag * - add flags2 to fuse_init_in and fuse_init_out * - add FUSE_SECURITY_CTX init flag * - add security context to create, mkdir, symlink, and mknod requests * - add FUSE_EXPIRE_ONLY flag to fuse_notify_inval_entry * - add FUSE_HAS_EXPIRE_ONLY * * 7.37 * - add FUSE_TMPFILE */ #ifndef _LINUX_FUSE_H #define _LINUX_FUSE_H #include <stdint.h> /* * 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 37 /** 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 * FOPEN_STREAM: the file is stream-like (no file position at all) * FOPEN_NOFLUSH: don't flush data cache on close (unless FUSE_WRITEBACK_CACHE) * FOPEN_PARALLEL_DIRECT_WRITES: Allow concurrent direct writes on the same inode */ #define FOPEN_DIRECT_IO (1 << 0) #define FOPEN_KEEP_CACHE (1 << 1) #define FOPEN_NONSEEKABLE (1 << 2) #define FOPEN_CACHE_DIR (1 << 3) #define FOPEN_STREAM (1 << 4) #define FOPEN_NOFLUSH (1 << 5) #define FOPEN_PARALLEL_DIRECT_WRITES (1 << 6) /** * 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_SECURITY_CTX: add security context to create, mkdir, symlink, and * mknod * FUSE_CREATE_SUPP_GROUP: add supplementary group info to create, mkdir, * symlink and mknod (single group that matches parent) * 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_SECURITY_CTX (1ULL << 32) #define FUSE_CREATE_SUPP_GROUP (1ULL << 34) #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) /** * extension type * FUSE_MAX_NR_SECCTX: maximum value of &fuse_secctx_header.nr_secctx * FUSE_EXT_GROUPS: &fuse_supp_groups extension */ enum fuse_ext_type { /* Types 0..31 are reserved for fuse_secctx_header */ FUSE_MAX_NR_SECCTX = 31, FUSE_EXT_GROUPS = 32, }; 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, FUSE_TMPFILE = 51, /* 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; uint16_t total_extlen; /* length of extensions in 8byte units */ uint16_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[]; }; /* Align variable length records to 64bit boundary */ #define FUSE_REC_ALIGN(x) \ (((x) + sizeof(uint64_t) - 1) & ~(sizeof(uint64_t) - 1)) #define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name) #define FUSE_DIRENT_ALIGN(x) FUSE_REC_ALIGN(x) #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; }; /* * For each security context, send fuse_secctx with size of security context * fuse_secctx will be followed by security context name and this in turn * will be followed by actual context label. * fuse_secctx, name, context */ struct fuse_secctx { uint32_t size; uint32_t padding; }; /* * Contains the information about how many fuse_secctx structures are being * sent and what's the total size of all security contexts (including * size of fuse_secctx_header). * */ struct fuse_secctx_header { uint32_t size; uint32_t nr_secctx; }; /** * struct fuse_ext_header - extension header * @size: total size of this extension including this header * @type: type of extension * * This is made compatible with fuse_secctx_header by using type values > * FUSE_MAX_NR_SECCTX */ struct fuse_ext_header { uint32_t size; uint32_t type; }; /** * struct fuse_supp_groups - Supplementary group extension * @nr_groups: number of supplementary groups * @groups: flexible array of group IDs */ struct fuse_supp_groups { uint32_t nr_groups; uint32_t groups[]; }; #endif /* _LINUX_FUSE_H */
Save
cmd:
run