/
usr
/
src
/
linux-headers-5.15.0-181
/
include
/
uapi
/
linux
/
/usr/src/linux-headers-5.15.0-181/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
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
6959
0644
edit
dl
rm
acct.h
4013
0644
edit
dl
rm
acrn.h
16705
0644
edit
dl
rm
adb.h
1155
0644
edit
dl
rm
adfs_fs.h
1008
0644
edit
dl
rm
affs_hardblocks.h
1578
0644
edit
dl
rm
agpgart.h
4001
0644
edit
dl
rm
aio_abi.h
3398
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
aspeed-p2a-ctrl.h
1921
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
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
1637
0644
edit
dl
rm
atm_zatm.h
1540
0644
edit
dl
rm
audit.h
21267
0644
edit
dl
rm
aufs_type.h
12641
0644
edit
dl
rm
auto_dev-ioctl.h
4996
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
batadv_packet.h
20360
0644
edit
dl
rm
batman_adv.h
16902
0644
edit
dl
rm
baycom.h
883
0644
edit
dl
rm
bcache.h
9910
0644
edit
dl
rm
bcm933xx_hcs.h
419
0644
edit
dl
rm
bfs_fs.h
1905
0644
edit
dl
rm
binfmts.h
791
0644
edit
dl
rm
blkpg.h
953
0644
edit
dl
rm
blktrace_api.h
4716
0644
edit
dl
rm
blkzoned.h
6508
0644
edit
dl
rm
bpf.h
235084
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
30904
0644
edit
dl
rm
btrfs_tree.h
27392
0644
edit
dl
rm
can.h
9268
0644
edit
dl
rm
capability.h
13547
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
ccs.h
767
0644
edit
dl
rm
cdrom.h
28949
0644
edit
dl
rm
cec-funcs.h
53453
0644
edit
dl
rm
cec.h
41334
0644
edit
dl
rm
cfm_bridge.h
1466
0644
edit
dl
rm
cgroupstats.h
2219
0644
edit
dl
rm
chio.h
5304
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
18393
0644
edit
dl
rm
coff.h
12564
0644
edit
dl
rm
connector.h
2268
0644
edit
dl
rm
const.h
1006
0644
edit
dl
rm
coresight-stm.h
747
0644
edit
dl
rm
cramfs_fs.h
3570
0644
edit
dl
rm
cryptouser.h
5336
0644
edit
dl
rm
cuda.h
920
0644
edit
dl
rm
cxl_mem.h
6489
0644
edit
dl
rm
cyclades.h
984
0644
edit
dl
rm
cycx_cfm.h
2990
0644
edit
dl
rm
dcbnl.h
25292
0644
edit
dl
rm
dccp.h
6447
0644
edit
dl
rm
devlink.h
20207
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
11602
0644
edit
dl
rm
dm-log-userspace.h
15191
0644
edit
dl
rm
dma-buf.h
3779
0644
edit
dl
rm
dma-heap.h
1409
0644
edit
dl
rm
dns_resolver.h
3904
0644
edit
dl
rm
dqblk_xfs.h
9388
0644
edit
dl
rm
edd.h
5619
0644
edit
dl
rm
efs_fs_sb.h
2227
0644
edit
dl
rm
elf-em.h
2586
0644
edit
dl
rm
elf-fdpic.h
1139
0644
edit
dl
rm
elf.h
14180
0644
edit
dl
rm
errno.h
23
0644
edit
dl
rm
errqueue.h
2066
0644
edit
dl
rm
erspan.h
1074
0644
edit
dl
rm
ethtool.h
82554
0644
edit
dl
rm
ethtool_netlink.h
23088
0644
edit
dl
rm
eventpoll.h
3056
0644
edit
dl
rm
f2fs.h
3316
0644
edit
dl
rm
fadvise.h
842
0644
edit
dl
rm
falloc.h
3599
0644
edit
dl
rm
fanotify.h
7495
0644
edit
dl
rm
fb.h
16518
0644
edit
dl
rm
fcntl.h
4266
0644
edit
dl
rm
fd.h
12166
0644
edit
dl
rm
fdreg.h
5364
0644
edit
dl
rm
fib_rules.h
2036
0644
edit
dl
rm
fiemap.h
2790
0644
edit
dl
rm
filter.h
2265
0644
edit
dl
rm
firewire-cdev.h
44240
0644
edit
dl
rm
firewire-constants.h
3231
0644
edit
dl
rm
fou.h
909
0644
edit
dl
rm
fpga-dfl.h
8743
0644
edit
dl
rm
fs.h
12411
0644
edit
dl
rm
fscrypt.h
6638
0644
edit
dl
rm
fsi.h
2270
0644
edit
dl
rm
fsl_hypervisor.h
7316
0644
edit
dl
rm
fsl_mc.h
749
0644
edit
dl
rm
fsmap.h
4385
0644
edit
dl
rm
fsverity.h
3293
0644
edit
dl
rm
fuse.h
23048
0644
edit
dl
rm
futex.h
5145
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
14769
0644
edit
dl
rm
gpio.h
19783
0644
edit
dl
rm
gsmmux.h
1144
0644
edit
dl
rm
gtp.h
731
0644
edit
dl
rm
hash_info.h
986
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
1101
0644
edit
dl
rm
hw_breakpoint.h
757
0644
edit
dl
rm
hyperv.h
10583
0644
edit
dl
rm
i2c-dev.h
1931
0644
edit
dl
rm
i2c.h
6905
0644
edit
dl
rm
i2o-dev.h
11646
0644
edit
dl
rm
i8k.h
1528
0644
edit
dl
rm
icmp.h
4800
0644
edit
dl
rm
icmpv6.h
4284
0644
edit
dl
rm
idxd.h
7624
0644
edit
dl
rm
if.h
11015
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
1566
0644
edit
dl
rm
if_arcnet.h
3717
0644
edit
dl
rm
if_arp.h
6604
0644
edit
dl
rm
if_bonding.h
5145
0644
edit
dl
rm
if_bridge.h
19121
0644
edit
dl
rm
if_cablemodem.h
986
0644
edit
dl
rm
if_eql.h
1364
0644
edit
dl
rm
if_ether.h
8457
0644
edit
dl
rm
if_fc.h
1738
0644
edit
dl
rm
if_fddi.h
4384
0644
edit
dl
rm
if_hippi.h
4235
0644
edit
dl
rm
if_infiniband.h
1245
0644
edit
dl
rm
if_link.h
31760
0644
edit
dl
rm
if_ltalk.h
225
0644
edit
dl
rm
if_macsec.h
6490
0644
edit
dl
rm
if_packet.h
8147
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
3318
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
4858
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
10897
0644
edit
dl
rm
in6.h
7593
0644
edit
dl
rm
inet_diag.h
5032
0644
edit
dl
rm
inotify.h
3307
0644
edit
dl
rm
input-event-codes.h
28894
0644
edit
dl
rm
input.h
16030
0644
edit
dl
rm
in_route.h
936
0644
edit
dl
rm
ioam6.h
2399
0644
edit
dl
rm
ioam6_genl.h
960
0644
edit
dl
rm
ioam6_iptunnel.h
451
0644
edit
dl
rm
ioctl.h
163
0644
edit
dl
rm
iommu.h
12031
0644
edit
dl
rm
ioprio.h
1471
0644
edit
dl
rm
io_uring.h
9795
0644
edit
dl
rm
ip.h
4828
0644
edit
dl
rm
ip6_tunnel.h
1953
0644
edit
dl
rm
ipc.h
2123
0644
edit
dl
rm
ipmi.h
15112
0644
edit
dl
rm
ipmi_bmc.h
503
0644
edit
dl
rm
ipmi_msgdefs.h
3430
0644
edit
dl
rm
ipsec.h
947
0644
edit
dl
rm
ipu-isys.h
481
0644
edit
dl
rm
ipu-psys.h
3663
0644
edit
dl
rm
ipv6.h
4341
0644
edit
dl
rm
ipv6_route.h
1923
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
5404
0644
edit
dl
rm
ivtv.h
3063
0644
edit
dl
rm
ivtvfb.h
1241
0644
edit
dl
rm
jffs2.h
6815
0644
edit
dl
rm
joystick.h
3449
0644
edit
dl
rm
kcm.h
822
0644
edit
dl
rm
kcmp.h
537
0644
edit
dl
rm
kcov.h
1959
0644
edit
dl
rm
kd.h
6311
0644
edit
dl
rm
kdev_t.h
441
0644
edit
dl
rm
kernel-page-flags.h
915
0644
edit
dl
rm
kernel.h
209
0644
edit
dl
rm
kernelcapi.h
1034
0644
edit
dl
rm
kexec.h
1970
0644
edit
dl
rm
keyboard.h
13474
0644
edit
dl
rm
keyctl.h
6010
0644
edit
dl
rm
kfd_ioctl.h
24151
0644
edit
dl
rm
kvm.h
60796
0644
edit
dl
rm
kvm_para.h
1016
0644
edit
dl
rm
l2tp.h
5788
0644
edit
dl
rm
landlock.h
4915
0644
edit
dl
rm
libc-compat.h
8304
0644
edit
dl
rm
limits.h
947
0644
edit
dl
rm
lirc.h
8144
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
2238
0644
edit
dl
rm
magic.h
3801
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
mctp.h
736
0644
edit
dl
rm
mdio.h
17283
0644
edit
dl
rm
media-bus-format.h
6909
0644
edit
dl
rm
media.h
13223
0644
edit
dl
rm
mei.h
3475
0644
edit
dl
rm
membarrier.h
9377
0644
edit
dl
rm
memfd.h
1339
0644
edit
dl
rm
mempolicy.h
2583
0644
edit
dl
rm
meye.h
2529
0644
edit
dl
rm
mii.h
9511
0644
edit
dl
rm
minix_fs.h
2122
0644
edit
dl
rm
mman.h
1599
0644
edit
dl
rm
mmtimer.h
2117
0644
edit
dl
rm
module.h
270
0644
edit
dl
rm
mount.h
5107
0644
edit
dl
rm
mpls.h
2317
0644
edit
dl
rm
mpls_iptunnel.h
776
0644
edit
dl
rm
mptcp.h
5750
0644
edit
dl
rm
mqueue.h
2201
0644
edit
dl
rm
mroute.h
5937
0644
edit
dl
rm
mroute6.h
4945
0644
edit
dl
rm
mrp_bridge.h
1718
0644
edit
dl
rm
msdos_fs.h
6746
0644
edit
dl
rm
msg.h
3401
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
4828
0644
edit
dl
rm
ndctl.h
6793
0644
edit
dl
rm
neighbour.h
5124
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
1780
0644
edit
dl
rm
netfilter_arp.h
471
0644
edit
dl
rm
netfilter_bridge.h
1209
0644
edit
dl
rm
netfilter_ipv4.h
1548
0644
edit
dl
rm
netfilter_ipv6.h
1443
0644
edit
dl
rm
netlink.h
11717
0644
edit
dl
rm
netlink_diag.h
1550
0644
edit
dl
rm
netrom.h
807
0644
edit
dl
rm
net_dropmon.h
2886
0644
edit
dl
rm
net_namespace.h
730
0644
edit
dl
rm
net_tstamp.h
5571
0644
edit
dl
rm
nexthop.h
2835
0644
edit
dl
rm
nfc.h
11236
0644
edit
dl
rm
nfs.h
4481
0644
edit
dl
rm
nfs2.h
1468
0644
edit
dl
rm
nfs3.h
2468
0644
edit
dl
rm
nfs4.h
6506
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
18053
0644
edit
dl
rm
nitro_enclaves.h
13167
0644
edit
dl
rm
nl80211-vnd-intel.h
2937
0644
edit
dl
rm
nl80211.h
314008
0644
edit
dl
rm
nsfs.h
639
0644
edit
dl
rm
nubus.h
8206
0644
edit
dl
rm
nvme_ioctl.h
1676
0644
edit
dl
rm
nvram.h
547
0644
edit
dl
rm
omap3isp.h
21423
0644
edit
dl
rm
omapfb.h
5940
0644
edit
dl
rm
oom.h
526
0644
edit
dl
rm
openat2.h
1465
0644
edit
dl
rm
openvswitch.h
40695
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
878
0644
edit
dl
rm
pci_regs.h
58656
0644
edit
dl
rm
perf_event.h
39781
0644
edit
dl
rm
personality.h
2112
0644
edit
dl
rm
pfkeyv2.h
10569
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
pidfd.h
271
0644
edit
dl
rm
pktcdvd.h
2702
0644
edit
dl
rm
pkt_cls.h
18171
0644
edit
dl
rm
pkt_sched.h
30106
0644
edit
dl
rm
pmu.h
5459
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
3300
0644
edit
dl
rm
ppp-comp.h
2542
0644
edit
dl
rm
ppp-ioctl.h
5763
0644
edit
dl
rm
ppp_defs.h
5572
0644
edit
dl
rm
pps.h
4734
0644
edit
dl
rm
pr.h
1088
0644
edit
dl
rm
prctl.h
9395
0644
edit
dl
rm
psample.h
2271
0644
edit
dl
rm
psci.h
4343
0644
edit
dl
rm
psp-sev.h
4053
0644
edit
dl
rm
ptp_clock.h
7456
0644
edit
dl
rm
ptrace.h
4426
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
1430
0644
edit
dl
rm
rds.h
11168
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
remoteproc_cdev.h
1112
0644
edit
dl
rm
resource.h
2388
0644
edit
dl
rm
rfkill.h
6118
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
31377
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
rpl.h
824
0644
edit
dl
rm
rpl_iptunnel.h
434
0644
edit
dl
rm
rpmsg.h
813
0644
edit
dl
rm
rpmsg_types.h
303
0644
edit
dl
rm
rseq.h
4721
0644
edit
dl
rm
rtc.h
4610
0644
edit
dl
rm
rtnetlink.h
20784
0644
edit
dl
rm
rxrpc.h
4937
0644
edit
dl
rm
scc.h
4639
0644
edit
dl
rm
sched.h
6281
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
seccomp.h
5774
0644
edit
dl
rm
securebits.h
2719
0644
edit
dl
rm
sed-opal.h
3777
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
994
0644
edit
dl
rm
seg6_local.h
3338
0644
edit
dl
rm
selinux_netlink.h
1221
0644
edit
dl
rm
sem.h
3094
0644
edit
dl
rm
serial.h
3825
0644
edit
dl
rm
serial_core.h
6129
0644
edit
dl
rm
serial_reg.h
15552
0644
edit
dl
rm
serio.h
2114
0644
edit
dl
rm
shm.h
3835
0644
edit
dl
rm
signal.h
403
0644
edit
dl
rm
signalfd.h
1248
0644
edit
dl
rm
smc.h
8019
0644
edit
dl
rm
smc_diag.h
2850
0644
edit
dl
rm
smiapp.h
1058
0644
edit
dl
rm
snmp.h
13950
0644
edit
dl
rm
socket.h
955
0644
edit
dl
rm
sockios.h
6846
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
6767
0644
edit
dl
rm
stddef.h
1577
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
7016
0644
edit
dl
rm
switchtec_ioctl.h
5272
0644
edit
dl
rm
synclink.h
9000
0644
edit
dl
rm
sync_file.h
2899
0644
edit
dl
rm
sysctl.h
25988
0644
edit
dl
rm
sysinfo.h
1049
0644
edit
dl
rm
target_core_user.h
4557
0644
edit
dl
rm
taskstats.h
7290
0644
edit
dl
rm
tcp.h
11949
0644
edit
dl
rm
tcp_metrics.h
1549
0644
edit
dl
rm
tee.h
13592
0644
edit
dl
rm
termios.h
172
0644
edit
dl
rm
thermal.h
3088
0644
edit
dl
rm
time.h
1793
0644
edit
dl
rm
timerfd.h
951
0644
edit
dl
rm
times.h
278
0644
edit
dl
rm
timex.h
7884
0644
edit
dl
rm
time_types.h
1282
0644
edit
dl
rm
tiocl.h
1729
0644
edit
dl
rm
tipc.h
8805
0644
edit
dl
rm
tipc_config.h
14838
0644
edit
dl
rm
tipc_netlink.h
9395
0644
edit
dl
rm
tipc_sockets_diag.h
483
0644
edit
dl
rm
tls.h
4918
0644
edit
dl
rm
toshiba.h
1945
0644
edit
dl
rm
tty.h
1600
0644
edit
dl
rm
tty_flags.h
4553
0644
edit
dl
rm
types.h
1738
0644
edit
dl
rm
udf_fs_i.h
697
0644
edit
dl
rm
udmabuf.h
658
0644
edit
dl
rm
udp.h
1703
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
um_timetravel.h
3976
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
8374
0644
edit
dl
rm
usbip.h
655
0644
edit
dl
rm
userfaultfd.h
9089
0644
edit
dl
rm
userio.h
1516
0644
edit
dl
rm
utime.h
223
0644
edit
dl
rm
utsname.h
684
0644
edit
dl
rm
uuid.h
1371
0644
edit
dl
rm
uvcvideo.h
2581
0644
edit
dl
rm
v4l2-common.h
4203
0644
edit
dl
rm
v4l2-controls.h
86453
0644
edit
dl
rm
v4l2-dv-timings.h
31562
0644
edit
dl
rm
v4l2-mediabus.h
5461
0644
edit
dl
rm
v4l2-subdev.h
7782
0644
edit
dl
rm
vboxguest.h
9368
0644
edit
dl
rm
vbox_err.h
7257
0644
edit
dl
rm
vbox_vmmdev_types.h
11591
0644
edit
dl
rm
vdpa.h
1183
0644
edit
dl
rm
vduse.h
8306
0644
edit
dl
rm
veth.h
224
0644
edit
dl
rm
vfio.h
53809
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
96187
0644
edit
dl
rm
virtio_9p.h
2053
0644
edit
dl
rm
virtio_balloon.h
5279
0644
edit
dl
rm
virtio_blk.h
6888
0644
edit
dl
rm
virtio_bt.h
787
0644
edit
dl
rm
virtio_config.h
4063
0644
edit
dl
rm
virtio_console.h
3171
0644
edit
dl
rm
virtio_crypto.h
13887
0644
edit
dl
rm
virtio_fs.h
588
0644
edit
dl
rm
virtio_gpio.h
1039
0644
edit
dl
rm
virtio_gpu.h
11053
0644
edit
dl
rm
virtio_i2c.h
1004
0644
edit
dl
rm
virtio_ids.h
4303
0644
edit
dl
rm
virtio_input.h
2515
0644
edit
dl
rm
virtio_iommu.h
3793
0644
edit
dl
rm
virtio_mem.h
6955
0644
edit
dl
rm
virtio_mmio.h
4969
0644
edit
dl
rm
virtio_net.h
13831
0644
edit
dl
rm
virtio_pci.h
7406
0644
edit
dl
rm
virtio_pcidev.h
2462
0644
edit
dl
rm
virtio_pmem.h
651
0644
edit
dl
rm
virtio_ring.h
8606
0644
edit
dl
rm
virtio_rng.h
265
0644
edit
dl
rm
virtio_scmi.h
652
0644
edit
dl
rm
virtio_scsi.h
6085
0644
edit
dl
rm
virtio_snd.h
9304
0644
edit
dl
rm
virtio_types.h
2168
0644
edit
dl
rm
virtio_vsock.h
3363
0644
edit
dl
rm
vmcore.h
470
0644
edit
dl
rm
vm_sockets.h
6609
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
watchdog.h
2350
0644
edit
dl
rm
watch_queue.h
3505
0644
edit
dl
rm
wireguard.h
7748
0644
edit
dl
rm
wireless.h
42804
0644
edit
dl
rm
wmi.h
1718
0644
edit
dl
rm
wwan.h
310
0644
edit
dl
rm
x25.h
3562
0644
edit
dl
rm
xattr.h
3038
0644
edit
dl
rm
xdp_diag.h
1468
0644
edit
dl
rm
xfrm.h
12433
0644
edit
dl
rm
xilinx-v4l2-controls.h
2976
0644
edit
dl
rm
zorro.h
3266
0644
edit
dl
rm
zorro_ids.h
30065
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-181/include/uapi/linux/btrfs.h
(30904B)
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * Copyright (C) 2007 Oracle. All rights reserved. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License v2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 021110-1307, USA. */ #ifndef _UAPI_LINUX_BTRFS_H #define _UAPI_LINUX_BTRFS_H #include <linux/types.h> #include <linux/ioctl.h> #define BTRFS_IOCTL_MAGIC 0x94 #define BTRFS_VOL_NAME_MAX 255 #define BTRFS_LABEL_SIZE 256 /* this should be 4k */ #define BTRFS_PATH_NAME_MAX 4087 struct btrfs_ioctl_vol_args { __s64 fd; char name[BTRFS_PATH_NAME_MAX + 1]; }; #define BTRFS_DEVICE_PATH_NAME_MAX 1024 #define BTRFS_SUBVOL_NAME_MAX 4039 #ifndef __KERNEL__ /* Deprecated since 5.7 */ # define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0) #endif #define BTRFS_SUBVOL_RDONLY (1ULL << 1) #define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2) #define BTRFS_DEVICE_SPEC_BY_ID (1ULL << 3) #define BTRFS_SUBVOL_SPEC_BY_ID (1ULL << 4) #define BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED \ (BTRFS_SUBVOL_RDONLY | \ BTRFS_SUBVOL_QGROUP_INHERIT | \ BTRFS_DEVICE_SPEC_BY_ID | \ BTRFS_SUBVOL_SPEC_BY_ID) #define BTRFS_FSID_SIZE 16 #define BTRFS_UUID_SIZE 16 #define BTRFS_UUID_UNPARSED_SIZE 37 /* * flags definition for qgroup limits * * Used by: * struct btrfs_qgroup_limit.flags * struct btrfs_qgroup_limit_item.flags */ #define BTRFS_QGROUP_LIMIT_MAX_RFER (1ULL << 0) #define BTRFS_QGROUP_LIMIT_MAX_EXCL (1ULL << 1) #define BTRFS_QGROUP_LIMIT_RSV_RFER (1ULL << 2) #define BTRFS_QGROUP_LIMIT_RSV_EXCL (1ULL << 3) #define BTRFS_QGROUP_LIMIT_RFER_CMPR (1ULL << 4) #define BTRFS_QGROUP_LIMIT_EXCL_CMPR (1ULL << 5) struct btrfs_qgroup_limit { __u64 flags; __u64 max_rfer; __u64 max_excl; __u64 rsv_rfer; __u64 rsv_excl; }; /* * flags definition for qgroup inheritance * * Used by: * struct btrfs_qgroup_inherit.flags */ #define BTRFS_QGROUP_INHERIT_SET_LIMITS (1ULL << 0) struct btrfs_qgroup_inherit { __u64 flags; __u64 num_qgroups; __u64 num_ref_copies; __u64 num_excl_copies; struct btrfs_qgroup_limit lim; __u64 qgroups[0]; }; struct btrfs_ioctl_qgroup_limit_args { __u64 qgroupid; struct btrfs_qgroup_limit lim; }; /* * Arguments for specification of subvolumes or devices, supporting by-name or * by-id and flags * * The set of supported flags depends on the ioctl * * BTRFS_SUBVOL_RDONLY is also provided/consumed by the following ioctls: * - BTRFS_IOC_SUBVOL_GETFLAGS * - BTRFS_IOC_SUBVOL_SETFLAGS */ /* Supported flags for BTRFS_IOC_RM_DEV_V2 */ #define BTRFS_DEVICE_REMOVE_ARGS_MASK \ (BTRFS_DEVICE_SPEC_BY_ID) /* Supported flags for BTRFS_IOC_SNAP_CREATE_V2 and BTRFS_IOC_SUBVOL_CREATE_V2 */ #define BTRFS_SUBVOL_CREATE_ARGS_MASK \ (BTRFS_SUBVOL_RDONLY | \ BTRFS_SUBVOL_QGROUP_INHERIT) /* Supported flags for BTRFS_IOC_SNAP_DESTROY_V2 */ #define BTRFS_SUBVOL_DELETE_ARGS_MASK \ (BTRFS_SUBVOL_SPEC_BY_ID) struct btrfs_ioctl_vol_args_v2 { __s64 fd; __u64 transid; __u64 flags; union { struct { __u64 size; struct btrfs_qgroup_inherit __user *qgroup_inherit; }; __u64 unused[4]; }; union { char name[BTRFS_SUBVOL_NAME_MAX + 1]; __u64 devid; __u64 subvolid; }; }; /* * structure to report errors and progress to userspace, either as a * result of a finished scrub, a canceled scrub or a progress inquiry */ struct btrfs_scrub_progress { __u64 data_extents_scrubbed; /* # of data extents scrubbed */ __u64 tree_extents_scrubbed; /* # of tree extents scrubbed */ __u64 data_bytes_scrubbed; /* # of data bytes scrubbed */ __u64 tree_bytes_scrubbed; /* # of tree bytes scrubbed */ __u64 read_errors; /* # of read errors encountered (EIO) */ __u64 csum_errors; /* # of failed csum checks */ __u64 verify_errors; /* # of occurrences, where the metadata * of a tree block did not match the * expected values, like generation or * logical */ __u64 no_csum; /* # of 4k data block for which no csum * is present, probably the result of * data written with nodatasum */ __u64 csum_discards; /* # of csum for which no data was found * in the extent tree. */ __u64 super_errors; /* # of bad super blocks encountered */ __u64 malloc_errors; /* # of internal kmalloc errors. These * will likely cause an incomplete * scrub */ __u64 uncorrectable_errors; /* # of errors where either no intact * copy was found or the writeback * failed */ __u64 corrected_errors; /* # of errors corrected */ __u64 last_physical; /* last physical address scrubbed. In * case a scrub was aborted, this can * be used to restart the scrub */ __u64 unverified_errors; /* # of occurrences where a read for a * full (64k) bio failed, but the re- * check succeeded for each 4k piece. * Intermittent error. */ }; #define BTRFS_SCRUB_READONLY 1 #define BTRFS_SCRUB_SUPPORTED_FLAGS (BTRFS_SCRUB_READONLY) struct btrfs_ioctl_scrub_args { __u64 devid; /* in */ __u64 start; /* in */ __u64 end; /* in */ __u64 flags; /* in */ struct btrfs_scrub_progress progress; /* out */ /* pad to 1k */ __u64 unused[(1024-32-sizeof(struct btrfs_scrub_progress))/8]; }; #define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0 #define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID 1 struct btrfs_ioctl_dev_replace_start_params { __u64 srcdevid; /* in, if 0, use srcdev_name instead */ __u64 cont_reading_from_srcdev_mode; /* in, see #define * above */ __u8 srcdev_name[BTRFS_DEVICE_PATH_NAME_MAX + 1]; /* in */ __u8 tgtdev_name[BTRFS_DEVICE_PATH_NAME_MAX + 1]; /* in */ }; #define BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED 0 #define BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED 1 #define BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED 2 #define BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED 3 #define BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED 4 struct btrfs_ioctl_dev_replace_status_params { __u64 replace_state; /* out, see #define above */ __u64 progress_1000; /* out, 0 <= x <= 1000 */ __u64 time_started; /* out, seconds since 1-Jan-1970 */ __u64 time_stopped; /* out, seconds since 1-Jan-1970 */ __u64 num_write_errors; /* out */ __u64 num_uncorrectable_read_errors; /* out */ }; #define BTRFS_IOCTL_DEV_REPLACE_CMD_START 0 #define BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS 1 #define BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL 2 #define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR 0 #define BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED 1 #define BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED 2 #define BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS 3 struct btrfs_ioctl_dev_replace_args { __u64 cmd; /* in */ __u64 result; /* out */ union { struct btrfs_ioctl_dev_replace_start_params start; struct btrfs_ioctl_dev_replace_status_params status; }; /* in/out */ __u64 spare[64]; }; struct btrfs_ioctl_dev_info_args { __u64 devid; /* in/out */ __u8 uuid[BTRFS_UUID_SIZE]; /* in/out */ __u64 bytes_used; /* out */ __u64 total_bytes; /* out */ __u64 unused[379]; /* pad to 4k */ __u8 path[BTRFS_DEVICE_PATH_NAME_MAX]; /* out */ }; /* * Retrieve information about the filesystem */ /* Request information about checksum type and size */ #define BTRFS_FS_INFO_FLAG_CSUM_INFO (1 << 0) /* Request information about filesystem generation */ #define BTRFS_FS_INFO_FLAG_GENERATION (1 << 1) /* Request information about filesystem metadata UUID */ #define BTRFS_FS_INFO_FLAG_METADATA_UUID (1 << 2) struct btrfs_ioctl_fs_info_args { __u64 max_id; /* out */ __u64 num_devices; /* out */ __u8 fsid[BTRFS_FSID_SIZE]; /* out */ __u32 nodesize; /* out */ __u32 sectorsize; /* out */ __u32 clone_alignment; /* out */ /* See BTRFS_FS_INFO_FLAG_* */ __u16 csum_type; /* out */ __u16 csum_size; /* out */ __u64 flags; /* in/out */ __u64 generation; /* out */ __u8 metadata_uuid[BTRFS_FSID_SIZE]; /* out */ __u8 reserved[944]; /* pad to 1k */ }; /* * feature flags * * Used by: * struct btrfs_ioctl_feature_flags */ #define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE (1ULL << 0) /* * Older kernels (< 4.9) on big-endian systems produced broken free space tree * bitmaps, and btrfs-progs also used to corrupt the free space tree (versions * < 4.7.3). If this bit is clear, then the free space tree cannot be trusted. * btrfs-progs can also intentionally clear this bit to ask the kernel to * rebuild the free space tree, however this might not work on older kernels * that do not know about this bit. If not sure, clear the cache manually on * first mount when booting older kernel versions. */ #define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1) #define BTRFS_FEATURE_COMPAT_RO_VERITY (1ULL << 2) #define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0) #define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1) #define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS (1ULL << 2) #define BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO (1ULL << 3) #define BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD (1ULL << 4) /* * older kernels tried to do bigger metadata blocks, but the * code was pretty buggy. Lets not let them try anymore. */ #define BTRFS_FEATURE_INCOMPAT_BIG_METADATA (1ULL << 5) #define BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF (1ULL << 6) #define BTRFS_FEATURE_INCOMPAT_RAID56 (1ULL << 7) #define BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA (1ULL << 8) #define BTRFS_FEATURE_INCOMPAT_NO_HOLES (1ULL << 9) #define BTRFS_FEATURE_INCOMPAT_METADATA_UUID (1ULL << 10) #define BTRFS_FEATURE_INCOMPAT_RAID1C34 (1ULL << 11) #define BTRFS_FEATURE_INCOMPAT_ZONED (1ULL << 12) #define BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2 (1ULL << 13) struct btrfs_ioctl_feature_flags { __u64 compat_flags; __u64 compat_ro_flags; __u64 incompat_flags; }; /* balance control ioctl modes */ #define BTRFS_BALANCE_CTL_PAUSE 1 #define BTRFS_BALANCE_CTL_CANCEL 2 /* * this is packed, because it should be exactly the same as its disk * byte order counterpart (struct btrfs_disk_balance_args) */ struct btrfs_balance_args { __u64 profiles; union { __u64 usage; struct { __u32 usage_min; __u32 usage_max; }; }; __u64 devid; __u64 pstart; __u64 pend; __u64 vstart; __u64 vend; __u64 target; __u64 flags; /* * BTRFS_BALANCE_ARGS_LIMIT with value 'limit' * BTRFS_BALANCE_ARGS_LIMIT_RANGE - the extend version can use minimum * and maximum */ union { __u64 limit; /* limit number of processed chunks */ struct { __u32 limit_min; __u32 limit_max; }; }; /* * Process chunks that cross stripes_min..stripes_max devices, * BTRFS_BALANCE_ARGS_STRIPES_RANGE */ __u32 stripes_min; __u32 stripes_max; __u64 unused[6]; } __attribute__ ((__packed__)); /* report balance progress to userspace */ struct btrfs_balance_progress { __u64 expected; /* estimated # of chunks that will be * relocated to fulfill the request */ __u64 considered; /* # of chunks we have considered so far */ __u64 completed; /* # of chunks relocated so far */ }; /* * flags definition for balance * * Restriper's general type filter * * Used by: * btrfs_ioctl_balance_args.flags * btrfs_balance_control.flags (internal) */ #define BTRFS_BALANCE_DATA (1ULL << 0) #define BTRFS_BALANCE_SYSTEM (1ULL << 1) #define BTRFS_BALANCE_METADATA (1ULL << 2) #define BTRFS_BALANCE_TYPE_MASK (BTRFS_BALANCE_DATA | \ BTRFS_BALANCE_SYSTEM | \ BTRFS_BALANCE_METADATA) #define BTRFS_BALANCE_FORCE (1ULL << 3) #define BTRFS_BALANCE_RESUME (1ULL << 4) /* * flags definitions for per-type balance args * * Balance filters * * Used by: * struct btrfs_balance_args */ #define BTRFS_BALANCE_ARGS_PROFILES (1ULL << 0) #define BTRFS_BALANCE_ARGS_USAGE (1ULL << 1) #define BTRFS_BALANCE_ARGS_DEVID (1ULL << 2) #define BTRFS_BALANCE_ARGS_DRANGE (1ULL << 3) #define BTRFS_BALANCE_ARGS_VRANGE (1ULL << 4) #define BTRFS_BALANCE_ARGS_LIMIT (1ULL << 5) #define BTRFS_BALANCE_ARGS_LIMIT_RANGE (1ULL << 6) #define BTRFS_BALANCE_ARGS_STRIPES_RANGE (1ULL << 7) #define BTRFS_BALANCE_ARGS_USAGE_RANGE (1ULL << 10) #define BTRFS_BALANCE_ARGS_MASK \ (BTRFS_BALANCE_ARGS_PROFILES | \ BTRFS_BALANCE_ARGS_USAGE | \ BTRFS_BALANCE_ARGS_DEVID | \ BTRFS_BALANCE_ARGS_DRANGE | \ BTRFS_BALANCE_ARGS_VRANGE | \ BTRFS_BALANCE_ARGS_LIMIT | \ BTRFS_BALANCE_ARGS_LIMIT_RANGE | \ BTRFS_BALANCE_ARGS_STRIPES_RANGE | \ BTRFS_BALANCE_ARGS_USAGE_RANGE) /* * Profile changing flags. When SOFT is set we won't relocate chunk if * it already has the target profile (even though it may be * half-filled). */ #define BTRFS_BALANCE_ARGS_CONVERT (1ULL << 8) #define BTRFS_BALANCE_ARGS_SOFT (1ULL << 9) /* * flags definition for balance state * * Used by: * struct btrfs_ioctl_balance_args.state */ #define BTRFS_BALANCE_STATE_RUNNING (1ULL << 0) #define BTRFS_BALANCE_STATE_PAUSE_REQ (1ULL << 1) #define BTRFS_BALANCE_STATE_CANCEL_REQ (1ULL << 2) struct btrfs_ioctl_balance_args { __u64 flags; /* in/out */ __u64 state; /* out */ struct btrfs_balance_args data; /* in/out */ struct btrfs_balance_args meta; /* in/out */ struct btrfs_balance_args sys; /* in/out */ struct btrfs_balance_progress stat; /* out */ __u64 unused[72]; /* pad to 1k */ }; #define BTRFS_INO_LOOKUP_PATH_MAX 4080 struct btrfs_ioctl_ino_lookup_args { __u64 treeid; __u64 objectid; char name[BTRFS_INO_LOOKUP_PATH_MAX]; }; #define BTRFS_INO_LOOKUP_USER_PATH_MAX (4080 - BTRFS_VOL_NAME_MAX - 1) struct btrfs_ioctl_ino_lookup_user_args { /* in, inode number containing the subvolume of 'subvolid' */ __u64 dirid; /* in */ __u64 treeid; /* out, name of the subvolume of 'treeid' */ char name[BTRFS_VOL_NAME_MAX + 1]; /* * out, constructed path from the directory with which the ioctl is * called to dirid */ char path[BTRFS_INO_LOOKUP_USER_PATH_MAX]; }; /* Search criteria for the btrfs SEARCH ioctl family. */ struct btrfs_ioctl_search_key { /* * The tree we're searching in. 1 is the tree of tree roots, 2 is the * extent tree, etc... * * A special tree_id value of 0 will cause a search in the subvolume * tree that the inode which is passed to the ioctl is part of. */ __u64 tree_id; /* in */ /* * When doing a tree search, we're actually taking a slice from a * linear search space of 136-bit keys. * * A full 136-bit tree key is composed as: * (objectid << 72) + (type << 64) + offset * * The individual min and max values for objectid, type and offset * define the min_key and max_key values for the search range. All * metadata items with a key in the interval [min_key, max_key] will be * returned. * * Additionally, we can filter the items returned on transaction id of * the metadata block they're stored in by specifying a transid range. * Be aware that this transaction id only denotes when the metadata * page that currently contains the item got written the last time as * result of a COW operation. The number does not have any meaning * related to the transaction in which an individual item that is being * returned was created or changed. */ __u64 min_objectid; /* in */ __u64 max_objectid; /* in */ __u64 min_offset; /* in */ __u64 max_offset; /* in */ __u64 min_transid; /* in */ __u64 max_transid; /* in */ __u32 min_type; /* in */ __u32 max_type; /* in */ /* * input: The maximum amount of results desired. * output: The actual amount of items returned, restricted by any of: * - reaching the upper bound of the search range * - reaching the input nr_items amount of items * - completely filling the supplied memory buffer */ __u32 nr_items; /* in/out */ /* align to 64 bits */ __u32 unused; /* some extra for later */ __u64 unused1; __u64 unused2; __u64 unused3; __u64 unused4; }; struct btrfs_ioctl_search_header { __u64 transid; __u64 objectid; __u64 offset; __u32 type; __u32 len; }; #define BTRFS_SEARCH_ARGS_BUFSIZE (4096 - sizeof(struct btrfs_ioctl_search_key)) /* * the buf is an array of search headers where * each header is followed by the actual item * the type field is expanded to 32 bits for alignment */ struct btrfs_ioctl_search_args { struct btrfs_ioctl_search_key key; char buf[BTRFS_SEARCH_ARGS_BUFSIZE]; }; struct btrfs_ioctl_search_args_v2 { struct btrfs_ioctl_search_key key; /* in/out - search parameters */ __u64 buf_size; /* in - size of buffer * out - on EOVERFLOW: needed size * to store item */ __u64 buf[0]; /* out - found items */ }; struct btrfs_ioctl_clone_range_args { __s64 src_fd; __u64 src_offset, src_length; __u64 dest_offset; }; /* * flags definition for the defrag range ioctl * * Used by: * struct btrfs_ioctl_defrag_range_args.flags */ #define BTRFS_DEFRAG_RANGE_COMPRESS 1 #define BTRFS_DEFRAG_RANGE_START_IO 2 #define BTRFS_DEFRAG_RANGE_FLAGS_SUPP (BTRFS_DEFRAG_RANGE_COMPRESS | \ BTRFS_DEFRAG_RANGE_START_IO) struct btrfs_ioctl_defrag_range_args { /* start of the defrag operation */ __u64 start; /* number of bytes to defrag, use (u64)-1 to say all */ __u64 len; /* * flags for the operation, which can include turning * on compression for this one defrag */ __u64 flags; /* * any extent bigger than this will be considered * already defragged. Use 0 to take the kernel default * Use 1 to say every single extent must be rewritten */ __u32 extent_thresh; /* * which compression method to use if turning on compression * for this defrag operation. If unspecified, zlib will * be used */ __u32 compress_type; /* spare for later */ __u32 unused[4]; }; #define BTRFS_SAME_DATA_DIFFERS 1 /* For extent-same ioctl */ struct btrfs_ioctl_same_extent_info { __s64 fd; /* in - destination file */ __u64 logical_offset; /* in - start of extent in destination */ __u64 bytes_deduped; /* out - total # of bytes we were able * to dedupe from this file */ /* status of this dedupe operation: * 0 if dedup succeeds * < 0 for error * == BTRFS_SAME_DATA_DIFFERS if data differs */ __s32 status; /* out - see above description */ __u32 reserved; }; struct btrfs_ioctl_same_args { __u64 logical_offset; /* in - start of extent in source */ __u64 length; /* in - length of extent */ __u16 dest_count; /* in - total elements in info array */ __u16 reserved1; __u32 reserved2; struct btrfs_ioctl_same_extent_info info[0]; }; struct btrfs_ioctl_space_info { __u64 flags; __u64 total_bytes; __u64 used_bytes; }; struct btrfs_ioctl_space_args { __u64 space_slots; __u64 total_spaces; struct btrfs_ioctl_space_info spaces[0]; }; struct btrfs_data_container { __u32 bytes_left; /* out -- bytes not needed to deliver output */ __u32 bytes_missing; /* out -- additional bytes needed for result */ __u32 elem_cnt; /* out */ __u32 elem_missed; /* out */ __u64 val[0]; /* out */ }; struct btrfs_ioctl_ino_path_args { __u64 inum; /* in */ __u64 size; /* in */ __u64 reserved[4]; /* struct btrfs_data_container *fspath; out */ __u64 fspath; /* out */ }; struct btrfs_ioctl_logical_ino_args { __u64 logical; /* in */ __u64 size; /* in */ __u64 reserved[3]; /* must be 0 for now */ __u64 flags; /* in, v2 only */ /* struct btrfs_data_container *inodes; out */ __u64 inodes; }; /* Return every ref to the extent, not just those containing logical block. * Requires logical == extent bytenr. */ #define BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET (1ULL << 0) enum btrfs_dev_stat_values { /* disk I/O failure stats */ BTRFS_DEV_STAT_WRITE_ERRS, /* EIO or EREMOTEIO from lower layers */ BTRFS_DEV_STAT_READ_ERRS, /* EIO or EREMOTEIO from lower layers */ BTRFS_DEV_STAT_FLUSH_ERRS, /* EIO or EREMOTEIO from lower layers */ /* stats for indirect indications for I/O failures */ BTRFS_DEV_STAT_CORRUPTION_ERRS, /* checksum error, bytenr error or * contents is illegal: this is an * indication that the block was damaged * during read or write, or written to * wrong location or read from wrong * location */ BTRFS_DEV_STAT_GENERATION_ERRS, /* an indication that blocks have not * been written */ BTRFS_DEV_STAT_VALUES_MAX }; /* Reset statistics after reading; needs SYS_ADMIN capability */ #define BTRFS_DEV_STATS_RESET (1ULL << 0) struct btrfs_ioctl_get_dev_stats { __u64 devid; /* in */ __u64 nr_items; /* in/out */ __u64 flags; /* in/out */ /* out values: */ __u64 values[BTRFS_DEV_STAT_VALUES_MAX]; /* * This pads the struct to 1032 bytes. It was originally meant to pad to * 1024 bytes, but when adding the flags field, the padding calculation * was not adjusted. */ __u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX]; }; #define BTRFS_QUOTA_CTL_ENABLE 1 #define BTRFS_QUOTA_CTL_DISABLE 2 #define BTRFS_QUOTA_CTL_RESCAN__NOTUSED 3 struct btrfs_ioctl_quota_ctl_args { __u64 cmd; __u64 status; }; struct btrfs_ioctl_quota_rescan_args { __u64 flags; __u64 progress; __u64 reserved[6]; }; struct btrfs_ioctl_qgroup_assign_args { __u64 assign; __u64 src; __u64 dst; }; struct btrfs_ioctl_qgroup_create_args { __u64 create; __u64 qgroupid; }; struct btrfs_ioctl_timespec { __u64 sec; __u32 nsec; }; struct btrfs_ioctl_received_subvol_args { char uuid[BTRFS_UUID_SIZE]; /* in */ __u64 stransid; /* in */ __u64 rtransid; /* out */ struct btrfs_ioctl_timespec stime; /* in */ struct btrfs_ioctl_timespec rtime; /* out */ __u64 flags; /* in */ __u64 reserved[16]; /* in */ }; /* * Caller doesn't want file data in the send stream, even if the * search of clone sources doesn't find an extent. UPDATE_EXTENT * commands will be sent instead of WRITE commands. */ #define BTRFS_SEND_FLAG_NO_FILE_DATA 0x1 /* * Do not add the leading stream header. Used when multiple snapshots * are sent back to back. */ #define BTRFS_SEND_FLAG_OMIT_STREAM_HEADER 0x2 /* * Omit the command at the end of the stream that indicated the end * of the stream. This option is used when multiple snapshots are * sent back to back. */ #define BTRFS_SEND_FLAG_OMIT_END_CMD 0x4 #define BTRFS_SEND_FLAG_MASK \ (BTRFS_SEND_FLAG_NO_FILE_DATA | \ BTRFS_SEND_FLAG_OMIT_STREAM_HEADER | \ BTRFS_SEND_FLAG_OMIT_END_CMD) struct btrfs_ioctl_send_args { __s64 send_fd; /* in */ __u64 clone_sources_count; /* in */ __u64 __user *clone_sources; /* in */ __u64 parent_root; /* in */ __u64 flags; /* in */ __u64 reserved[4]; /* in */ }; /* * Information about a fs tree root. * * All items are filled by the ioctl */ struct btrfs_ioctl_get_subvol_info_args { /* Id of this subvolume */ __u64 treeid; /* Name of this subvolume, used to get the real name at mount point */ char name[BTRFS_VOL_NAME_MAX + 1]; /* * Id of the subvolume which contains this subvolume. * Zero for top-level subvolume or a deleted subvolume. */ __u64 parent_id; /* * Inode number of the directory which contains this subvolume. * Zero for top-level subvolume or a deleted subvolume */ __u64 dirid; /* Latest transaction id of this subvolume */ __u64 generation; /* Flags of this subvolume */ __u64 flags; /* UUID of this subvolume */ __u8 uuid[BTRFS_UUID_SIZE]; /* * UUID of the subvolume of which this subvolume is a snapshot. * All zero for a non-snapshot subvolume. */ __u8 parent_uuid[BTRFS_UUID_SIZE]; /* * UUID of the subvolume from which this subvolume was received. * All zero for non-received subvolume. */ __u8 received_uuid[BTRFS_UUID_SIZE]; /* Transaction id indicating when change/create/send/receive happened */ __u64 ctransid; __u64 otransid; __u64 stransid; __u64 rtransid; /* Time corresponding to c/o/s/rtransid */ struct btrfs_ioctl_timespec ctime; struct btrfs_ioctl_timespec otime; struct btrfs_ioctl_timespec stime; struct btrfs_ioctl_timespec rtime; /* Must be zero */ __u64 reserved[8]; }; #define BTRFS_MAX_ROOTREF_BUFFER_NUM 255 struct btrfs_ioctl_get_subvol_rootref_args { /* in/out, minimum id of rootref's treeid to be searched */ __u64 min_treeid; /* out */ struct { __u64 treeid; __u64 dirid; } rootref[BTRFS_MAX_ROOTREF_BUFFER_NUM]; /* out, number of found items */ __u8 num_items; __u8 align[7]; }; /* Error codes as returned by the kernel */ enum btrfs_err_code { BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1, BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET, BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET, BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET, BTRFS_ERROR_DEV_TGT_REPLACE, BTRFS_ERROR_DEV_MISSING_NOT_FOUND, BTRFS_ERROR_DEV_ONLY_WRITABLE, BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS, BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET, BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET, }; #define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1, \ struct btrfs_ioctl_vol_args) #define BTRFS_IOC_DEFRAG _IOW(BTRFS_IOCTL_MAGIC, 2, \ struct btrfs_ioctl_vol_args) #define BTRFS_IOC_RESIZE _IOW(BTRFS_IOCTL_MAGIC, 3, \ struct btrfs_ioctl_vol_args) #define BTRFS_IOC_SCAN_DEV _IOW(BTRFS_IOCTL_MAGIC, 4, \ struct btrfs_ioctl_vol_args) #define BTRFS_IOC_FORGET_DEV _IOW(BTRFS_IOCTL_MAGIC, 5, \ struct btrfs_ioctl_vol_args) /* trans start and trans end are dangerous, and only for * use by applications that know how to avoid the * resulting deadlocks */ #define BTRFS_IOC_TRANS_START _IO(BTRFS_IOCTL_MAGIC, 6) #define BTRFS_IOC_TRANS_END _IO(BTRFS_IOCTL_MAGIC, 7) #define BTRFS_IOC_SYNC _IO(BTRFS_IOCTL_MAGIC, 8) #define BTRFS_IOC_CLONE _IOW(BTRFS_IOCTL_MAGIC, 9, int) #define BTRFS_IOC_ADD_DEV _IOW(BTRFS_IOCTL_MAGIC, 10, \ struct btrfs_ioctl_vol_args) #define BTRFS_IOC_RM_DEV _IOW(BTRFS_IOCTL_MAGIC, 11, \ struct btrfs_ioctl_vol_args) #define BTRFS_IOC_BALANCE _IOW(BTRFS_IOCTL_MAGIC, 12, \ struct btrfs_ioctl_vol_args) #define BTRFS_IOC_CLONE_RANGE _IOW(BTRFS_IOCTL_MAGIC, 13, \ struct btrfs_ioctl_clone_range_args) #define BTRFS_IOC_SUBVOL_CREATE _IOW(BTRFS_IOCTL_MAGIC, 14, \ struct btrfs_ioctl_vol_args) #define BTRFS_IOC_SNAP_DESTROY _IOW(BTRFS_IOCTL_MAGIC, 15, \ struct btrfs_ioctl_vol_args) #define BTRFS_IOC_DEFRAG_RANGE _IOW(BTRFS_IOCTL_MAGIC, 16, \ struct btrfs_ioctl_defrag_range_args) #define BTRFS_IOC_TREE_SEARCH _IOWR(BTRFS_IOCTL_MAGIC, 17, \ struct btrfs_ioctl_search_args) #define BTRFS_IOC_TREE_SEARCH_V2 _IOWR(BTRFS_IOCTL_MAGIC, 17, \ struct btrfs_ioctl_search_args_v2) #define BTRFS_IOC_INO_LOOKUP _IOWR(BTRFS_IOCTL_MAGIC, 18, \ struct btrfs_ioctl_ino_lookup_args) #define BTRFS_IOC_DEFAULT_SUBVOL _IOW(BTRFS_IOCTL_MAGIC, 19, __u64) #define BTRFS_IOC_SPACE_INFO _IOWR(BTRFS_IOCTL_MAGIC, 20, \ struct btrfs_ioctl_space_args) #define BTRFS_IOC_START_SYNC _IOR(BTRFS_IOCTL_MAGIC, 24, __u64) #define BTRFS_IOC_WAIT_SYNC _IOW(BTRFS_IOCTL_MAGIC, 22, __u64) #define BTRFS_IOC_SNAP_CREATE_V2 _IOW(BTRFS_IOCTL_MAGIC, 23, \ struct btrfs_ioctl_vol_args_v2) #define BTRFS_IOC_SUBVOL_CREATE_V2 _IOW(BTRFS_IOCTL_MAGIC, 24, \ struct btrfs_ioctl_vol_args_v2) #define BTRFS_IOC_SUBVOL_GETFLAGS _IOR(BTRFS_IOCTL_MAGIC, 25, __u64) #define BTRFS_IOC_SUBVOL_SETFLAGS _IOW(BTRFS_IOCTL_MAGIC, 26, __u64) #define BTRFS_IOC_SCRUB _IOWR(BTRFS_IOCTL_MAGIC, 27, \ struct btrfs_ioctl_scrub_args) #define BTRFS_IOC_SCRUB_CANCEL _IO(BTRFS_IOCTL_MAGIC, 28) #define BTRFS_IOC_SCRUB_PROGRESS _IOWR(BTRFS_IOCTL_MAGIC, 29, \ struct btrfs_ioctl_scrub_args) #define BTRFS_IOC_DEV_INFO _IOWR(BTRFS_IOCTL_MAGIC, 30, \ struct btrfs_ioctl_dev_info_args) #define BTRFS_IOC_FS_INFO _IOR(BTRFS_IOCTL_MAGIC, 31, \ struct btrfs_ioctl_fs_info_args) #define BTRFS_IOC_BALANCE_V2 _IOWR(BTRFS_IOCTL_MAGIC, 32, \ struct btrfs_ioctl_balance_args) #define BTRFS_IOC_BALANCE_CTL _IOW(BTRFS_IOCTL_MAGIC, 33, int) #define BTRFS_IOC_BALANCE_PROGRESS _IOR(BTRFS_IOCTL_MAGIC, 34, \ struct btrfs_ioctl_balance_args) #define BTRFS_IOC_INO_PATHS _IOWR(BTRFS_IOCTL_MAGIC, 35, \ struct btrfs_ioctl_ino_path_args) #define BTRFS_IOC_LOGICAL_INO _IOWR(BTRFS_IOCTL_MAGIC, 36, \ struct btrfs_ioctl_logical_ino_args) #define BTRFS_IOC_SET_RECEIVED_SUBVOL _IOWR(BTRFS_IOCTL_MAGIC, 37, \ struct btrfs_ioctl_received_subvol_args) #define BTRFS_IOC_SEND _IOW(BTRFS_IOCTL_MAGIC, 38, struct btrfs_ioctl_send_args) #define BTRFS_IOC_DEVICES_READY _IOR(BTRFS_IOCTL_MAGIC, 39, \ struct btrfs_ioctl_vol_args) #define BTRFS_IOC_QUOTA_CTL _IOWR(BTRFS_IOCTL_MAGIC, 40, \ struct btrfs_ioctl_quota_ctl_args) #define BTRFS_IOC_QGROUP_ASSIGN _IOW(BTRFS_IOCTL_MAGIC, 41, \ struct btrfs_ioctl_qgroup_assign_args) #define BTRFS_IOC_QGROUP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 42, \ struct btrfs_ioctl_qgroup_create_args) #define BTRFS_IOC_QGROUP_LIMIT _IOR(BTRFS_IOCTL_MAGIC, 43, \ struct btrfs_ioctl_qgroup_limit_args) #define BTRFS_IOC_QUOTA_RESCAN _IOW(BTRFS_IOCTL_MAGIC, 44, \ struct btrfs_ioctl_quota_rescan_args) #define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \ struct btrfs_ioctl_quota_rescan_args) #define BTRFS_IOC_QUOTA_RESCAN_WAIT _IO(BTRFS_IOCTL_MAGIC, 46) #define BTRFS_IOC_GET_FSLABEL FS_IOC_GETFSLABEL #define BTRFS_IOC_SET_FSLABEL FS_IOC_SETFSLABEL #define BTRFS_IOC_GET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 52, \ struct btrfs_ioctl_get_dev_stats) #define BTRFS_IOC_DEV_REPLACE _IOWR(BTRFS_IOCTL_MAGIC, 53, \ struct btrfs_ioctl_dev_replace_args) #define BTRFS_IOC_FILE_EXTENT_SAME _IOWR(BTRFS_IOCTL_MAGIC, 54, \ struct btrfs_ioctl_same_args) #define BTRFS_IOC_GET_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \ struct btrfs_ioctl_feature_flags) #define BTRFS_IOC_SET_FEATURES _IOW(BTRFS_IOCTL_MAGIC, 57, \ struct btrfs_ioctl_feature_flags[2]) #define BTRFS_IOC_GET_SUPPORTED_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \ struct btrfs_ioctl_feature_flags[3]) #define BTRFS_IOC_RM_DEV_V2 _IOW(BTRFS_IOCTL_MAGIC, 58, \ struct btrfs_ioctl_vol_args_v2) #define BTRFS_IOC_LOGICAL_INO_V2 _IOWR(BTRFS_IOCTL_MAGIC, 59, \ struct btrfs_ioctl_logical_ino_args) #define BTRFS_IOC_GET_SUBVOL_INFO _IOR(BTRFS_IOCTL_MAGIC, 60, \ struct btrfs_ioctl_get_subvol_info_args) #define BTRFS_IOC_GET_SUBVOL_ROOTREF _IOWR(BTRFS_IOCTL_MAGIC, 61, \ struct btrfs_ioctl_get_subvol_rootref_args) #define BTRFS_IOC_INO_LOOKUP_USER _IOWR(BTRFS_IOCTL_MAGIC, 62, \ struct btrfs_ioctl_ino_lookup_user_args) #define BTRFS_IOC_SNAP_DESTROY_V2 _IOW(BTRFS_IOCTL_MAGIC, 63, \ struct btrfs_ioctl_vol_args_v2) #endif /* _UAPI_LINUX_BTRFS_H */
Save
cmd:
run