usr
/
include
/
linux
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] android
N/A
[DIR] byteorder
N/A
[DIR] caif
N/A
[DIR] can
N/A
[DIR] cifs
N/A
[DIR] dvb
N/A
[DIR] genwqe
N/A
[DIR] hdlc
N/A
[DIR] hsi
N/A
[DIR] iio
N/A
[DIR] isdn
N/A
[DIR] mmc
N/A
[DIR] netfilter
N/A
[DIR] netfilter_arp
N/A
[DIR] netfilter_bridge
N/A
[DIR] netfilter_ipv4
N/A
[DIR] netfilter_ipv6
N/A
[DIR] nfsd
N/A
[DIR] raid
N/A
[DIR] sched
N/A
[DIR] spi
N/A
[DIR] sunrpc
N/A
[DIR] tc_act
N/A
[DIR] tc_ematch
N/A
[DIR] usb
N/A
[DIR] wimax
N/A
a.out.h
6.73 KB
Rename
Delete
acct.h
3.65 KB
Rename
Delete
adb.h
1.11 KB
Rename
Delete
adfs_fs.h
936 bytes
Rename
Delete
affs_hardblocks.h
1.51 KB
Rename
Delete
agpgart.h
3.85 KB
Rename
Delete
aio_abi.h
3.34 KB
Rename
Delete
am437x-vpfe.h
3.59 KB
Rename
Delete
apm_bios.h
3.60 KB
Rename
Delete
arcfb.h
213 bytes
Rename
Delete
arm_sdei.h
2.69 KB
Rename
Delete
aspeed-lpc-ctrl.h
1.74 KB
Rename
Delete
atalk.h
1023 bytes
Rename
Delete
atm.h
7.70 KB
Rename
Delete
atm_eni.h
648 bytes
Rename
Delete
atm_he.h
406 bytes
Rename
Delete
atm_idt77105.h
955 bytes
Rename
Delete
atm_nicstar.h
1.25 KB
Rename
Delete
atm_tcp.h
1.58 KB
Rename
Delete
atm_zatm.h
1.50 KB
Rename
Delete
atmapi.h
952 bytes
Rename
Delete
atmarp.h
1.27 KB
Rename
Delete
atmbr2684.h
3.19 KB
Rename
Delete
atmclip.h
576 bytes
Rename
Delete
atmdev.h
7.50 KB
Rename
Delete
atmioc.h
1.61 KB
Rename
Delete
atmlec.h
2.33 KB
Rename
Delete
atmmpc.h
4.13 KB
Rename
Delete
atmppp.h
639 bytes
Rename
Delete
atmsap.h
4.85 KB
Rename
Delete
atmsvc.h
1.81 KB
Rename
Delete
audit.h
19.92 KB
Rename
Delete
auto_dev-ioctl.h
4.87 KB
Rename
Delete
auto_fs.h
6.28 KB
Rename
Delete
auto_fs4.h
451 bytes
Rename
Delete
auxvec.h
1.56 KB
Rename
Delete
ax25.h
2.76 KB
Rename
Delete
b1lli.h
1.68 KB
Rename
Delete
batadv_packet.h
20.01 KB
Rename
Delete
batman_adv.h
11.70 KB
Rename
Delete
baycom.h
883 bytes
Rename
Delete
bcache.h
8.17 KB
Rename
Delete
bcm933xx_hcs.h
419 bytes
Rename
Delete
bfs_fs.h
1.85 KB
Rename
Delete
binfmts.h
628 bytes
Rename
Delete
blkpg.h
904 bytes
Rename
Delete
blktrace_api.h
4.59 KB
Rename
Delete
blkzoned.h
6.45 KB
Rename
Delete
bpf.h
223.30 KB
Rename
Delete
bpf_common.h
1.33 KB
Rename
Delete
bpf_perf_event.h
529 bytes
Rename
Delete
bpfilter.h
465 bytes
Rename
Delete
bpqether.h
981 bytes
Rename
Delete
bsg.h
2.44 KB
Rename
Delete
bt-bmc.h
572 bytes
Rename
Delete
btf.h
4.68 KB
Rename
Delete
btrfs.h
28.24 KB
Rename
Delete
btrfs_tree.h
24.69 KB
Rename
Delete
can.h
7.70 KB
Rename
Delete
capability.h
13.20 KB
Rename
Delete
capi.h
3.05 KB
Rename
Delete
cciss_defs.h
3.20 KB
Rename
Delete
cciss_ioctl.h
2.70 KB
Rename
Delete
cdrom.h
28.18 KB
Rename
Delete
cec-funcs.h
52.64 KB
Rename
Delete
cec.h
36.81 KB
Rename
Delete
cfm_bridge.h
1.42 KB
Rename
Delete
cgroupstats.h
2.17 KB
Rename
Delete
chio.h
5.22 KB
Rename
Delete
close_range.h
377 bytes
Rename
Delete
cm4000_cs.h
1.76 KB
Rename
Delete
cn_proc.h
3.38 KB
Rename
Delete
coda.h
17.09 KB
Rename
Delete
coda_psdev.h
783 bytes
Rename
Delete
coff.h
12.18 KB
Rename
Delete
connector.h
2.20 KB
Rename
Delete
const.h
788 bytes
Rename
Delete
coresight-stm.h
674 bytes
Rename
Delete
cramfs_fs.h
3.47 KB
Rename
Delete
cryptouser.h
3.31 KB
Rename
Delete
cuda.h
905 bytes
Rename
Delete
cyclades.h
16.71 KB
Rename
Delete
cycx_cfm.h
2.92 KB
Rename
Delete
dcbnl.h
24.65 KB
Rename
Delete
dccp.h
6.29 KB
Rename
Delete
devlink.h
21.05 KB
Rename
Delete
dlm.h
2.49 KB
Rename
Delete
dlm_device.h
2.48 KB
Rename
Delete
dlm_netlink.h
1.13 KB
Rename
Delete
dlm_plock.h
894 bytes
Rename
Delete
dlmconstants.h
4.96 KB
Rename
Delete
dm-ioctl.h
11.13 KB
Rename
Delete
dm-log-userspace.h
14.83 KB
Rename
Delete
dma-buf.h
5.12 KB
Rename
Delete
dn.h
4.53 KB
Rename
Delete
dqblk_xfs.h
9.03 KB
Rename
Delete
edd.h
5.47 KB
Rename
Delete
efs_fs_sb.h
2.17 KB
Rename
Delete
elf-em.h
2.14 KB
Rename
Delete
elf-fdpic.h
1.10 KB
Rename
Delete
elf.h
13.16 KB
Rename
Delete
elfcore.h
2.92 KB
Rename
Delete
errno.h
23 bytes
Rename
Delete
errqueue.h
1.44 KB
Rename
Delete
erspan.h
1.03 KB
Rename
Delete
ethtool.h
81.89 KB
Rename
Delete
ethtool_netlink.h
22.29 KB
Rename
Delete
eventpoll.h
2.67 KB
Rename
Delete
fadvise.h
842 bytes
Rename
Delete
falloc.h
3.50 KB
Rename
Delete
fanotify.h
5.22 KB
Rename
Delete
fb.h
16.09 KB
Rename
Delete
fcntl.h
4.08 KB
Rename
Delete
fd.h
11.40 KB
Rename
Delete
fdreg.h
5.29 KB
Rename
Delete
fib_rules.h
1.99 KB
Rename
Delete
fiemap.h
2.71 KB
Rename
Delete
filter.h
2.16 KB
Rename
Delete
firewire-cdev.h
42.86 KB
Rename
Delete
firewire-constants.h
3.16 KB
Rename
Delete
flat.h
2.10 KB
Rename
Delete
fou.h
694 bytes
Rename
Delete
fpga-dfl.h
8.52 KB
Rename
Delete
fs.h
13.11 KB
Rename
Delete
fsl_hypervisor.h
7.13 KB
Rename
Delete
fsmap.h
4.29 KB
Rename
Delete
fuse.h
22.92 KB
Rename
Delete
futex.h
4.88 KB
Rename
Delete
gameport.h
897 bytes
Rename
Delete
gen_stats.h
1.49 KB
Rename
Delete
genetlink.h
2.12 KB
Rename
Delete
gfs2_ondisk.h
14.40 KB
Rename
Delete
gigaset_dev.h
1.41 KB
Rename
Delete
gpio.h
6.59 KB
Rename
Delete
gsmmux.h
1.02 KB
Rename
Delete
gtp.h
681 bytes
Rename
Delete
hash_info.h
921 bytes
Rename
Delete
hdlc.h
637 bytes
Rename
Delete
hdlcdrv.h
2.84 KB
Rename
Delete
hdreg.h
22.17 KB
Rename
Delete
hid.h
1.86 KB
Rename
Delete
hiddev.h
6.20 KB
Rename
Delete
hidraw.h
1.95 KB
Rename
Delete
hpet.h
743 bytes
Rename
Delete
hsr_netlink.h
1.06 KB
Rename
Delete
hw_breakpoint.h
742 bytes
Rename
Delete
hyperv.h
10.89 KB
Rename
Delete
hysdn_if.h
1.35 KB
Rename
Delete
i2c-dev.h
2.55 KB
Rename
Delete
i2c.h
6.96 KB
Rename
Delete
i2o-dev.h
11.28 KB
Rename
Delete
i8k.h
1.49 KB
Rename
Delete
icmp.h
2.91 KB
Rename
Delete
icmpv6.h
3.94 KB
Rename
Delete
idxd.h
8.22 KB
Rename
Delete
if.h
10.65 KB
Rename
Delete
if_addr.h
1.84 KB
Rename
Delete
if_addrlabel.h
721 bytes
Rename
Delete
if_alg.h
946 bytes
Rename
Delete
if_arcnet.h
3.63 KB
Rename
Delete
if_arp.h
6.42 KB
Rename
Delete
if_bonding.h
5.17 KB
Rename
Delete
if_bridge.h
19.06 KB
Rename
Delete
if_cablemodem.h
986 bytes
Rename
Delete
if_eql.h
1.32 KB
Rename
Delete
if_ether.h
8.05 KB
Rename
Delete
if_fc.h
1.70 KB
Rename
Delete
if_fddi.h
3.66 KB
Rename
Delete
if_frad.h
2.95 KB
Rename
Delete
if_hippi.h
4.14 KB
Rename
Delete
if_infiniband.h
1.22 KB
Rename
Delete
if_link.h
30.28 KB
Rename
Delete
if_ltalk.h
210 bytes
Rename
Delete
if_macsec.h
5.70 KB
Rename
Delete
if_packet.h
7.73 KB
Rename
Delete
if_phonet.h
424 bytes
Rename
Delete
if_plip.h
660 bytes
Rename
Delete
if_ppp.h
29 bytes
Rename
Delete
if_pppol2tp.h
3.21 KB
Rename
Delete
if_pppox.h
4.76 KB
Rename
Delete
if_slip.h
872 bytes
Rename
Delete
if_team.h
2.54 KB
Rename
Delete
if_tun.h
4.00 KB
Rename
Delete
if_tunnel.h
4.41 KB
Rename
Delete
if_vlan.h
1.79 KB
Rename
Delete
if_x25.h
881 bytes
Rename
Delete
if_xdp.h
2.94 KB
Rename
Delete
ife.h
351 bytes
Rename
Delete
igmp.h
2.99 KB
Rename
Delete
ila.h
1.22 KB
Rename
Delete
in.h
9.78 KB
Rename
Delete
in6.h
7.26 KB
Rename
Delete
in_route.h
936 bytes
Rename
Delete
inet_diag.h
4.56 KB
Rename
Delete
inotify.h
3.21 KB
Rename
Delete
input-event-codes.h
27.94 KB
Rename
Delete
input.h
15.61 KB
Rename
Delete
io_uring.h
6.06 KB
Rename
Delete
ioctl.h
163 bytes
Rename
Delete
iommu.h
4.79 KB
Rename
Delete
ip.h
4.62 KB
Rename
Delete
ip6_tunnel.h
1.91 KB
Rename
Delete
ip_vs.h
13.31 KB
Rename
Delete
ipc.h
2.05 KB
Rename
Delete
ipmi.h
15.08 KB
Rename
Delete
ipmi_bmc.h
464 bytes
Rename
Delete
ipmi_msgdefs.h
3.35 KB
Rename
Delete
ipmi_ssif_bmc.h
441 bytes
Rename
Delete
ipsec.h
947 bytes
Rename
Delete
ipv6.h
3.87 KB
Rename
Delete
ipv6_route.h
1.86 KB
Rename
Delete
ipx.h
2.29 KB
Rename
Delete
irqnr.h
104 bytes
Rename
Delete
isdn.h
5.64 KB
Rename
Delete
isdn_divertif.h
1.17 KB
Rename
Delete
isdn_ppp.h
1.88 KB
Rename
Delete
isdnif.h
2.31 KB
Rename
Delete
iso_fs.h
6.33 KB
Rename
Delete
isst_if.h
5.26 KB
Rename
Delete
ivtv.h
2.95 KB
Rename
Delete
ivtvfb.h
1.18 KB
Rename
Delete
jffs2.h
6.85 KB
Rename
Delete
joystick.h
3.35 KB
Rename
Delete
kcm.h
822 bytes
Rename
Delete
kcmp.h
522 bytes
Rename
Delete
kcov.h
1.07 KB
Rename
Delete
kd.h
6.11 KB
Rename
Delete
kdev_t.h
383 bytes
Rename
Delete
kernel-page-flags.h
900 bytes
Rename
Delete
kernel.h
438 bytes
Rename
Delete
kernelcapi.h
1019 bytes
Rename
Delete
kexec.h
1.79 KB
Rename
Delete
keyboard.h
12.48 KB
Rename
Delete
keyctl.h
3.42 KB
Rename
Delete
kfd_ioctl.h
28.14 KB
Rename
Delete
kfd_sysfs.h
4.25 KB
Rename
Delete
kvm.h
60.12 KB
Rename
Delete
kvm_para.h
1001 bytes
Rename
Delete
l2tp.h
5.46 KB
Rename
Delete
libc-compat.h
8.09 KB
Rename
Delete
lightnvm.h
4.92 KB
Rename
Delete
limits.h
937 bytes
Rename
Delete
lirc.h
7.63 KB
Rename
Delete
llc.h
3.09 KB
Rename
Delete
loop.h
3.42 KB
Rename
Delete
lp.h
4.09 KB
Rename
Delete
lwtunnel.h
2.13 KB
Rename
Delete
magic.h
3.45 KB
Rename
Delete
major.h
4.60 KB
Rename
Delete
map_to_7segment.h
7.08 KB
Rename
Delete
matroxfb.h
1.43 KB
Rename
Delete
max2175.h
1.01 KB
Rename
Delete
mdio.h
16.87 KB
Rename
Delete
media-bus-format.h
6.26 KB
Rename
Delete
media.h
11.12 KB
Rename
Delete
mei.h
3.39 KB
Rename
Delete
membarrier.h
7.71 KB
Rename
Delete
memfd.h
1.29 KB
Rename
Delete
mempolicy.h
2.18 KB
Rename
Delete
meye.h
2.47 KB
Rename
Delete
mic_common.h
6.37 KB
Rename
Delete
mic_ioctl.h
2.20 KB
Rename
Delete
mii.h
9.27 KB
Rename
Delete
minix_fs.h
2.07 KB
Rename
Delete
mman.h
1.35 KB
Rename
Delete
mmtimer.h
2.07 KB
Rename
Delete
module.h
255 bytes
Rename
Delete
mount.h
4.44 KB
Rename
Delete
mpls.h
2.25 KB
Rename
Delete
mpls_iptunnel.h
761 bytes
Rename
Delete
mptcp.h
5.48 KB
Rename
Delete
mqueue.h
2.15 KB
Rename
Delete
mroute.h
5.30 KB
Rename
Delete
mroute6.h
4.47 KB
Rename
Delete
mrp_bridge.h
1.67 KB
Rename
Delete
msdos_fs.h
6.80 KB
Rename
Delete
msg.h
3.29 KB
Rename
Delete
mtio.h
7.98 KB
Rename
Delete
n_r3964.h
2.35 KB
Rename
Delete
nbd-netlink.h
2.35 KB
Rename
Delete
nbd.h
2.95 KB
Rename
Delete
ncsi.h
3.79 KB
Rename
Delete
ndctl.h
6.71 KB
Rename
Delete
neighbour.h
5.02 KB
Rename
Delete
net.h
2.04 KB
Rename
Delete
net_dropmon.h
2.85 KB
Rename
Delete
net_namespace.h
715 bytes
Rename
Delete
net_tstamp.h
5.67 KB
Rename
Delete
netconf.h
614 bytes
Rename
Delete
netdevice.h
2.20 KB
Rename
Delete
netfilter.h
1.78 KB
Rename
Delete
netfilter_arp.h
445 bytes
Rename
Delete
netfilter_bridge.h
1.14 KB
Rename
Delete
netfilter_decnet.h
1.93 KB
Rename
Delete
netfilter_ipv4.h
2.12 KB
Rename
Delete
netfilter_ipv6.h
2.14 KB
Rename
Delete
netlink.h
11.23 KB
Rename
Delete
netlink_diag.h
1.49 KB
Rename
Delete
netrom.h
807 bytes
Rename
Delete
nexthop.h
1.50 KB
Rename
Delete
nfc.h
10.95 KB
Rename
Delete
nfs.h
4.39 KB
Rename
Delete
nfs2.h
1.43 KB
Rename
Delete
nfs3.h
2.40 KB
Rename
Delete
nfs4.h
6.44 KB
Rename
Delete
nfs4_mount.h
1.89 KB
Rename
Delete
nfs_fs.h
1.60 KB
Rename
Delete
nfs_idmap.h
2.19 KB
Rename
Delete
nfs_mount.h
2.09 KB
Rename
Delete
nfsacl.h
718 bytes
Rename
Delete
nilfs2_api.h
7.41 KB
Rename
Delete
nilfs2_ondisk.h
17.61 KB
Rename
Delete
nitro_enclaves.h
12.84 KB
Rename
Delete
nl80211.h
327.41 KB
Rename
Delete
nsfs.h
639 bytes
Rename
Delete
nubus.h
8.00 KB
Rename
Delete
nvme_ioctl.h
2.06 KB
Rename
Delete
nvram.h
532 bytes
Rename
Delete
omap3isp.h
20.36 KB
Rename
Delete
omapfb.h
5.78 KB
Rename
Delete
oom.h
511 bytes
Rename
Delete
openat2.h
1.26 KB
Rename
Delete
openvswitch.h
39.24 KB
Rename
Delete
packet_diag.h
1.63 KB
Rename
Delete
param.h
141 bytes
Rename
Delete
parport.h
3.56 KB
Rename
Delete
patchkey.h
892 bytes
Rename
Delete
pci.h
1.35 KB
Rename
Delete
pci_regs.h
56.47 KB
Rename
Delete
pcitest.h
711 bytes
Rename
Delete
perf_event.h
39.63 KB
Rename
Delete
personality.h
2.05 KB
Rename
Delete
pfkeyv2.h
10.32 KB
Rename
Delete
pfrut.h
7.80 KB
Rename
Delete
pg.h
2.34 KB
Rename
Delete
phantom.h
1.62 KB
Rename
Delete
phonet.h
4.57 KB
Rename
Delete
pkt_cls.h
18.08 KB
Rename
Delete
pkt_sched.h
29.59 KB
Rename
Delete
pktcdvd.h
2.62 KB
Rename
Delete
pmu.h
5.19 KB
Rename
Delete
poll.h
22 bytes
Rename
Delete
posix_acl.h
1.22 KB
Rename
Delete
posix_acl_xattr.h
1.09 KB
Rename
Delete
posix_types.h
1.07 KB
Rename
Delete
ppdev.h
3.14 KB
Rename
Delete
ppp-comp.h
2.47 KB
Rename
Delete
ppp-ioctl.h
5.35 KB
Rename
Delete
ppp_defs.h
4.99 KB
Rename
Delete
pps.h
4.62 KB
Rename
Delete
pr.h
1.05 KB
Rename
Delete
prctl.h
7.83 KB
Rename
Delete
psample.h
2.22 KB
Rename
Delete
psci.h
4.23 KB
Rename
Delete
psp-sev.h
4.48 KB
Rename
Delete
ptp_clock.h
7.28 KB
Rename
Delete
ptrace.h
3.59 KB
Rename
Delete
qemu_fw_cfg.h
2.41 KB
Rename
Delete
qnx4_fs.h
2.27 KB
Rename
Delete
qnxtypes.h
624 bytes
Rename
Delete
qrtr.h
893 bytes
Rename
Delete
quota.h
6.14 KB
Rename
Delete
radeonfb.h
360 bytes
Rename
Delete
random.h
1.34 KB
Rename
Delete
raw.h
365 bytes
Rename
Delete
rds.h
9.08 KB
Rename
Delete
reboot.h
1.31 KB
Rename
Delete
reiserfs_fs.h
775 bytes
Rename
Delete
reiserfs_xattr.h
533 bytes
Rename
Delete
resource.h
2.29 KB
Rename
Delete
rfkill.h
6.45 KB
Rename
Delete
rio_cm_cdev.h
3.17 KB
Rename
Delete
rio_mport_cdev.h
9.11 KB
Rename
Delete
romfs_fs.h
1.21 KB
Rename
Delete
rose.h
2.18 KB
Rename
Delete
route.h
2.28 KB
Rename
Delete
rpmsg.h
544 bytes
Rename
Delete
rseq.h
4.79 KB
Rename
Delete
rtc.h
3.92 KB
Rename
Delete
rtnetlink.h
19.73 KB
Rename
Delete
rxrpc.h
4.96 KB
Rename
Delete
scc.h
4.49 KB
Rename
Delete
sched.h
2.73 KB
Rename
Delete
scif_ioctl.h
6.23 KB
Rename
Delete
screen_info.h
2.42 KB
Rename
Delete
sctp.h
35.15 KB
Rename
Delete
sdla.h
2.77 KB
Rename
Delete
seccomp.h
2.20 KB
Rename
Delete
securebits.h
2.64 KB
Rename
Delete
sed-opal.h
3.20 KB
Rename
Delete
seg6.h
1.14 KB
Rename
Delete
seg6_genl.h
589 bytes
Rename
Delete
seg6_hmac.h
423 bytes
Rename
Delete
seg6_iptunnel.h
927 bytes
Rename
Delete
seg6_local.h
2.01 KB
Rename
Delete
selinux_netlink.h
1.17 KB
Rename
Delete
sem.h
2.97 KB
Rename
Delete
serial.h
3.78 KB
Rename
Delete
serial_core.h
6.10 KB
Rename
Delete
serial_reg.h
15.13 KB
Rename
Delete
serio.h
1.99 KB
Rename
Delete
sev-guest.h
2.25 KB
Rename
Delete
shm.h
3.70 KB
Rename
Delete
signal.h
388 bytes
Rename
Delete
signalfd.h
1.20 KB
Rename
Delete
smc.h
8.31 KB
Rename
Delete
smc_diag.h
2.66 KB
Rename
Delete
smiapp.h
1.03 KB
Rename
Delete
snmp.h
13.34 KB
Rename
Delete
sock_diag.h
1.27 KB
Rename
Delete
socket.h
901 bytes
Rename
Delete
sockios.h
5.96 KB
Rename
Delete
sonet.h
2.24 KB
Rename
Delete
sonypi.h
5.18 KB
Rename
Delete
sound.h
1.21 KB
Rename
Delete
soundcard.h
44.96 KB
Rename
Delete
stat.h
6.20 KB
Rename
Delete
stddef.h
1.50 KB
Rename
Delete
stm.h
1.25 KB
Rename
Delete
string.h
238 bytes
Rename
Delete
suspend_ioctls.h
1.40 KB
Rename
Delete
swab.h
6.76 KB
Rename
Delete
switchtec_ioctl.h
5.14 KB
Rename
Delete
sync_file.h
2.82 KB
Rename
Delete
synclink.h
8.77 KB
Rename
Delete
sysctl.h
25.24 KB
Rename
Delete
sysinfo.h
1.02 KB
Rename
Delete
target_core_user.h
4.52 KB
Rename
Delete
taskstats.h
7.01 KB
Rename
Delete
tcp.h
9.69 KB
Rename
Delete
tcp_metrics.h
1.51 KB
Rename
Delete
tdx-guest.h
1.27 KB
Rename
Delete
tee.h
12.86 KB
Rename
Delete
termios.h
506 bytes
Rename
Delete
thermal.h
3.23 KB
Rename
Delete
time.h
1.71 KB
Rename
Delete
time_types.h
1.15 KB
Rename
Delete
timerfd.h
936 bytes
Rename
Delete
times.h
278 bytes
Rename
Delete
timex.h
6.25 KB
Rename
Delete
tiocl.h
1.69 KB
Rename
Delete
tipc.h
8.62 KB
Rename
Delete
tipc_config.h
14.36 KB
Rename
Delete
tipc_netlink.h
9.17 KB
Rename
Delete
tipc_sockets_diag.h
468 bytes
Rename
Delete
tls.h
4.19 KB
Rename
Delete
toshiba.h
1.88 KB
Rename
Delete
tty.h
1.55 KB
Rename
Delete
tty_flags.h
4.42 KB
Rename
Delete
types.h
1.44 KB
Rename
Delete
udf_fs_i.h
697 bytes
Rename
Delete
udp.h
1.62 KB
Rename
Delete
uhid.h
4.54 KB
Rename
Delete
uinput.h
9.04 KB
Rename
Delete
uio.h
732 bytes
Rename
Delete
uleds.h
798 bytes
Rename
Delete
ultrasound.h
4.46 KB
Rename
Delete
un.h
384 bytes
Rename
Delete
unistd.h
220 bytes
Rename
Delete
unix_diag.h
1.22 KB
Rename
Delete
usbdevice_fs.h
8.12 KB
Rename
Delete
usbip.h
640 bytes
Rename
Delete
userfaultfd.h
7.59 KB
Rename
Delete
userio.h
1.48 KB
Rename
Delete
utime.h
215 bytes
Rename
Delete
utsname.h
669 bytes
Rename
Delete
uuid.h
1.32 KB
Rename
Delete
uvcvideo.h
2.57 KB
Rename
Delete
v4l2-common.h
4.08 KB
Rename
Delete
v4l2-controls.h
50.56 KB
Rename
Delete
v4l2-dv-timings.h
30.82 KB
Rename
Delete
v4l2-mediabus.h
4.98 KB
Rename
Delete
v4l2-subdev.h
5.95 KB
Rename
Delete
vbox_err.h
7.09 KB
Rename
Delete
vbox_vmmdev_types.h
8.16 KB
Rename
Delete
vboxguest.h
8.52 KB
Rename
Delete
vdpa.h
1.39 KB
Rename
Delete
version.h
430 bytes
Rename
Delete
veth.h
224 bytes
Rename
Delete
vfio.h
51.00 KB
Rename
Delete
vfio_ccw.h
1.29 KB
Rename
Delete
vfio_zdev.h
2.48 KB
Rename
Delete
vhost.h
6.27 KB
Rename
Delete
vhost_types.h
3.90 KB
Rename
Delete
videodev2.h
88.61 KB
Rename
Delete
virtio_9p.h
1.99 KB
Rename
Delete
virtio_balloon.h
5.15 KB
Rename
Delete
virtio_blk.h
6.64 KB
Rename
Delete
virtio_bt.h
772 bytes
Rename
Delete
virtio_config.h
3.91 KB
Rename
Delete
virtio_console.h
3.06 KB
Rename
Delete
virtio_crypto.h
13.55 KB
Rename
Delete
virtio_fs.h
572 bytes
Rename
Delete
virtio_gpu.h
11.19 KB
Rename
Delete
virtio_ids.h
3.19 KB
Rename
Delete
virtio_input.h
2.45 KB
Rename
Delete
virtio_iommu.h
3.69 KB
Rename
Delete
virtio_mem.h
6.99 KB
Rename
Delete
virtio_mmio.h
4.85 KB
Rename
Delete
virtio_net.h
10.30 KB
Rename
Delete
virtio_pci.h
7.23 KB
Rename
Delete
virtio_ring.h
7.32 KB
Rename
Delete
virtio_rng.h
265 bytes
Rename
Delete
virtio_scsi.h
5.89 KB
Rename
Delete
virtio_snd.h
9.09 KB
Rename
Delete
virtio_types.h
2.10 KB
Rename
Delete
virtio_vsock.h
3.01 KB
Rename
Delete
vm_sockets.h
6.34 KB
Rename
Delete
vm_sockets_diag.h
963 bytes
Rename
Delete
vmcore.h
431 bytes
Rename
Delete
vsockmon.h
1.84 KB
Rename
Delete
vt.h
2.99 KB
Rename
Delete
vtpm_proxy.h
1.68 KB
Rename
Delete
wait.h
682 bytes
Rename
Delete
wanrouter.h
453 bytes
Rename
Delete
watchdog.h
2.28 KB
Rename
Delete
wimax.h
8.17 KB
Rename
Delete
wireless.h
41.70 KB
Rename
Delete
wmi.h
1.84 KB
Rename
Delete
x25.h
3.48 KB
Rename
Delete
xattr.h
2.79 KB
Rename
Delete
xdp_diag.h
1.43 KB
Rename
Delete
xfrm.h
11.71 KB
Rename
Delete
xilinx-v4l2-controls.h
2.91 KB
Rename
Delete
zorro.h
3.22 KB
Rename
Delete
zorro_ids.h
29.26 KB
Rename
Delete
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef __LINUX_PKT_SCHED_H #define __LINUX_PKT_SCHED_H #include <linux/const.h> #include <linux/types.h> /* Logical priority bands not depending on specific packet scheduler. Every scheduler will map them to real traffic classes, if it has no more precise mechanism to classify packets. These numbers have no special meaning, though their coincidence with obsolete IPv6 values is not occasional :-). New IPv6 drafts preferred full anarchy inspired by diffserv group. Note: TC_PRIO_BESTEFFORT does not mean that it is the most unhappy class, actually, as rule it will be handled with more care than filler or even bulk. */ #define TC_PRIO_BESTEFFORT 0 #define TC_PRIO_FILLER 1 #define TC_PRIO_BULK 2 #define TC_PRIO_INTERACTIVE_BULK 4 #define TC_PRIO_INTERACTIVE 6 #define TC_PRIO_CONTROL 7 #define TC_PRIO_MAX 15 /* Generic queue statistics, available for all the elements. Particular schedulers may have also their private records. */ struct tc_stats { __u64 bytes; /* Number of enqueued bytes */ __u32 packets; /* Number of enqueued packets */ __u32 drops; /* Packets dropped because of lack of resources */ __u32 overlimits; /* Number of throttle events when this * flow goes out of allocated bandwidth */ __u32 bps; /* Current flow byte rate */ __u32 pps; /* Current flow packet rate */ __u32 qlen; __u32 backlog; }; struct tc_estimator { signed char interval; unsigned char ewma_log; }; /* "Handles" --------- All the traffic control objects have 32bit identifiers, or "handles". They can be considered as opaque numbers from user API viewpoint, but actually they always consist of two fields: major and minor numbers, which are interpreted by kernel specially, that may be used by applications, though not recommended. F.e. qdisc handles always have minor number equal to zero, classes (or flows) have major equal to parent qdisc major, and minor uniquely identifying class inside qdisc. Macros to manipulate handles: */ #define TC_H_MAJ_MASK (0xFFFF0000U) #define TC_H_MIN_MASK (0x0000FFFFU) #define TC_H_MAJ(h) ((h)&TC_H_MAJ_MASK) #define TC_H_MIN(h) ((h)&TC_H_MIN_MASK) #define TC_H_MAKE(maj,min) (((maj)&TC_H_MAJ_MASK)|((min)&TC_H_MIN_MASK)) #define TC_H_UNSPEC (0U) #define TC_H_ROOT (0xFFFFFFFFU) #define TC_H_INGRESS (0xFFFFFFF1U) #define TC_H_CLSACT TC_H_INGRESS #define TC_H_MIN_PRIORITY 0xFFE0U #define TC_H_MIN_INGRESS 0xFFF2U #define TC_H_MIN_EGRESS 0xFFF3U /* Need to corrospond to iproute2 tc/tc_core.h "enum link_layer" */ enum tc_link_layer { TC_LINKLAYER_UNAWARE, /* Indicate unaware old iproute2 util */ TC_LINKLAYER_ETHERNET, TC_LINKLAYER_ATM, }; #define TC_LINKLAYER_MASK 0x0F /* limit use to lower 4 bits */ struct tc_ratespec { unsigned char cell_log; __u8 linklayer; /* lower 4 bits */ unsigned short overhead; short cell_align; unsigned short mpu; __u32 rate; }; #define TC_RTAB_SIZE 1024 struct tc_sizespec { unsigned char cell_log; unsigned char size_log; short cell_align; int overhead; unsigned int linklayer; unsigned int mpu; unsigned int mtu; unsigned int tsize; }; enum { TCA_STAB_UNSPEC, TCA_STAB_BASE, TCA_STAB_DATA, __TCA_STAB_MAX }; #define TCA_STAB_MAX (__TCA_STAB_MAX - 1) /* FIFO section */ struct tc_fifo_qopt { __u32 limit; /* Queue length: bytes for bfifo, packets for pfifo */ }; /* SKBPRIO section */ /* * Priorities go from zero to (SKBPRIO_MAX_PRIORITY - 1). * SKBPRIO_MAX_PRIORITY should be at least 64 in order for skbprio to be able * to map one to one the DS field of IPV4 and IPV6 headers. * Memory allocation grows linearly with SKBPRIO_MAX_PRIORITY. */ #define SKBPRIO_MAX_PRIORITY 64 struct tc_skbprio_qopt { __u32 limit; /* Queue length in packets. */ }; /* PRIO section */ #define TCQ_PRIO_BANDS 16 #define TCQ_MIN_PRIO_BANDS 2 struct tc_prio_qopt { int bands; /* Number of bands */ __u8 priomap[TC_PRIO_MAX+1]; /* Map: logical priority -> PRIO band */ }; /* MULTIQ section */ struct tc_multiq_qopt { __u16 bands; /* Number of bands */ __u16 max_bands; /* Maximum number of queues */ }; /* PLUG section */ #define TCQ_PLUG_BUFFER 0 #define TCQ_PLUG_RELEASE_ONE 1 #define TCQ_PLUG_RELEASE_INDEFINITE 2 #define TCQ_PLUG_LIMIT 3 struct tc_plug_qopt { /* TCQ_PLUG_BUFFER: Inset a plug into the queue and * buffer any incoming packets * TCQ_PLUG_RELEASE_ONE: Dequeue packets from queue head * to beginning of the next plug. * TCQ_PLUG_RELEASE_INDEFINITE: Dequeue all packets from queue. * Stop buffering packets until the next TCQ_PLUG_BUFFER * command is received (just act as a pass-thru queue). * TCQ_PLUG_LIMIT: Increase/decrease queue size */ int action; __u32 limit; }; /* TBF section */ struct tc_tbf_qopt { struct tc_ratespec rate; struct tc_ratespec peakrate; __u32 limit; __u32 buffer; __u32 mtu; }; enum { TCA_TBF_UNSPEC, TCA_TBF_PARMS, TCA_TBF_RTAB, TCA_TBF_PTAB, TCA_TBF_RATE64, TCA_TBF_PRATE64, TCA_TBF_BURST, TCA_TBF_PBURST, TCA_TBF_PAD, __TCA_TBF_MAX, }; #define TCA_TBF_MAX (__TCA_TBF_MAX - 1) /* TEQL section */ /* TEQL does not require any parameters */ /* SFQ section */ struct tc_sfq_qopt { unsigned quantum; /* Bytes per round allocated to flow */ int perturb_period; /* Period of hash perturbation */ __u32 limit; /* Maximal packets in queue */ unsigned divisor; /* Hash divisor */ unsigned flows; /* Maximal number of flows */ }; struct tc_sfqred_stats { __u32 prob_drop; /* Early drops, below max threshold */ __u32 forced_drop; /* Early drops, after max threshold */ __u32 prob_mark; /* Marked packets, below max threshold */ __u32 forced_mark; /* Marked packets, after max threshold */ __u32 prob_mark_head; /* Marked packets, below max threshold */ __u32 forced_mark_head;/* Marked packets, after max threshold */ }; struct tc_sfq_qopt_v1 { struct tc_sfq_qopt v0; unsigned int depth; /* max number of packets per flow */ unsigned int headdrop; /* SFQRED parameters */ __u32 limit; /* HARD maximal flow queue length (bytes) */ __u32 qth_min; /* Min average length threshold (bytes) */ __u32 qth_max; /* Max average length threshold (bytes) */ unsigned char Wlog; /* log(W) */ unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */ unsigned char Scell_log; /* cell size for idle damping */ unsigned char flags; __u32 max_P; /* probability, high resolution */ /* SFQRED stats */ struct tc_sfqred_stats stats; }; struct tc_sfq_xstats { __s32 allot; }; /* RED section */ enum { TCA_RED_UNSPEC, TCA_RED_PARMS, TCA_RED_STAB, TCA_RED_MAX_P, TCA_RED_FLAGS, /* bitfield32 */ TCA_RED_EARLY_DROP_BLOCK, /* u32 */ TCA_RED_MARK_BLOCK, /* u32 */ __TCA_RED_MAX, }; #define TCA_RED_MAX (__TCA_RED_MAX - 1) struct tc_red_qopt { __u32 limit; /* HARD maximal queue length (bytes) */ __u32 qth_min; /* Min average length threshold (bytes) */ __u32 qth_max; /* Max average length threshold (bytes) */ unsigned char Wlog; /* log(W) */ unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */ unsigned char Scell_log; /* cell size for idle damping */ /* This field can be used for flags that a RED-like qdisc has * historically supported. E.g. when configuring RED, it can be used for * ECN, HARDDROP and ADAPTATIVE. For SFQ it can be used for ECN, * HARDDROP. Etc. Because this field has not been validated, and is * copied back on dump, any bits besides those to which a given qdisc * has assigned a historical meaning need to be considered for free use * by userspace tools. * * Any further flags need to be passed differently, e.g. through an * attribute (such as TCA_RED_FLAGS above). Such attribute should allow * passing both recent and historic flags in one value. */ unsigned char flags; #define TC_RED_ECN 1 #define TC_RED_HARDDROP 2 #define TC_RED_ADAPTATIVE 4 #define TC_RED_NODROP 8 }; #define TC_RED_HISTORIC_FLAGS (TC_RED_ECN | TC_RED_HARDDROP | TC_RED_ADAPTATIVE) struct tc_red_xstats { __u32 early; /* Early drops */ __u32 pdrop; /* Drops due to queue limits */ __u32 other; /* Drops due to drop() calls */ __u32 marked; /* Marked packets */ }; /* GRED section */ #define MAX_DPs 16 enum { TCA_GRED_UNSPEC, TCA_GRED_PARMS, TCA_GRED_STAB, TCA_GRED_DPS, TCA_GRED_MAX_P, TCA_GRED_LIMIT, TCA_GRED_VQ_LIST, /* nested TCA_GRED_VQ_ENTRY */ __TCA_GRED_MAX, }; #define TCA_GRED_MAX (__TCA_GRED_MAX - 1) enum { TCA_GRED_VQ_ENTRY_UNSPEC, TCA_GRED_VQ_ENTRY, /* nested TCA_GRED_VQ_* */ __TCA_GRED_VQ_ENTRY_MAX, }; #define TCA_GRED_VQ_ENTRY_MAX (__TCA_GRED_VQ_ENTRY_MAX - 1) enum { TCA_GRED_VQ_UNSPEC, TCA_GRED_VQ_PAD, TCA_GRED_VQ_DP, /* u32 */ TCA_GRED_VQ_STAT_BYTES, /* u64 */ TCA_GRED_VQ_STAT_PACKETS, /* u32 */ TCA_GRED_VQ_STAT_BACKLOG, /* u32 */ TCA_GRED_VQ_STAT_PROB_DROP, /* u32 */ TCA_GRED_VQ_STAT_PROB_MARK, /* u32 */ TCA_GRED_VQ_STAT_FORCED_DROP, /* u32 */ TCA_GRED_VQ_STAT_FORCED_MARK, /* u32 */ TCA_GRED_VQ_STAT_PDROP, /* u32 */ TCA_GRED_VQ_STAT_OTHER, /* u32 */ TCA_GRED_VQ_FLAGS, /* u32 */ __TCA_GRED_VQ_MAX }; #define TCA_GRED_VQ_MAX (__TCA_GRED_VQ_MAX - 1) struct tc_gred_qopt { __u32 limit; /* HARD maximal queue length (bytes) */ __u32 qth_min; /* Min average length threshold (bytes) */ __u32 qth_max; /* Max average length threshold (bytes) */ __u32 DP; /* up to 2^32 DPs */ __u32 backlog; __u32 qave; __u32 forced; __u32 early; __u32 other; __u32 pdrop; __u8 Wlog; /* log(W) */ __u8 Plog; /* log(P_max/(qth_max-qth_min)) */ __u8 Scell_log; /* cell size for idle damping */ __u8 prio; /* prio of this VQ */ __u32 packets; __u32 bytesin; }; /* gred setup */ struct tc_gred_sopt { __u32 DPs; __u32 def_DP; __u8 grio; __u8 flags; __u16 pad1; }; /* CHOKe section */ enum { TCA_CHOKE_UNSPEC, TCA_CHOKE_PARMS, TCA_CHOKE_STAB, TCA_CHOKE_MAX_P, __TCA_CHOKE_MAX, }; #define TCA_CHOKE_MAX (__TCA_CHOKE_MAX - 1) struct tc_choke_qopt { __u32 limit; /* Hard queue length (packets) */ __u32 qth_min; /* Min average threshold (packets) */ __u32 qth_max; /* Max average threshold (packets) */ unsigned char Wlog; /* log(W) */ unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */ unsigned char Scell_log; /* cell size for idle damping */ unsigned char flags; /* see RED flags */ }; struct tc_choke_xstats { __u32 early; /* Early drops */ __u32 pdrop; /* Drops due to queue limits */ __u32 other; /* Drops due to drop() calls */ __u32 marked; /* Marked packets */ __u32 matched; /* Drops due to flow match */ }; /* HTB section */ #define TC_HTB_NUMPRIO 8 #define TC_HTB_MAXDEPTH 8 #define TC_HTB_PROTOVER 3 /* the same as HTB and TC's major */ struct tc_htb_opt { struct tc_ratespec rate; struct tc_ratespec ceil; __u32 buffer; __u32 cbuffer; __u32 quantum; __u32 level; /* out only */ __u32 prio; }; struct tc_htb_glob { __u32 version; /* to match HTB/TC */ __u32 rate2quantum; /* bps->quantum divisor */ __u32 defcls; /* default class number */ __u32 debug; /* debug flags */ /* stats */ __u32 direct_pkts; /* count of non shaped packets */ }; enum { TCA_HTB_UNSPEC, TCA_HTB_PARMS, TCA_HTB_INIT, TCA_HTB_CTAB, TCA_HTB_RTAB, TCA_HTB_DIRECT_QLEN, TCA_HTB_RATE64, TCA_HTB_CEIL64, TCA_HTB_PAD, TCA_HTB_OFFLOAD, __TCA_HTB_MAX, }; #define TCA_HTB_MAX (__TCA_HTB_MAX - 1) struct tc_htb_xstats { __u32 lends; __u32 borrows; __u32 giants; /* unused since 'Make HTB scheduler work with TSO.' */ __s32 tokens; __s32 ctokens; }; /* HFSC section */ struct tc_hfsc_qopt { __u16 defcls; /* default class */ }; struct tc_service_curve { __u32 m1; /* slope of the first segment in bps */ __u32 d; /* x-projection of the first segment in us */ __u32 m2; /* slope of the second segment in bps */ }; struct tc_hfsc_stats { __u64 work; /* total work done */ __u64 rtwork; /* work done by real-time criteria */ __u32 period; /* current period */ __u32 level; /* class level in hierarchy */ }; enum { TCA_HFSC_UNSPEC, TCA_HFSC_RSC, TCA_HFSC_FSC, TCA_HFSC_USC, __TCA_HFSC_MAX, }; #define TCA_HFSC_MAX (__TCA_HFSC_MAX - 1) /* CBQ section */ #define TC_CBQ_MAXPRIO 8 #define TC_CBQ_MAXLEVEL 8 #define TC_CBQ_DEF_EWMA 5 struct tc_cbq_lssopt { unsigned char change; unsigned char flags; #define TCF_CBQ_LSS_BOUNDED 1 #define TCF_CBQ_LSS_ISOLATED 2 unsigned char ewma_log; unsigned char level; #define TCF_CBQ_LSS_FLAGS 1 #define TCF_CBQ_LSS_EWMA 2 #define TCF_CBQ_LSS_MAXIDLE 4 #define TCF_CBQ_LSS_MINIDLE 8 #define TCF_CBQ_LSS_OFFTIME 0x10 #define TCF_CBQ_LSS_AVPKT 0x20 __u32 maxidle; __u32 minidle; __u32 offtime; __u32 avpkt; }; struct tc_cbq_wrropt { unsigned char flags; unsigned char priority; unsigned char cpriority; unsigned char __reserved; __u32 allot; __u32 weight; }; struct tc_cbq_ovl { unsigned char strategy; #define TC_CBQ_OVL_CLASSIC 0 #define TC_CBQ_OVL_DELAY 1 #define TC_CBQ_OVL_LOWPRIO 2 #define TC_CBQ_OVL_DROP 3 #define TC_CBQ_OVL_RCLASSIC 4 unsigned char priority2; __u16 pad; __u32 penalty; }; struct tc_cbq_police { unsigned char police; unsigned char __res1; unsigned short __res2; }; struct tc_cbq_fopt { __u32 split; __u32 defmap; __u32 defchange; }; struct tc_cbq_xstats { __u32 borrows; __u32 overactions; __s32 avgidle; __s32 undertime; }; enum { TCA_CBQ_UNSPEC, TCA_CBQ_LSSOPT, TCA_CBQ_WRROPT, TCA_CBQ_FOPT, TCA_CBQ_OVL_STRATEGY, TCA_CBQ_RATE, TCA_CBQ_RTAB, TCA_CBQ_POLICE, __TCA_CBQ_MAX, }; #define TCA_CBQ_MAX (__TCA_CBQ_MAX - 1) /* dsmark section */ enum { TCA_DSMARK_UNSPEC, TCA_DSMARK_INDICES, TCA_DSMARK_DEFAULT_INDEX, TCA_DSMARK_SET_TC_INDEX, TCA_DSMARK_MASK, TCA_DSMARK_VALUE, __TCA_DSMARK_MAX, }; #define TCA_DSMARK_MAX (__TCA_DSMARK_MAX - 1) /* ATM section */ enum { TCA_ATM_UNSPEC, TCA_ATM_FD, /* file/socket descriptor */ TCA_ATM_PTR, /* pointer to descriptor - later */ TCA_ATM_HDR, /* LL header */ TCA_ATM_EXCESS, /* excess traffic class (0 for CLP) */ TCA_ATM_ADDR, /* PVC address (for output only) */ TCA_ATM_STATE, /* VC state (ATM_VS_*; for output only) */ __TCA_ATM_MAX, }; #define TCA_ATM_MAX (__TCA_ATM_MAX - 1) /* Network emulator */ enum { TCA_NETEM_UNSPEC, TCA_NETEM_CORR, TCA_NETEM_DELAY_DIST, TCA_NETEM_REORDER, TCA_NETEM_CORRUPT, TCA_NETEM_LOSS, TCA_NETEM_RATE, TCA_NETEM_ECN, TCA_NETEM_RATE64, TCA_NETEM_PAD, TCA_NETEM_LATENCY64, TCA_NETEM_JITTER64, TCA_NETEM_SLOT, TCA_NETEM_SLOT_DIST, __TCA_NETEM_MAX, }; #define TCA_NETEM_MAX (__TCA_NETEM_MAX - 1) struct tc_netem_qopt { __u32 latency; /* added delay (us) */ __u32 limit; /* fifo limit (packets) */ __u32 loss; /* random packet loss (0=none ~0=100%) */ __u32 gap; /* re-ordering gap (0 for none) */ __u32 duplicate; /* random packet dup (0=none ~0=100%) */ __u32 jitter; /* random jitter in latency (us) */ }; struct tc_netem_corr { __u32 delay_corr; /* delay correlation */ __u32 loss_corr; /* packet loss correlation */ __u32 dup_corr; /* duplicate correlation */ }; struct tc_netem_reorder { __u32 probability; __u32 correlation; }; struct tc_netem_corrupt { __u32 probability; __u32 correlation; }; struct tc_netem_rate { __u32 rate; /* byte/s */ __s32 packet_overhead; __u32 cell_size; __s32 cell_overhead; }; struct tc_netem_slot { __s64 min_delay; /* nsec */ __s64 max_delay; __s32 max_packets; __s32 max_bytes; __s64 dist_delay; /* nsec */ __s64 dist_jitter; /* nsec */ }; enum { NETEM_LOSS_UNSPEC, NETEM_LOSS_GI, /* General Intuitive - 4 state model */ NETEM_LOSS_GE, /* Gilbert Elliot models */ __NETEM_LOSS_MAX }; #define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1) /* State transition probabilities for 4 state model */ struct tc_netem_gimodel { __u32 p13; __u32 p31; __u32 p32; __u32 p14; __u32 p23; }; /* Gilbert-Elliot models */ struct tc_netem_gemodel { __u32 p; __u32 r; __u32 h; __u32 k1; }; #define NETEM_DIST_SCALE 8192 #define NETEM_DIST_MAX 16384 /* DRR */ enum { TCA_DRR_UNSPEC, TCA_DRR_QUANTUM, __TCA_DRR_MAX }; #define TCA_DRR_MAX (__TCA_DRR_MAX - 1) struct tc_drr_stats { __u32 deficit; }; /* MQPRIO */ #define TC_QOPT_BITMASK 15 #define TC_QOPT_MAX_QUEUE 16 enum { TC_MQPRIO_HW_OFFLOAD_NONE, /* no offload requested */ TC_MQPRIO_HW_OFFLOAD_TCS, /* offload TCs, no queue counts */ __TC_MQPRIO_HW_OFFLOAD_MAX }; #define TC_MQPRIO_HW_OFFLOAD_MAX (__TC_MQPRIO_HW_OFFLOAD_MAX - 1) enum { TC_MQPRIO_MODE_DCB, TC_MQPRIO_MODE_CHANNEL, __TC_MQPRIO_MODE_MAX }; #define __TC_MQPRIO_MODE_MAX (__TC_MQPRIO_MODE_MAX - 1) enum { TC_MQPRIO_SHAPER_DCB, TC_MQPRIO_SHAPER_BW_RATE, /* Add new shapers below */ __TC_MQPRIO_SHAPER_MAX }; #define __TC_MQPRIO_SHAPER_MAX (__TC_MQPRIO_SHAPER_MAX - 1) struct tc_mqprio_qopt { __u8 num_tc; __u8 prio_tc_map[TC_QOPT_BITMASK + 1]; __u8 hw; __u16 count[TC_QOPT_MAX_QUEUE]; __u16 offset[TC_QOPT_MAX_QUEUE]; }; #define TC_MQPRIO_F_MODE 0x1 #define TC_MQPRIO_F_SHAPER 0x2 #define TC_MQPRIO_F_MIN_RATE 0x4 #define TC_MQPRIO_F_MAX_RATE 0x8 enum { TCA_MQPRIO_UNSPEC, TCA_MQPRIO_MODE, TCA_MQPRIO_SHAPER, TCA_MQPRIO_MIN_RATE64, TCA_MQPRIO_MAX_RATE64, __TCA_MQPRIO_MAX, }; #define TCA_MQPRIO_MAX (__TCA_MQPRIO_MAX - 1) /* SFB */ enum { TCA_SFB_UNSPEC, TCA_SFB_PARMS, __TCA_SFB_MAX, }; #define TCA_SFB_MAX (__TCA_SFB_MAX - 1) /* * Note: increment, decrement are Q0.16 fixed-point values. */ struct tc_sfb_qopt { __u32 rehash_interval; /* delay between hash move, in ms */ __u32 warmup_time; /* double buffering warmup time in ms (warmup_time < rehash_interval) */ __u32 max; /* max len of qlen_min */ __u32 bin_size; /* maximum queue length per bin */ __u32 increment; /* probability increment, (d1 in Blue) */ __u32 decrement; /* probability decrement, (d2 in Blue) */ __u32 limit; /* max SFB queue length */ __u32 penalty_rate; /* inelastic flows are rate limited to 'rate' pps */ __u32 penalty_burst; }; struct tc_sfb_xstats { __u32 earlydrop; __u32 penaltydrop; __u32 bucketdrop; __u32 queuedrop; __u32 childdrop; /* drops in child qdisc */ __u32 marked; __u32 maxqlen; __u32 maxprob; __u32 avgprob; }; #define SFB_MAX_PROB 0xFFFF /* QFQ */ enum { TCA_QFQ_UNSPEC, TCA_QFQ_WEIGHT, TCA_QFQ_LMAX, __TCA_QFQ_MAX }; #define TCA_QFQ_MAX (__TCA_QFQ_MAX - 1) struct tc_qfq_stats { __u32 weight; __u32 lmax; }; /* CODEL */ enum { TCA_CODEL_UNSPEC, TCA_CODEL_TARGET, TCA_CODEL_LIMIT, TCA_CODEL_INTERVAL, TCA_CODEL_ECN, TCA_CODEL_CE_THRESHOLD, __TCA_CODEL_MAX }; #define TCA_CODEL_MAX (__TCA_CODEL_MAX - 1) struct tc_codel_xstats { __u32 maxpacket; /* largest packet we've seen so far */ __u32 count; /* how many drops we've done since the last time we * entered dropping state */ __u32 lastcount; /* count at entry to dropping state */ __u32 ldelay; /* in-queue delay seen by most recently dequeued packet */ __s32 drop_next; /* time to drop next packet */ __u32 drop_overlimit; /* number of time max qdisc packet limit was hit */ __u32 ecn_mark; /* number of packets we ECN marked instead of dropped */ __u32 dropping; /* are we in dropping state ? */ __u32 ce_mark; /* number of CE marked packets because of ce_threshold */ }; /* FQ_CODEL */ #define FQ_CODEL_QUANTUM_MAX (1 << 20) enum { TCA_FQ_CODEL_UNSPEC, TCA_FQ_CODEL_TARGET, TCA_FQ_CODEL_LIMIT, TCA_FQ_CODEL_INTERVAL, TCA_FQ_CODEL_ECN, TCA_FQ_CODEL_FLOWS, TCA_FQ_CODEL_QUANTUM, TCA_FQ_CODEL_CE_THRESHOLD, TCA_FQ_CODEL_DROP_BATCH_SIZE, TCA_FQ_CODEL_MEMORY_LIMIT, TCA_FQ_CODEL_CE_THRESHOLD_SELECTOR, TCA_FQ_CODEL_CE_THRESHOLD_MASK, __TCA_FQ_CODEL_MAX }; #define TCA_FQ_CODEL_MAX (__TCA_FQ_CODEL_MAX - 1) enum { TCA_FQ_CODEL_XSTATS_QDISC, TCA_FQ_CODEL_XSTATS_CLASS, }; struct tc_fq_codel_qd_stats { __u32 maxpacket; /* largest packet we've seen so far */ __u32 drop_overlimit; /* number of time max qdisc * packet limit was hit */ __u32 ecn_mark; /* number of packets we ECN marked * instead of being dropped */ __u32 new_flow_count; /* number of time packets * created a 'new flow' */ __u32 new_flows_len; /* count of flows in new list */ __u32 old_flows_len; /* count of flows in old list */ __u32 ce_mark; /* packets above ce_threshold */ __u32 memory_usage; /* in bytes */ __u32 drop_overmemory; }; struct tc_fq_codel_cl_stats { __s32 deficit; __u32 ldelay; /* in-queue delay seen by most recently * dequeued packet */ __u32 count; __u32 lastcount; __u32 dropping; __s32 drop_next; }; struct tc_fq_codel_xstats { __u32 type; union { struct tc_fq_codel_qd_stats qdisc_stats; struct tc_fq_codel_cl_stats class_stats; }; }; /* FQ */ enum { TCA_FQ_UNSPEC, TCA_FQ_PLIMIT, /* limit of total number of packets in queue */ TCA_FQ_FLOW_PLIMIT, /* limit of packets per flow */ TCA_FQ_QUANTUM, /* RR quantum */ TCA_FQ_INITIAL_QUANTUM, /* RR quantum for new flow */ TCA_FQ_RATE_ENABLE, /* enable/disable rate limiting */ TCA_FQ_FLOW_DEFAULT_RATE,/* obsolete, do not use */ TCA_FQ_FLOW_MAX_RATE, /* per flow max rate */ TCA_FQ_BUCKETS_LOG, /* log2(number of buckets) */ TCA_FQ_FLOW_REFILL_DELAY, /* flow credit refill delay in usec */ TCA_FQ_ORPHAN_MASK, /* mask applied to orphaned skb hashes */ TCA_FQ_LOW_RATE_THRESHOLD, /* per packet delay under this rate */ TCA_FQ_CE_THRESHOLD, /* DCTCP-like CE-marking threshold */ TCA_FQ_TIMER_SLACK, /* timer slack */ __TCA_FQ_MAX }; #define TCA_FQ_MAX (__TCA_FQ_MAX - 1) struct tc_fq_qd_stats { __u64 gc_flows; __u64 highprio_packets; __u64 tcp_retrans; __u64 throttled; __u64 flows_plimit; __u64 pkts_too_long; __u64 allocation_errors; __s64 time_next_delayed_flow; __u32 flows; __u32 inactive_flows; __u32 throttled_flows; __u32 unthrottle_latency_ns; __u64 ce_mark; /* packets above ce_threshold */ }; /* Heavy-Hitter Filter */ enum { TCA_HHF_UNSPEC, TCA_HHF_BACKLOG_LIMIT, TCA_HHF_QUANTUM, TCA_HHF_HH_FLOWS_LIMIT, TCA_HHF_RESET_TIMEOUT, TCA_HHF_ADMIT_BYTES, TCA_HHF_EVICT_TIMEOUT, TCA_HHF_NON_HH_WEIGHT, __TCA_HHF_MAX }; #define TCA_HHF_MAX (__TCA_HHF_MAX - 1) struct tc_hhf_xstats { __u32 drop_overlimit; /* number of times max qdisc packet limit * was hit */ __u32 hh_overlimit; /* number of times max heavy-hitters was hit */ __u32 hh_tot_count; /* number of captured heavy-hitters so far */ __u32 hh_cur_count; /* number of current heavy-hitters */ }; /* PIE */ enum { TCA_PIE_UNSPEC, TCA_PIE_TARGET, TCA_PIE_LIMIT, TCA_PIE_TUPDATE, TCA_PIE_ALPHA, TCA_PIE_BETA, TCA_PIE_ECN, TCA_PIE_BYTEMODE, TCA_PIE_DQ_RATE_ESTIMATOR, __TCA_PIE_MAX }; #define TCA_PIE_MAX (__TCA_PIE_MAX - 1) struct tc_pie_xstats { __u64 prob; /* current probability */ __u32 delay; /* current delay in ms */ __u32 avg_dq_rate; /* current average dq_rate in * bits/pie_time */ __u32 dq_rate_estimating; /* is avg_dq_rate being calculated? */ __u32 packets_in; /* total number of packets enqueued */ __u32 dropped; /* packets dropped due to pie_action */ __u32 overlimit; /* dropped due to lack of space * in queue */ __u32 maxq; /* maximum queue size */ __u32 ecn_mark; /* packets marked with ecn*/ }; /* FQ PIE */ enum { TCA_FQ_PIE_UNSPEC, TCA_FQ_PIE_LIMIT, TCA_FQ_PIE_FLOWS, TCA_FQ_PIE_TARGET, TCA_FQ_PIE_TUPDATE, TCA_FQ_PIE_ALPHA, TCA_FQ_PIE_BETA, TCA_FQ_PIE_QUANTUM, TCA_FQ_PIE_MEMORY_LIMIT, TCA_FQ_PIE_ECN_PROB, TCA_FQ_PIE_ECN, TCA_FQ_PIE_BYTEMODE, TCA_FQ_PIE_DQ_RATE_ESTIMATOR, __TCA_FQ_PIE_MAX }; #define TCA_FQ_PIE_MAX (__TCA_FQ_PIE_MAX - 1) struct tc_fq_pie_xstats { __u32 packets_in; /* total number of packets enqueued */ __u32 dropped; /* packets dropped due to fq_pie_action */ __u32 overlimit; /* dropped due to lack of space in queue */ __u32 overmemory; /* dropped due to lack of memory in queue */ __u32 ecn_mark; /* packets marked with ecn */ __u32 new_flow_count; /* count of new flows created by packets */ __u32 new_flows_len; /* count of flows in new list */ __u32 old_flows_len; /* count of flows in old list */ __u32 memory_usage; /* total memory across all queues */ }; /* CBS */ struct tc_cbs_qopt { __u8 offload; __u8 _pad[3]; __s32 hicredit; __s32 locredit; __s32 idleslope; __s32 sendslope; }; enum { TCA_CBS_UNSPEC, TCA_CBS_PARMS, __TCA_CBS_MAX, }; #define TCA_CBS_MAX (__TCA_CBS_MAX - 1) /* ETF */ struct tc_etf_qopt { __s32 delta; __s32 clockid; __u32 flags; #define TC_ETF_DEADLINE_MODE_ON _BITUL(0) #define TC_ETF_OFFLOAD_ON _BITUL(1) #define TC_ETF_SKIP_SOCK_CHECK _BITUL(2) }; enum { TCA_ETF_UNSPEC, TCA_ETF_PARMS, __TCA_ETF_MAX, }; #define TCA_ETF_MAX (__TCA_ETF_MAX - 1) /* CAKE */ enum { TCA_CAKE_UNSPEC, TCA_CAKE_PAD, TCA_CAKE_BASE_RATE64, TCA_CAKE_DIFFSERV_MODE, TCA_CAKE_ATM, TCA_CAKE_FLOW_MODE, TCA_CAKE_OVERHEAD, TCA_CAKE_RTT, TCA_CAKE_TARGET, TCA_CAKE_AUTORATE, TCA_CAKE_MEMORY, TCA_CAKE_NAT, TCA_CAKE_RAW, TCA_CAKE_WASH, TCA_CAKE_MPU, TCA_CAKE_INGRESS, TCA_CAKE_ACK_FILTER, TCA_CAKE_SPLIT_GSO, TCA_CAKE_FWMARK, __TCA_CAKE_MAX }; #define TCA_CAKE_MAX (__TCA_CAKE_MAX - 1) enum { __TCA_CAKE_STATS_INVALID, TCA_CAKE_STATS_PAD, TCA_CAKE_STATS_CAPACITY_ESTIMATE64, TCA_CAKE_STATS_MEMORY_LIMIT, TCA_CAKE_STATS_MEMORY_USED, TCA_CAKE_STATS_AVG_NETOFF, TCA_CAKE_STATS_MIN_NETLEN, TCA_CAKE_STATS_MAX_NETLEN, TCA_CAKE_STATS_MIN_ADJLEN, TCA_CAKE_STATS_MAX_ADJLEN, TCA_CAKE_STATS_TIN_STATS, TCA_CAKE_STATS_DEFICIT, TCA_CAKE_STATS_COBALT_COUNT, TCA_CAKE_STATS_DROPPING, TCA_CAKE_STATS_DROP_NEXT_US, TCA_CAKE_STATS_P_DROP, TCA_CAKE_STATS_BLUE_TIMER_US, __TCA_CAKE_STATS_MAX }; #define TCA_CAKE_STATS_MAX (__TCA_CAKE_STATS_MAX - 1) enum { __TCA_CAKE_TIN_STATS_INVALID, TCA_CAKE_TIN_STATS_PAD, TCA_CAKE_TIN_STATS_SENT_PACKETS, TCA_CAKE_TIN_STATS_SENT_BYTES64, TCA_CAKE_TIN_STATS_DROPPED_PACKETS, TCA_CAKE_TIN_STATS_DROPPED_BYTES64, TCA_CAKE_TIN_STATS_ACKS_DROPPED_PACKETS, TCA_CAKE_TIN_STATS_ACKS_DROPPED_BYTES64, TCA_CAKE_TIN_STATS_ECN_MARKED_PACKETS, TCA_CAKE_TIN_STATS_ECN_MARKED_BYTES64, TCA_CAKE_TIN_STATS_BACKLOG_PACKETS, TCA_CAKE_TIN_STATS_BACKLOG_BYTES, TCA_CAKE_TIN_STATS_THRESHOLD_RATE64, TCA_CAKE_TIN_STATS_TARGET_US, TCA_CAKE_TIN_STATS_INTERVAL_US, TCA_CAKE_TIN_STATS_WAY_INDIRECT_HITS, TCA_CAKE_TIN_STATS_WAY_MISSES, TCA_CAKE_TIN_STATS_WAY_COLLISIONS, TCA_CAKE_TIN_STATS_PEAK_DELAY_US, TCA_CAKE_TIN_STATS_AVG_DELAY_US, TCA_CAKE_TIN_STATS_BASE_DELAY_US, TCA_CAKE_TIN_STATS_SPARSE_FLOWS, TCA_CAKE_TIN_STATS_BULK_FLOWS, TCA_CAKE_TIN_STATS_UNRESPONSIVE_FLOWS, TCA_CAKE_TIN_STATS_MAX_SKBLEN, TCA_CAKE_TIN_STATS_FLOW_QUANTUM, __TCA_CAKE_TIN_STATS_MAX }; #define TCA_CAKE_TIN_STATS_MAX (__TCA_CAKE_TIN_STATS_MAX - 1) #define TC_CAKE_MAX_TINS (8) enum { CAKE_FLOW_NONE = 0, CAKE_FLOW_SRC_IP, CAKE_FLOW_DST_IP, CAKE_FLOW_HOSTS, /* = CAKE_FLOW_SRC_IP | CAKE_FLOW_DST_IP */ CAKE_FLOW_FLOWS, CAKE_FLOW_DUAL_SRC, /* = CAKE_FLOW_SRC_IP | CAKE_FLOW_FLOWS */ CAKE_FLOW_DUAL_DST, /* = CAKE_FLOW_DST_IP | CAKE_FLOW_FLOWS */ CAKE_FLOW_TRIPLE, /* = CAKE_FLOW_HOSTS | CAKE_FLOW_FLOWS */ CAKE_FLOW_MAX, }; enum { CAKE_DIFFSERV_DIFFSERV3 = 0, CAKE_DIFFSERV_DIFFSERV4, CAKE_DIFFSERV_DIFFSERV8, CAKE_DIFFSERV_BESTEFFORT, CAKE_DIFFSERV_PRECEDENCE, CAKE_DIFFSERV_MAX }; enum { CAKE_ACK_NONE = 0, CAKE_ACK_FILTER, CAKE_ACK_AGGRESSIVE, CAKE_ACK_MAX }; enum { CAKE_ATM_NONE = 0, CAKE_ATM_ATM, CAKE_ATM_PTM, CAKE_ATM_MAX }; /* TAPRIO */ enum { TC_TAPRIO_CMD_SET_GATES = 0x00, TC_TAPRIO_CMD_SET_AND_HOLD = 0x01, TC_TAPRIO_CMD_SET_AND_RELEASE = 0x02, }; enum { TCA_TAPRIO_SCHED_ENTRY_UNSPEC, TCA_TAPRIO_SCHED_ENTRY_INDEX, /* u32 */ TCA_TAPRIO_SCHED_ENTRY_CMD, /* u8 */ TCA_TAPRIO_SCHED_ENTRY_GATE_MASK, /* u32 */ TCA_TAPRIO_SCHED_ENTRY_INTERVAL, /* u32 */ __TCA_TAPRIO_SCHED_ENTRY_MAX, }; #define TCA_TAPRIO_SCHED_ENTRY_MAX (__TCA_TAPRIO_SCHED_ENTRY_MAX - 1) /* The format for schedule entry list is: * [TCA_TAPRIO_SCHED_ENTRY_LIST] * [TCA_TAPRIO_SCHED_ENTRY] * [TCA_TAPRIO_SCHED_ENTRY_CMD] * [TCA_TAPRIO_SCHED_ENTRY_GATES] * [TCA_TAPRIO_SCHED_ENTRY_INTERVAL] */ enum { TCA_TAPRIO_SCHED_UNSPEC, TCA_TAPRIO_SCHED_ENTRY, __TCA_TAPRIO_SCHED_MAX, }; #define TCA_TAPRIO_SCHED_MAX (__TCA_TAPRIO_SCHED_MAX - 1) /* The format for the admin sched (dump only): * [TCA_TAPRIO_SCHED_ADMIN_SCHED] * [TCA_TAPRIO_ATTR_SCHED_BASE_TIME] * [TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST] * [TCA_TAPRIO_ATTR_SCHED_ENTRY] * [TCA_TAPRIO_ATTR_SCHED_ENTRY_CMD] * [TCA_TAPRIO_ATTR_SCHED_ENTRY_GATES] * [TCA_TAPRIO_ATTR_SCHED_ENTRY_INTERVAL] */ #define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST _BITUL(0) #define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD _BITUL(1) enum { TCA_TAPRIO_TC_ENTRY_UNSPEC, TCA_TAPRIO_TC_ENTRY_INDEX, /* u32 */ TCA_TAPRIO_TC_ENTRY_MAX_SDU, /* u32 */ /* add new constants above here */ __TCA_TAPRIO_TC_ENTRY_CNT, TCA_TAPRIO_TC_ENTRY_MAX = (__TCA_TAPRIO_TC_ENTRY_CNT - 1) }; enum { TCA_TAPRIO_ATTR_UNSPEC, TCA_TAPRIO_ATTR_PRIOMAP, /* struct tc_mqprio_qopt */ TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST, /* nested of entry */ TCA_TAPRIO_ATTR_SCHED_BASE_TIME, /* s64 */ TCA_TAPRIO_ATTR_SCHED_SINGLE_ENTRY, /* single entry */ TCA_TAPRIO_ATTR_SCHED_CLOCKID, /* s32 */ TCA_TAPRIO_PAD, TCA_TAPRIO_ATTR_ADMIN_SCHED, /* The admin sched, only used in dump */ TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME, /* s64 */ TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, /* s64 */ TCA_TAPRIO_ATTR_FLAGS, /* u32 */ TCA_TAPRIO_ATTR_TXTIME_DELAY, /* u32 */ TCA_TAPRIO_ATTR_TC_ENTRY, /* nest */ __TCA_TAPRIO_ATTR_MAX, }; #define TCA_TAPRIO_ATTR_MAX (__TCA_TAPRIO_ATTR_MAX - 1) /* ETS */ #define TCQ_ETS_MAX_BANDS 16 enum { TCA_ETS_UNSPEC, TCA_ETS_NBANDS, /* u8 */ TCA_ETS_NSTRICT, /* u8 */ TCA_ETS_QUANTA, /* nested TCA_ETS_QUANTA_BAND */ TCA_ETS_QUANTA_BAND, /* u32 */ TCA_ETS_PRIOMAP, /* nested TCA_ETS_PRIOMAP_BAND */ TCA_ETS_PRIOMAP_BAND, /* u8 */ __TCA_ETS_MAX, }; #define TCA_ETS_MAX (__TCA_ETS_MAX - 1) #endif
Save