/
usr
/
include
/
linux
/
/usr/include/linux
mkdir
upload
Name
Size
Mode
Actions
android/
-
0755
rm
byteorder/
-
0755
rm
caif/
-
0755
rm
can/
-
0755
rm
cifs/
-
0755
rm
dvb/
-
0755
rm
genwqe/
-
0755
rm
hdlc/
-
0755
rm
hsi/
-
0755
rm
iio/
-
0755
rm
isdn/
-
0755
rm
misc/
-
0755
rm
mmc/
-
0755
rm
netfilter/
-
0755
rm
netfilter_arp/
-
0755
rm
netfilter_bridge/
-
0755
rm
netfilter_ipv4/
-
0755
rm
netfilter_ipv6/
-
0755
rm
nfsd/
-
0755
rm
raid/
-
0755
rm
sched/
-
0755
rm
spi/
-
0755
rm
sunrpc/
-
0755
rm
surface_aggregator/
-
0755
rm
tc_act/
-
0755
rm
tc_ematch/
-
0755
rm
usb/
-
0755
rm
a.out.h
6892
0644
edit
dl
rm
acct.h
3913
0644
edit
dl
rm
acrn.h
16686
0644
edit
dl
rm
adb.h
1140
0644
edit
dl
rm
adfs_fs.h
993
0644
edit
dl
rm
affs_hardblocks.h
1578
0644
edit
dl
rm
agpgart.h
3940
0644
edit
dl
rm
aio_abi.h
3398
0644
edit
dl
rm
am437x-vpfe.h
3681
0644
edit
dl
rm
apm_bios.h
3683
0644
edit
dl
rm
arcfb.h
213
0644
edit
dl
rm
arm_sdei.h
2751
0644
edit
dl
rm
aspeed-lpc-ctrl.h
1780
0644
edit
dl
rm
aspeed-p2a-ctrl.h
1906
0644
edit
dl
rm
atalk.h
1023
0644
edit
dl
rm
atm.h
7888
0644
edit
dl
rm
atmapi.h
952
0644
edit
dl
rm
atmarp.h
1296
0644
edit
dl
rm
atmbr2684.h
3271
0644
edit
dl
rm
atmclip.h
576
0644
edit
dl
rm
atmdev.h
7677
0644
edit
dl
rm
atmioc.h
1647
0644
edit
dl
rm
atmlec.h
2381
0644
edit
dl
rm
atmmpc.h
4226
0644
edit
dl
rm
atmppp.h
639
0644
edit
dl
rm
atmsap.h
4970
0644
edit
dl
rm
atmsvc.h
1853
0644
edit
dl
rm
atm_eni.h
648
0644
edit
dl
rm
atm_he.h
406
0644
edit
dl
rm
atm_idt77105.h
955
0644
edit
dl
rm
atm_nicstar.h
1278
0644
edit
dl
rm
atm_tcp.h
1622
0644
edit
dl
rm
atm_zatm.h
1540
0644
edit
dl
rm
audit.h
21570
0644
edit
dl
rm
auto_dev-ioctl.h
4986
0644
edit
dl
rm
auto_fs.h
6428
0644
edit
dl
rm
auto_fs4.h
451
0644
edit
dl
rm
auxvec.h
1597
0644
edit
dl
rm
ax25.h
2824
0644
edit
dl
rm
batadv_packet.h
20345
0644
edit
dl
rm
batman_adv.h
16887
0644
edit
dl
rm
baycom.h
883
0644
edit
dl
rm
bcm933xx_hcs.h
419
0644
edit
dl
rm
bfs_fs.h
1905
0644
edit
dl
rm
binfmts.h
776
0644
edit
dl
rm
bits.h
447
0644
edit
dl
rm
blkpg.h
904
0644
edit
dl
rm
blktrace_api.h
4701
0644
edit
dl
rm
blkzoned.h
6493
0644
edit
dl
rm
bpf.h
278639
0644
edit
dl
rm
bpfilter.h
465
0644
edit
dl
rm
bpf_common.h
1367
0644
edit
dl
rm
bpf_perf_event.h
529
0644
edit
dl
rm
bpqether.h
981
0644
edit
dl
rm
bsg.h
2494
0644
edit
dl
rm
bt-bmc.h
572
0644
edit
dl
rm
btf.h
5591
0644
edit
dl
rm
btrfs.h
30570
0644
edit
dl
rm
btrfs_tree.h
25829
0644
edit
dl
rm
cachefiles.h
1650
0644
edit
dl
rm
can.h
11496
0644
edit
dl
rm
capability.h
13491
0644
edit
dl
rm
capi.h
3124
0644
edit
dl
rm
cciss_defs.h
3281
0644
edit
dl
rm
cciss_ioctl.h
2761
0644
edit
dl
rm
ccs.h
767
0644
edit
dl
rm
cdrom.h
29561
0644
edit
dl
rm
cec-funcs.h
54419
0644
edit
dl
rm
cec.h
41437
0644
edit
dl
rm
cfm_bridge.h
1456
0644
edit
dl
rm
cgroupstats.h
2219
0644
edit
dl
rm
chio.h
5282
0644
edit
dl
rm
close_range.h
377
0644
edit
dl
rm
cm4000_cs.h
1806
0644
edit
dl
rm
cn_proc.h
4149
0644
edit
dl
rm
coda.h
18216
0644
edit
dl
rm
coff.h
12549
0644
edit
dl
rm
connector.h
2253
0644
edit
dl
rm
const.h
987
0644
edit
dl
rm
coresight-stm.h
747
0644
edit
dl
rm
cramfs_fs.h
3555
0644
edit
dl
rm
cryptouser.h
5321
0644
edit
dl
rm
cuda.h
905
0644
edit
dl
rm
cxl_mem.h
7915
0644
edit
dl
rm
cycx_cfm.h
2990
0644
edit
dl
rm
dcbnl.h
25292
0644
edit
dl
rm
dccp.h
6436
0644
edit
dl
rm
devlink.h
23316
0644
edit
dl
rm
dlm.h
2553
0644
edit
dl
rm
dlmconstants.h
5080
0644
edit
dl
rm
dlm_device.h
2543
0644
edit
dl
rm
dlm_netlink.h
1159
0644
edit
dl
rm
dlm_plock.h
894
0644
edit
dl
rm
dm-ioctl.h
11753
0644
edit
dl
rm
dm-log-userspace.h
15191
0644
edit
dl
rm
dma-buf.h
5247
0644
edit
dl
rm
dma-heap.h
1394
0644
edit
dl
rm
dn.h
4642
0644
edit
dl
rm
dns_resolver.h
3949
0644
edit
dl
rm
dpll.h
8697
0644
edit
dl
rm
dqblk_xfs.h
9388
0644
edit
dl
rm
edd.h
5604
0644
edit
dl
rm
efs_fs_sb.h
2227
0644
edit
dl
rm
elf-em.h
2627
0644
edit
dl
rm
elf-fdpic.h
1124
0644
edit
dl
rm
elf.h
15042
0644
edit
dl
rm
errno.h
23
0644
edit
dl
rm
errqueue.h
1983
0644
edit
dl
rm
erspan.h
1059
0644
edit
dl
rm
ethtool.h
103855
0644
edit
dl
rm
ethtool_netlink.h
6314
0644
edit
dl
rm
ethtool_netlink_generated.h
19626
0644
edit
dl
rm
eventfd.h
264
0644
edit
dl
rm
eventpoll.h
2913
0644
edit
dl
rm
f2fs.h
3301
0644
edit
dl
rm
fadvise.h
842
0644
edit
dl
rm
falloc.h
3643
0644
edit
dl
rm
fanotify.h
7886
0644
edit
dl
rm
fb.h
16477
0644
edit
dl
rm
fcntl.h
4319
0644
edit
dl
rm
fd.h
12117
0644
edit
dl
rm
fdreg.h
5364
0644
edit
dl
rm
fib_rules.h
2036
0644
edit
dl
rm
fiemap.h
2775
0644
edit
dl
rm
filter.h
2216
0644
edit
dl
rm
firewire-cdev.h
44240
0644
edit
dl
rm
firewire-constants.h
3231
0644
edit
dl
rm
fou.h
819
0644
edit
dl
rm
fpga-dfl.h
8728
0644
edit
dl
rm
fs.h
13186
0644
edit
dl
rm
fscrypt.h
6565
0644
edit
dl
rm
fsi.h
2255
0644
edit
dl
rm
fsl_hypervisor.h
7301
0644
edit
dl
rm
fsl_mc.h
734
0644
edit
dl
rm
fsmap.h
4393
0644
edit
dl
rm
fsverity.h
3185
0644
edit
dl
rm
fuse.h
25968
0644
edit
dl
rm
futex.h
6127
0644
edit
dl
rm
gameport.h
897
0644
edit
dl
rm
genetlink.h
2238
0644
edit
dl
rm
gen_stats.h
1526
0644
edit
dl
rm
gfs2_ondisk.h
14773
0644
edit
dl
rm
gpio.h
19922
0644
edit
dl
rm
gsmmux.h
4509
0644
edit
dl
rm
gtp.h
734
0644
edit
dl
rm
handshake.h
1646
0644
edit
dl
rm
hash_info.h
971
0644
edit
dl
rm
hdlc.h
637
0644
edit
dl
rm
hdlcdrv.h
2908
0644
edit
dl
rm
hdreg.h
22703
0644
edit
dl
rm
hid.h
2086
0644
edit
dl
rm
hiddev.h
6345
0644
edit
dl
rm
hidraw.h
1993
0644
edit
dl
rm
hpet.h
743
0644
edit
dl
rm
hsr_netlink.h
1101
0644
edit
dl
rm
hw_breakpoint.h
742
0644
edit
dl
rm
hyperv.h
11152
0644
edit
dl
rm
i2c-dev.h
1875
0644
edit
dl
rm
i2c.h
6890
0644
edit
dl
rm
i2o-dev.h
11555
0644
edit
dl
rm
i8k.h
1528
0644
edit
dl
rm
icmp.h
4785
0644
edit
dl
rm
icmpv6.h
4300
0644
edit
dl
rm
idxd.h
9328
0644
edit
dl
rm
if.h
10925
0644
edit
dl
rm
ife.h
351
0644
edit
dl
rm
if_addr.h
1886
0644
edit
dl
rm
if_addrlabel.h
721
0644
edit
dl
rm
if_alg.h
1566
0644
edit
dl
rm
if_arcnet.h
3717
0644
edit
dl
rm
if_arp.h
6565
0644
edit
dl
rm
if_bonding.h
5145
0644
edit
dl
rm
if_bridge.h
20755
0644
edit
dl
rm
if_cablemodem.h
986
0644
edit
dl
rm
if_eql.h
1349
0644
edit
dl
rm
if_ether.h
8410
0644
edit
dl
rm
if_fc.h
1738
0644
edit
dl
rm
if_fddi.h
4369
0644
edit
dl
rm
if_hippi.h
4235
0644
edit
dl
rm
if_infiniband.h
1245
0644
edit
dl
rm
if_link.h
54131
0644
edit
dl
rm
if_ltalk.h
210
0644
edit
dl
rm
if_macsec.h
6503
0644
edit
dl
rm
if_packet.h
8183
0644
edit
dl
rm
if_phonet.h
424
0644
edit
dl
rm
if_plip.h
660
0644
edit
dl
rm
if_ppp.h
29
0644
edit
dl
rm
if_pppol2tp.h
3303
0644
edit
dl
rm
if_pppox.h
4879
0644
edit
dl
rm
if_slip.h
872
0644
edit
dl
rm
if_team.h
2600
0644
edit
dl
rm
if_tun.h
4098
0644
edit
dl
rm
if_tunnel.h
5488
0644
edit
dl
rm
if_vlan.h
1831
0644
edit
dl
rm
if_x25.h
881
0644
edit
dl
rm
if_xdp.h
5414
0644
edit
dl
rm
igmp.h
3064
0644
edit
dl
rm
ila.h
1246
0644
edit
dl
rm
in.h
10486
0644
edit
dl
rm
in6.h
7537
0644
edit
dl
rm
inet_diag.h
5017
0644
edit
dl
rm
inotify.h
3292
0644
edit
dl
rm
input-event-codes.h
30203
0644
edit
dl
rm
input.h
16217
0644
edit
dl
rm
in_route.h
936
0644
edit
dl
rm
ioctl.h
163
0644
edit
dl
rm
iommufd.h
37327
0644
edit
dl
rm
ioprio.h
4175
0644
edit
dl
rm
io_uring.h
20887
0644
edit
dl
rm
ip.h
4813
0644
edit
dl
rm
ip6_tunnel.h
1953
0644
edit
dl
rm
ipc.h
2101
0644
edit
dl
rm
ipmi.h
15442
0644
edit
dl
rm
ipmi_bmc.h
488
0644
edit
dl
rm
ipmi_msgdefs.h
3430
0644
edit
dl
rm
ipmi_ssif_bmc.h
441
0644
edit
dl
rm
ipsec.h
947
0644
edit
dl
rm
ipv6.h
4169
0644
edit
dl
rm
ipv6_route.h
1908
0644
edit
dl
rm
ipx.h
2347
0644
edit
dl
rm
ip_vs.h
14135
0644
edit
dl
rm
irqnr.h
104
0644
edit
dl
rm
iso_fs.h
6485
0644
edit
dl
rm
isst_if.h
15281
0644
edit
dl
rm
ivtv.h
3022
0644
edit
dl
rm
ivtvfb.h
1207
0644
edit
dl
rm
jffs2.h
6815
0644
edit
dl
rm
joystick.h
3434
0644
edit
dl
rm
kcm.h
822
0644
edit
dl
rm
kcmp.h
522
0644
edit
dl
rm
kcov.h
1963
0644
edit
dl
rm
kd.h
6452
0644
edit
dl
rm
kdev_t.h
383
0644
edit
dl
rm
kernel-page-flags.h
900
0644
edit
dl
rm
kernel.h
194
0644
edit
dl
rm
kernelcapi.h
1019
0644
edit
dl
rm
kexec.h
2097
0644
edit
dl
rm
keyboard.h
13459
0644
edit
dl
rm
keyctl.h
5996
0644
edit
dl
rm
kfd_ioctl.h
58428
0644
edit
dl
rm
kfd_sysfs.h
5379
0644
edit
dl
rm
kvm.h
48372
0644
edit
dl
rm
kvm_para.h
1001
0644
edit
dl
rm
l2tp.h
5746
0644
edit
dl
rm
landlock.h
11828
0644
edit
dl
rm
libc-compat.h
8289
0644
edit
dl
rm
limits.h
937
0644
edit
dl
rm
lirc.h
8144
0644
edit
dl
rm
llc.h
3164
0644
edit
dl
rm
loadpin.h
834
0644
edit
dl
rm
loop.h
3396
0644
edit
dl
rm
lp.h
4190
0644
edit
dl
rm
lsm.h
1549
0644
edit
dl
rm
lwtunnel.h
2367
0644
edit
dl
rm
magic.h
3824
0644
edit
dl
rm
major.h
4657
0644
edit
dl
rm
map_to_7segment.h
6608
0644
edit
dl
rm
matroxfb.h
1464
0644
edit
dl
rm
max2175.h
1035
0644
edit
dl
rm
mdio.h
24350
0644
edit
dl
rm
media-bus-format.h
6909
0644
edit
dl
rm
media.h
12754
0644
edit
dl
rm
mei.h
3479
0644
edit
dl
rm
mei_uuid.h
738
0644
edit
dl
rm
membarrier.h
9362
0644
edit
dl
rm
memfd.h
1467
0644
edit
dl
rm
mempolicy.h
2568
0644
edit
dl
rm
meye.h
2529
0644
edit
dl
rm
mii.h
9496
0644
edit
dl
rm
minix_fs.h
2122
0644
edit
dl
rm
mman.h
1787
0644
edit
dl
rm
mmtimer.h
2117
0644
edit
dl
rm
module.h
293
0644
edit
dl
rm
mount.h
5019
0644
edit
dl
rm
mpls.h
2302
0644
edit
dl
rm
mpls_iptunnel.h
761
0644
edit
dl
rm
mptcp.h
3763
0644
edit
dl
rm
mptcp_pm.h
4407
0644
edit
dl
rm
mqueue.h
2201
0644
edit
dl
rm
mroute.h
5922
0644
edit
dl
rm
mroute6.h
4930
0644
edit
dl
rm
mrp_bridge.h
1708
0644
edit
dl
rm
msdos_fs.h
6731
0644
edit
dl
rm
msg.h
3386
0644
edit
dl
rm
mshv.h
8122
0644
edit
dl
rm
mtio.h
8175
0644
edit
dl
rm
nbd-netlink.h
2408
0644
edit
dl
rm
nbd.h
3862
0644
edit
dl
rm
ncsi.h
4828
0644
edit
dl
rm
ndctl.h
6829
0644
edit
dl
rm
neighbour.h
6054
0644
edit
dl
rm
net.h
2085
0644
edit
dl
rm
netconf.h
614
0644
edit
dl
rm
netdev.h
5786
0644
edit
dl
rm
netdevice.h
2253
0644
edit
dl
rm
netfilter.h
1731
0644
edit
dl
rm
netfilter_arp.h
445
0644
edit
dl
rm
netfilter_bridge.h
1168
0644
edit
dl
rm
netfilter_decnet.h
1758
0644
edit
dl
rm
netfilter_ipv4.h
1488
0644
edit
dl
rm
netfilter_ipv6.h
1383
0644
edit
dl
rm
netlink.h
12381
0644
edit
dl
rm
netlink_diag.h
1524
0644
edit
dl
rm
netrom.h
807
0644
edit
dl
rm
net_dropmon.h
2922
0644
edit
dl
rm
net_namespace.h
715
0644
edit
dl
rm
net_shaper.h
2583
0644
edit
dl
rm
net_tstamp.h
6455
0644
edit
dl
rm
nexthop.h
4066
0644
edit
dl
rm
nfc.h
11209
0644
edit
dl
rm
nfs.h
4463
0644
edit
dl
rm
nfs2.h
1468
0644
edit
dl
rm
nfs3.h
2453
0644
edit
dl
rm
nfs4.h
6695
0644
edit
dl
rm
nfs4_mount.h
1932
0644
edit
dl
rm
nfsacl.h
718
0644
edit
dl
rm
nfsd_netlink.h
1995
0644
edit
dl
rm
nfs_fs.h
1654
0644
edit
dl
rm
nfs_idmap.h
2243
0644
edit
dl
rm
nfs_mount.h
2142
0644
edit
dl
rm
nilfs2_api.h
7589
0644
edit
dl
rm
nilfs2_ondisk.h
18085
0644
edit
dl
rm
nitro_enclaves.h
13161
0644
edit
dl
rm
nl80211.h
349518
0644
edit
dl
rm
nsfs.h
639
0644
edit
dl
rm
nubus.h
8191
0644
edit
dl
rm
nvme_ioctl.h
2490
0644
edit
dl
rm
nvram.h
532
0644
edit
dl
rm
omap3isp.h
20853
0644
edit
dl
rm
omapfb.h
5918
0644
edit
dl
rm
oom.h
511
0644
edit
dl
rm
openat2.h
1450
0644
edit
dl
rm
openvswitch.h
41733
0644
edit
dl
rm
packet_diag.h
1672
0644
edit
dl
rm
param.h
141
0644
edit
dl
rm
parport.h
3644
0644
edit
dl
rm
patchkey.h
892
0644
edit
dl
rm
pci.h
1380
0644
edit
dl
rm
pcitest.h
920
0644
edit
dl
rm
pci_regs.h
63374
0644
edit
dl
rm
perf_event.h
43709
0644
edit
dl
rm
personality.h
2097
0644
edit
dl
rm
pfkeyv2.h
10569
0644
edit
dl
rm
pfrut.h
7987
0644
edit
dl
rm
pg.h
2394
0644
edit
dl
rm
phantom.h
1654
0644
edit
dl
rm
phonet.h
4677
0644
edit
dl
rm
pidfd.h
256
0644
edit
dl
rm
pktcdvd.h
2698
0644
edit
dl
rm
pkt_cls.h
19096
0644
edit
dl
rm
pkt_sched.h
29443
0644
edit
dl
rm
pmu.h
5444
0644
edit
dl
rm
poll.h
22
0644
edit
dl
rm
posix_acl.h
1254
0644
edit
dl
rm
posix_acl_xattr.h
1115
0644
edit
dl
rm
posix_types.h
1098
0644
edit
dl
rm
ppdev.h
3285
0644
edit
dl
rm
ppp-comp.h
2527
0644
edit
dl
rm
ppp-ioctl.h
5729
0644
edit
dl
rm
ppp_defs.h
5557
0644
edit
dl
rm
pps.h
4734
0644
edit
dl
rm
pr.h
1630
0644
edit
dl
rm
prctl.h
11065
0644
edit
dl
rm
psample.h
2634
0644
edit
dl
rm
psci.h
5340
0644
edit
dl
rm
psp-dbc.h
5279
0644
edit
dl
rm
psp-sev.h
7769
0644
edit
dl
rm
ptp_clock.h
7527
0644
edit
dl
rm
ptrace.h
4396
0644
edit
dl
rm
qemu_fw_cfg.h
2469
0644
edit
dl
rm
qnx4_fs.h
2328
0644
edit
dl
rm
qnxtypes.h
624
0644
edit
dl
rm
qrtr.h
893
0644
edit
dl
rm
quota.h
6312
0644
edit
dl
rm
radeonfb.h
360
0644
edit
dl
rm
random.h
1415
0644
edit
dl
rm
rds.h
11168
0644
edit
dl
rm
reboot.h
1343
0644
edit
dl
rm
reiserfs_fs.h
775
0644
edit
dl
rm
reiserfs_xattr.h
533
0644
edit
dl
rm
remoteproc_cdev.h
1102
0644
edit
dl
rm
resource.h
2373
0644
edit
dl
rm
rfkill.h
6608
0644
edit
dl
rm
rio_cm_cdev.h
3248
0644
edit
dl
rm
rio_mport_cdev.h
9330
0644
edit
dl
rm
rkisp1-config.h
31362
0644
edit
dl
rm
romfs_fs.h
1238
0644
edit
dl
rm
rose.h
2232
0644
edit
dl
rm
route.h
2332
0644
edit
dl
rm
rpl.h
814
0644
edit
dl
rm
rpl_iptunnel.h
424
0644
edit
dl
rm
rpmsg.h
1054
0644
edit
dl
rm
rpmsg_types.h
288
0644
edit
dl
rm
rseq.h
4904
0644
edit
dl
rm
rtc.h
5316
0644
edit
dl
rm
rtnetlink.h
21300
0644
edit
dl
rm
rxrpc.h
4922
0644
edit
dl
rm
scc.h
4624
0644
edit
dl
rm
sched.h
6266
0644
edit
dl
rm
scif_ioctl.h
6382
0644
edit
dl
rm
screen_info.h
2479
0644
edit
dl
rm
sctp.h
36022
0644
edit
dl
rm
seccomp.h
5732
0644
edit
dl
rm
securebits.h
2704
0644
edit
dl
rm
sed-opal.h
5414
0644
edit
dl
rm
seg6.h
1170
0644
edit
dl
rm
seg6_genl.h
589
0644
edit
dl
rm
seg6_hmac.h
423
0644
edit
dl
rm
seg6_iptunnel.h
984
0644
edit
dl
rm
seg6_local.h
3867
0644
edit
dl
rm
selinux_netlink.h
1195
0644
edit
dl
rm
sem.h
3051
0644
edit
dl
rm
serial.h
5019
0644
edit
dl
rm
serial_core.h
5046
0644
edit
dl
rm
serial_reg.h
16023
0644
edit
dl
rm
serio.h
2139
0644
edit
dl
rm
sev-guest.h
2526
0644
edit
dl
rm
shm.h
3794
0644
edit
dl
rm
signal.h
388
0644
edit
dl
rm
signalfd.h
1233
0644
edit
dl
rm
smc.h
8663
0644
edit
dl
rm
smc_diag.h
2951
0644
edit
dl
rm
smiapp.h
1058
0644
edit
dl
rm
snmp.h
14347
0644
edit
dl
rm
socket.h
919
0644
edit
dl
rm
sockios.h
6846
0644
edit
dl
rm
sock_diag.h
1301
0644
edit
dl
rm
sonet.h
2290
0644
edit
dl
rm
sonypi.h
5309
0644
edit
dl
rm
sound.h
1237
0644
edit
dl
rm
soundcard.h
46038
0644
edit
dl
rm
stat.h
7404
0644
edit
dl
rm
stddef.h
1726
0644
edit
dl
rm
stm.h
1275
0644
edit
dl
rm
string.h
238
0644
edit
dl
rm
suspend_ioctls.h
1431
0644
edit
dl
rm
swab.h
6921
0644
edit
dl
rm
switchtec_ioctl.h
5262
0644
edit
dl
rm
synclink.h
8985
0644
edit
dl
rm
sync_file.h
3578
0644
edit
dl
rm
sysctl.h
25910
0644
edit
dl
rm
sysinfo.h
1049
0644
edit
dl
rm
target_core_user.h
4633
0644
edit
dl
rm
taskstats.h
8322
0644
edit
dl
rm
tcp.h
11934
0644
edit
dl
rm
tcp_metrics.h
1985
0644
edit
dl
rm
tdx-guest.h
1305
0644
edit
dl
rm
tee.h
13405
0644
edit
dl
rm
termios.h
172
0644
edit
dl
rm
thermal.h
3310
0644
edit
dl
rm
time.h
1752
0644
edit
dl
rm
timerfd.h
936
0644
edit
dl
rm
times.h
278
0644
edit
dl
rm
timex.h
7817
0644
edit
dl
rm
time_types.h
1267
0644
edit
dl
rm
tiocl.h
1729
0644
edit
dl
rm
tipc.h
8825
0644
edit
dl
rm
tipc_config.h
14864
0644
edit
dl
rm
tipc_netlink.h
9395
0644
edit
dl
rm
tipc_sockets_diag.h
468
0644
edit
dl
rm
tls.h
7226
0644
edit
dl
rm
toshiba.h
1930
0644
edit
dl
rm
tps6594_pfsm.h
1160
0644
edit
dl
rm
tty.h
1585
0644
edit
dl
rm
tty_flags.h
4501
0644
edit
dl
rm
types.h
1636
0644
edit
dl
rm
udf_fs_i.h
697
0644
edit
dl
rm
udmabuf.h
643
0644
edit
dl
rm
udp.h
1688
0644
edit
dl
rm
uhid.h
4648
0644
edit
dl
rm
uinput.h
9261
0644
edit
dl
rm
uio.h
732
0644
edit
dl
rm
uleds.h
798
0644
edit
dl
rm
ultrasound.h
4562
0644
edit
dl
rm
um_timetravel.h
3961
0644
edit
dl
rm
un.h
384
0644
edit
dl
rm
unistd.h
220
0644
edit
dl
rm
unix_diag.h
1328
0644
edit
dl
rm
usbdevice_fs.h
8317
0644
edit
dl
rm
usbip.h
1503
0644
edit
dl
rm
userfaultfd.h
10940
0644
edit
dl
rm
userio.h
1516
0644
edit
dl
rm
utime.h
223
0644
edit
dl
rm
utsname.h
669
0644
edit
dl
rm
uuid.h
28
0644
edit
dl
rm
uvcvideo.h
2627
0644
edit
dl
rm
v4l2-common.h
2056
0644
edit
dl
rm
v4l2-controls.h
96860
0644
edit
dl
rm
v4l2-dv-timings.h
31123
0644
edit
dl
rm
v4l2-mediabus.h
5431
0644
edit
dl
rm
v4l2-subdev.h
9998
0644
edit
dl
rm
vboxguest.h
9368
0644
edit
dl
rm
vbox_err.h
7257
0644
edit
dl
rm
vbox_vmmdev_types.h
11651
0644
edit
dl
rm
vdpa.h
1785
0644
edit
dl
rm
vduse.h
9808
0644
edit
dl
rm
version.h
374
0644
edit
dl
rm
veth.h
224
0644
edit
dl
rm
vfio.h
71812
0644
edit
dl
rm
vfio_ccw.h
1317
0644
edit
dl
rm
vfio_zdev.h
2542
0644
edit
dl
rm
vhost.h
8438
0644
edit
dl
rm
vhost_types.h
4882
0644
edit
dl
rm
videodev2.h
101685
0644
edit
dl
rm
virtio_9p.h
2053
0644
edit
dl
rm
virtio_balloon.h
5279
0644
edit
dl
rm
virtio_blk.h
9979
0644
edit
dl
rm
virtio_bt.h
910
0644
edit
dl
rm
virtio_config.h
4461
0644
edit
dl
rm
virtio_console.h
3156
0644
edit
dl
rm
virtio_crypto.h
13887
0644
edit
dl
rm
virtio_fs.h
573
0644
edit
dl
rm
virtio_gpio.h
1738
0644
edit
dl
rm
virtio_gpu.h
11554
0644
edit
dl
rm
virtio_i2c.h
1186
0644
edit
dl
rm
virtio_ids.h
3793
0644
edit
dl
rm
virtio_input.h
2515
0644
edit
dl
rm
virtio_iommu.h
3931
0644
edit
dl
rm
virtio_mem.h
7157
0644
edit
dl
rm
virtio_mmio.h
4969
0644
edit
dl
rm
virtio_net.h
15078
0644
edit
dl
rm
virtio_pci.h
7480
0644
edit
dl
rm
virtio_pcidev.h
2389
0644
edit
dl
rm
virtio_pmem.h
641
0644
edit
dl
rm
virtio_ring.h
8724
0644
edit
dl
rm
virtio_rng.h
265
0644
edit
dl
rm
virtio_scmi.h
637
0644
edit
dl
rm
virtio_scsi.h
6085
0644
edit
dl
rm
virtio_snd.h
13170
0644
edit
dl
rm
virtio_types.h
2153
0644
edit
dl
rm
virtio_vsock.h
3348
0644
edit
dl
rm
vmcore.h
455
0644
edit
dl
rm
vm_sockets.h
7354
0644
edit
dl
rm
vm_sockets_diag.h
963
0644
edit
dl
rm
vsockmon.h
1885
0644
edit
dl
rm
vt.h
3059
0644
edit
dl
rm
vtpm_proxy.h
1719
0644
edit
dl
rm
wait.h
682
0644
edit
dl
rm
watchdog.h
2335
0644
edit
dl
rm
watch_queue.h
3490
0644
edit
dl
rm
wireguard.h
7748
0644
edit
dl
rm
wireless.h
42704
0644
edit
dl
rm
wmi.h
1761
0644
edit
dl
rm
wwan.h
295
0644
edit
dl
rm
x25.h
3562
0644
edit
dl
rm
xattr.h
3023
0644
edit
dl
rm
xdp_diag.h
1468
0644
edit
dl
rm
xfrm.h
12621
0644
edit
dl
rm
xilinx-v4l2-controls.h
2976
0644
edit
dl
rm
zorro.h
3296
0644
edit
dl
rm
zorro_ids.h
29963
0644
edit
dl
rm
Edit:
/usr/include/linux/sctp.h
(36022B)
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ /* SCTP kernel implementation * (C) Copyright IBM Corp. 2001, 2004 * Copyright (c) 1999-2000 Cisco, Inc. * Copyright (c) 1999-2001 Motorola, Inc. * Copyright (c) 2002 Intel Corp. * * This file is part of the SCTP kernel implementation * * This header represents the structures and constants needed to support * the SCTP Extension to the Sockets API. * * This SCTP implementation is free software; * you can redistribute it and/or modify it under the terms of * the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This SCTP implementation 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 GNU CC; see the file COPYING. If not, see * <http://www.gnu.org/licenses/>. * * Please send any bug reports or fixes you make to the * email address(es): * lksctp developers <linux-sctp@vger.kernel.org> * * Or submit a bug report through the following website: * http://www.sf.net/projects/lksctp * * Written or modified by: * La Monte H.P. Yarroll <piggy@acm.org> * R. Stewart <randall@sctp.chicago.il.us> * K. Morneau <kmorneau@cisco.com> * Q. Xie <qxie1@email.mot.com> * Karl Knutson <karl@athena.chicago.il.us> * Jon Grimm <jgrimm@us.ibm.com> * Daisy Chang <daisyc@us.ibm.com> * Ryan Layer <rmlayer@us.ibm.com> * Ardelle Fan <ardelle.fan@intel.com> * Sridhar Samudrala <sri@us.ibm.com> * Inaky Perez-Gonzalez <inaky.gonzalez@intel.com> * Vlad Yasevich <vladislav.yasevich@hp.com> * * Any bugs reported given to us we will try to fix... any fixes shared will * be incorporated into the next SCTP release. */ #ifndef _SCTP_H #define _SCTP_H #include <linux/types.h> #include <linux/socket.h> typedef __s32 sctp_assoc_t; #define SCTP_FUTURE_ASSOC 0 #define SCTP_CURRENT_ASSOC 1 #define SCTP_ALL_ASSOC 2 /* The following symbols come from the Sockets API Extensions for * SCTP <draft-ietf-tsvwg-sctpsocket-07.txt>. */ #define SCTP_RTOINFO 0 #define SCTP_ASSOCINFO 1 #define SCTP_INITMSG 2 #define SCTP_NODELAY 3 /* Get/set nodelay option. */ #define SCTP_AUTOCLOSE 4 #define SCTP_SET_PEER_PRIMARY_ADDR 5 #define SCTP_PRIMARY_ADDR 6 #define SCTP_ADAPTATION_LAYER 7 #define SCTP_DISABLE_FRAGMENTS 8 #define SCTP_PEER_ADDR_PARAMS 9 #define SCTP_DEFAULT_SEND_PARAM 10 #define SCTP_EVENTS 11 #define SCTP_I_WANT_MAPPED_V4_ADDR 12 /* Turn on/off mapped v4 addresses */ #define SCTP_MAXSEG 13 /* Get/set maximum fragment. */ #define SCTP_STATUS 14 #define SCTP_GET_PEER_ADDR_INFO 15 #define SCTP_DELAYED_ACK_TIME 16 #define SCTP_DELAYED_ACK SCTP_DELAYED_ACK_TIME #define SCTP_DELAYED_SACK SCTP_DELAYED_ACK_TIME #define SCTP_CONTEXT 17 #define SCTP_FRAGMENT_INTERLEAVE 18 #define SCTP_PARTIAL_DELIVERY_POINT 19 /* Set/Get partial delivery point */ #define SCTP_MAX_BURST 20 /* Set/Get max burst */ #define SCTP_AUTH_CHUNK 21 /* Set only: add a chunk type to authenticate */ #define SCTP_HMAC_IDENT 22 #define SCTP_AUTH_KEY 23 #define SCTP_AUTH_ACTIVE_KEY 24 #define SCTP_AUTH_DELETE_KEY 25 #define SCTP_PEER_AUTH_CHUNKS 26 /* Read only */ #define SCTP_LOCAL_AUTH_CHUNKS 27 /* Read only */ #define SCTP_GET_ASSOC_NUMBER 28 /* Read only */ #define SCTP_GET_ASSOC_ID_LIST 29 /* Read only */ #define SCTP_AUTO_ASCONF 30 #define SCTP_PEER_ADDR_THLDS 31 #define SCTP_RECVRCVINFO 32 #define SCTP_RECVNXTINFO 33 #define SCTP_DEFAULT_SNDINFO 34 #define SCTP_AUTH_DEACTIVATE_KEY 35 #define SCTP_REUSE_PORT 36 #define SCTP_PEER_ADDR_THLDS_V2 37 /* Internal Socket Options. Some of the sctp library functions are * implemented using these socket options. */ #define SCTP_SOCKOPT_BINDX_ADD 100 /* BINDX requests for adding addrs */ #define SCTP_SOCKOPT_BINDX_REM 101 /* BINDX requests for removing addrs. */ #define SCTP_SOCKOPT_PEELOFF 102 /* peel off association. */ /* Options 104-106 are deprecated and removed. Do not use this space */ #define SCTP_SOCKOPT_CONNECTX_OLD 107 /* CONNECTX old requests. */ #define SCTP_GET_PEER_ADDRS 108 /* Get all peer address. */ #define SCTP_GET_LOCAL_ADDRS 109 /* Get all local address. */ #define SCTP_SOCKOPT_CONNECTX 110 /* CONNECTX requests. */ #define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */ #define SCTP_GET_ASSOC_STATS 112 /* Read only */ #define SCTP_PR_SUPPORTED 113 #define SCTP_DEFAULT_PRINFO 114 #define SCTP_PR_ASSOC_STATUS 115 #define SCTP_PR_STREAM_STATUS 116 #define SCTP_RECONFIG_SUPPORTED 117 #define SCTP_ENABLE_STREAM_RESET 118 #define SCTP_RESET_STREAMS 119 #define SCTP_RESET_ASSOC 120 #define SCTP_ADD_STREAMS 121 #define SCTP_SOCKOPT_PEELOFF_FLAGS 122 #define SCTP_STREAM_SCHEDULER 123 #define SCTP_STREAM_SCHEDULER_VALUE 124 #define SCTP_INTERLEAVING_SUPPORTED 125 #define SCTP_SENDMSG_CONNECT 126 #define SCTP_EVENT 127 #define SCTP_ASCONF_SUPPORTED 128 #define SCTP_AUTH_SUPPORTED 129 #define SCTP_ECN_SUPPORTED 130 #define SCTP_EXPOSE_POTENTIALLY_FAILED_STATE 131 #define SCTP_EXPOSE_PF_STATE SCTP_EXPOSE_POTENTIALLY_FAILED_STATE #define SCTP_REMOTE_UDP_ENCAPS_PORT 132 #define SCTP_PLPMTUD_PROBE_INTERVAL 133 /* PR-SCTP policies */ #define SCTP_PR_SCTP_NONE 0x0000 #define SCTP_PR_SCTP_TTL 0x0010 #define SCTP_PR_SCTP_RTX 0x0020 #define SCTP_PR_SCTP_PRIO 0x0030 #define SCTP_PR_SCTP_MAX SCTP_PR_SCTP_PRIO #define SCTP_PR_SCTP_MASK 0x0030 #define __SCTP_PR_INDEX(x) ((x >> 4) - 1) #define SCTP_PR_INDEX(x) __SCTP_PR_INDEX(SCTP_PR_SCTP_ ## x) #define SCTP_PR_POLICY(x) ((x) & SCTP_PR_SCTP_MASK) #define SCTP_PR_SET_POLICY(flags, x) \ do { \ flags &= ~SCTP_PR_SCTP_MASK; \ flags |= x; \ } while (0) #define SCTP_PR_TTL_ENABLED(x) (SCTP_PR_POLICY(x) == SCTP_PR_SCTP_TTL) #define SCTP_PR_RTX_ENABLED(x) (SCTP_PR_POLICY(x) == SCTP_PR_SCTP_RTX) #define SCTP_PR_PRIO_ENABLED(x) (SCTP_PR_POLICY(x) == SCTP_PR_SCTP_PRIO) /* For enable stream reset */ #define SCTP_ENABLE_RESET_STREAM_REQ 0x01 #define SCTP_ENABLE_RESET_ASSOC_REQ 0x02 #define SCTP_ENABLE_CHANGE_ASSOC_REQ 0x04 #define SCTP_ENABLE_STRRESET_MASK 0x07 #define SCTP_STREAM_RESET_INCOMING 0x01 #define SCTP_STREAM_RESET_OUTGOING 0x02 /* These are bit fields for msghdr->msg_flags. See section 5.1. */ /* On user space Linux, these live in <bits/socket.h> as an enum. */ enum sctp_msg_flags { MSG_NOTIFICATION = 0x8000, #define MSG_NOTIFICATION MSG_NOTIFICATION }; /* 5.3.1 SCTP Initiation Structure (SCTP_INIT) * * This cmsghdr structure provides information for initializing new * SCTP associations with sendmsg(). The SCTP_INITMSG socket option * uses this same data structure. This structure is not used for * recvmsg(). * * cmsg_level cmsg_type cmsg_data[] * ------------ ------------ ---------------------- * IPPROTO_SCTP SCTP_INIT struct sctp_initmsg */ struct sctp_initmsg { __u16 sinit_num_ostreams; __u16 sinit_max_instreams; __u16 sinit_max_attempts; __u16 sinit_max_init_timeo; }; /* 5.3.2 SCTP Header Information Structure (SCTP_SNDRCV) * * This cmsghdr structure specifies SCTP options for sendmsg() and * describes SCTP header information about a received message through * recvmsg(). * * cmsg_level cmsg_type cmsg_data[] * ------------ ------------ ---------------------- * IPPROTO_SCTP SCTP_SNDRCV struct sctp_sndrcvinfo */ struct sctp_sndrcvinfo { __u16 sinfo_stream; __u16 sinfo_ssn; __u16 sinfo_flags; __u32 sinfo_ppid; __u32 sinfo_context; __u32 sinfo_timetolive; __u32 sinfo_tsn; __u32 sinfo_cumtsn; sctp_assoc_t sinfo_assoc_id; }; /* 5.3.4 SCTP Send Information Structure (SCTP_SNDINFO) * * This cmsghdr structure specifies SCTP options for sendmsg(). * * cmsg_level cmsg_type cmsg_data[] * ------------ ------------ ------------------- * IPPROTO_SCTP SCTP_SNDINFO struct sctp_sndinfo */ struct sctp_sndinfo { __u16 snd_sid; __u16 snd_flags; __u32 snd_ppid; __u32 snd_context; sctp_assoc_t snd_assoc_id; }; /* 5.3.5 SCTP Receive Information Structure (SCTP_RCVINFO) * * This cmsghdr structure describes SCTP receive information * about a received message through recvmsg(). * * cmsg_level cmsg_type cmsg_data[] * ------------ ------------ ------------------- * IPPROTO_SCTP SCTP_RCVINFO struct sctp_rcvinfo */ struct sctp_rcvinfo { __u16 rcv_sid; __u16 rcv_ssn; __u16 rcv_flags; __u32 rcv_ppid; __u32 rcv_tsn; __u32 rcv_cumtsn; __u32 rcv_context; sctp_assoc_t rcv_assoc_id; }; /* 5.3.6 SCTP Next Receive Information Structure (SCTP_NXTINFO) * * This cmsghdr structure describes SCTP receive information * of the next message that will be delivered through recvmsg() * if this information is already available when delivering * the current message. * * cmsg_level cmsg_type cmsg_data[] * ------------ ------------ ------------------- * IPPROTO_SCTP SCTP_NXTINFO struct sctp_nxtinfo */ struct sctp_nxtinfo { __u16 nxt_sid; __u16 nxt_flags; __u32 nxt_ppid; __u32 nxt_length; sctp_assoc_t nxt_assoc_id; }; /* 5.3.7 SCTP PR-SCTP Information Structure (SCTP_PRINFO) * * This cmsghdr structure specifies SCTP options for sendmsg(). * * cmsg_level cmsg_type cmsg_data[] * ------------ ------------ ------------------- * IPPROTO_SCTP SCTP_PRINFO struct sctp_prinfo */ struct sctp_prinfo { __u16 pr_policy; __u32 pr_value; }; /* 5.3.8 SCTP AUTH Information Structure (SCTP_AUTHINFO) * * This cmsghdr structure specifies SCTP options for sendmsg(). * * cmsg_level cmsg_type cmsg_data[] * ------------ ------------ ------------------- * IPPROTO_SCTP SCTP_AUTHINFO struct sctp_authinfo */ struct sctp_authinfo { __u16 auth_keynumber; }; /* * sinfo_flags: 16 bits (unsigned integer) * * This field may contain any of the following flags and is composed of * a bitwise OR of these values. */ enum sctp_sinfo_flags { SCTP_UNORDERED = (1 << 0), /* Send/receive message unordered. */ SCTP_ADDR_OVER = (1 << 1), /* Override the primary destination. */ SCTP_ABORT = (1 << 2), /* Send an ABORT message to the peer. */ SCTP_SACK_IMMEDIATELY = (1 << 3), /* SACK should be sent without delay. */ /* 2 bits here have been used by SCTP_PR_SCTP_MASK */ SCTP_SENDALL = (1 << 6), SCTP_PR_SCTP_ALL = (1 << 7), SCTP_NOTIFICATION = MSG_NOTIFICATION, /* Next message is not user msg but notification. */ SCTP_EOF = MSG_FIN, /* Initiate graceful shutdown process. */ }; typedef union { __u8 raw; struct sctp_initmsg init; struct sctp_sndrcvinfo sndrcv; } sctp_cmsg_data_t; /* These are cmsg_types. */ typedef enum sctp_cmsg_type { SCTP_INIT, /* 5.2.1 SCTP Initiation Structure */ #define SCTP_INIT SCTP_INIT SCTP_SNDRCV, /* 5.2.2 SCTP Header Information Structure */ #define SCTP_SNDRCV SCTP_SNDRCV SCTP_SNDINFO, /* 5.3.4 SCTP Send Information Structure */ #define SCTP_SNDINFO SCTP_SNDINFO SCTP_RCVINFO, /* 5.3.5 SCTP Receive Information Structure */ #define SCTP_RCVINFO SCTP_RCVINFO SCTP_NXTINFO, /* 5.3.6 SCTP Next Receive Information Structure */ #define SCTP_NXTINFO SCTP_NXTINFO SCTP_PRINFO, /* 5.3.7 SCTP PR-SCTP Information Structure */ #define SCTP_PRINFO SCTP_PRINFO SCTP_AUTHINFO, /* 5.3.8 SCTP AUTH Information Structure */ #define SCTP_AUTHINFO SCTP_AUTHINFO SCTP_DSTADDRV4, /* 5.3.9 SCTP Destination IPv4 Address Structure */ #define SCTP_DSTADDRV4 SCTP_DSTADDRV4 SCTP_DSTADDRV6, /* 5.3.10 SCTP Destination IPv6 Address Structure */ #define SCTP_DSTADDRV6 SCTP_DSTADDRV6 } sctp_cmsg_t; /* * 5.3.1.1 SCTP_ASSOC_CHANGE * * Communication notifications inform the ULP that an SCTP association * has either begun or ended. The identifier for a new association is * provided by this notificaion. The notification information has the * following format: * */ struct sctp_assoc_change { __u16 sac_type; __u16 sac_flags; __u32 sac_length; __u16 sac_state; __u16 sac_error; __u16 sac_outbound_streams; __u16 sac_inbound_streams; sctp_assoc_t sac_assoc_id; __u8 sac_info[0]; }; /* * sac_state: 32 bits (signed integer) * * This field holds one of a number of values that communicate the * event that happened to the association. They include: * * Note: The following state names deviate from the API draft as * the names clash too easily with other kernel symbols. */ enum sctp_sac_state { SCTP_COMM_UP, SCTP_COMM_LOST, SCTP_RESTART, SCTP_SHUTDOWN_COMP, SCTP_CANT_STR_ASSOC, }; /* * 5.3.1.2 SCTP_PEER_ADDR_CHANGE * * When a destination address on a multi-homed peer encounters a change * an interface details event is sent. The information has the * following structure: */ struct sctp_paddr_change { __u16 spc_type; __u16 spc_flags; __u32 spc_length; struct sockaddr_storage spc_aaddr; int spc_state; int spc_error; sctp_assoc_t spc_assoc_id; } __attribute__((packed, aligned(4))); /* * spc_state: 32 bits (signed integer) * * This field holds one of a number of values that communicate the * event that happened to the address. They include: */ enum sctp_spc_state { SCTP_ADDR_AVAILABLE, SCTP_ADDR_UNREACHABLE, SCTP_ADDR_REMOVED, SCTP_ADDR_ADDED, SCTP_ADDR_MADE_PRIM, SCTP_ADDR_CONFIRMED, SCTP_ADDR_POTENTIALLY_FAILED, #define SCTP_ADDR_PF SCTP_ADDR_POTENTIALLY_FAILED }; /* * 5.3.1.3 SCTP_REMOTE_ERROR * * A remote peer may send an Operational Error message to its peer. * This message indicates a variety of error conditions on an * association. The entire error TLV as it appears on the wire is * included in a SCTP_REMOTE_ERROR event. Please refer to the SCTP * specification [SCTP] and any extensions for a list of possible * error formats. SCTP error TLVs have the format: */ struct sctp_remote_error { __u16 sre_type; __u16 sre_flags; __u32 sre_length; __be16 sre_error; sctp_assoc_t sre_assoc_id; __u8 sre_data[0]; }; /* * 5.3.1.4 SCTP_SEND_FAILED * * If SCTP cannot deliver a message it may return the message as a * notification. */ struct sctp_send_failed { __u16 ssf_type; __u16 ssf_flags; __u32 ssf_length; __u32 ssf_error; struct sctp_sndrcvinfo ssf_info; sctp_assoc_t ssf_assoc_id; __u8 ssf_data[0]; }; struct sctp_send_failed_event { __u16 ssf_type; __u16 ssf_flags; __u32 ssf_length; __u32 ssf_error; struct sctp_sndinfo ssfe_info; sctp_assoc_t ssf_assoc_id; __u8 ssf_data[0]; }; /* * ssf_flags: 16 bits (unsigned integer) * * The flag value will take one of the following values * * SCTP_DATA_UNSENT - Indicates that the data was never put on * the wire. * * SCTP_DATA_SENT - Indicates that the data was put on the wire. * Note that this does not necessarily mean that the * data was (or was not) successfully delivered. */ enum sctp_ssf_flags { SCTP_DATA_UNSENT, SCTP_DATA_SENT, }; /* * 5.3.1.5 SCTP_SHUTDOWN_EVENT * * When a peer sends a SHUTDOWN, SCTP delivers this notification to * inform the application that it should cease sending data. */ struct sctp_shutdown_event { __u16 sse_type; __u16 sse_flags; __u32 sse_length; sctp_assoc_t sse_assoc_id; }; /* * 5.3.1.6 SCTP_ADAPTATION_INDICATION * * When a peer sends a Adaptation Layer Indication parameter , SCTP * delivers this notification to inform the application * that of the peers requested adaptation layer. */ struct sctp_adaptation_event { __u16 sai_type; __u16 sai_flags; __u32 sai_length; __u32 sai_adaptation_ind; sctp_assoc_t sai_assoc_id; }; /* * 5.3.1.7 SCTP_PARTIAL_DELIVERY_EVENT * * When a receiver is engaged in a partial delivery of a * message this notification will be used to indicate * various events. */ struct sctp_pdapi_event { __u16 pdapi_type; __u16 pdapi_flags; __u32 pdapi_length; __u32 pdapi_indication; sctp_assoc_t pdapi_assoc_id; __u32 pdapi_stream; __u32 pdapi_seq; }; enum { SCTP_PARTIAL_DELIVERY_ABORTED=0, }; /* * 5.3.1.8. SCTP_AUTHENTICATION_EVENT * * When a receiver is using authentication this message will provide * notifications regarding new keys being made active as well as errors. */ struct sctp_authkey_event { __u16 auth_type; __u16 auth_flags; __u32 auth_length; __u16 auth_keynumber; __u16 auth_altkeynumber; __u32 auth_indication; sctp_assoc_t auth_assoc_id; }; enum { SCTP_AUTH_NEW_KEY, #define SCTP_AUTH_NEWKEY SCTP_AUTH_NEW_KEY /* compatible with before */ SCTP_AUTH_FREE_KEY, SCTP_AUTH_NO_AUTH, }; /* * 6.1.9. SCTP_SENDER_DRY_EVENT * * When the SCTP stack has no more user data to send or retransmit, this * notification is given to the user. Also, at the time when a user app * subscribes to this event, if there is no data to be sent or * retransmit, the stack will immediately send up this notification. */ struct sctp_sender_dry_event { __u16 sender_dry_type; __u16 sender_dry_flags; __u32 sender_dry_length; sctp_assoc_t sender_dry_assoc_id; }; #define SCTP_STREAM_RESET_INCOMING_SSN 0x0001 #define SCTP_STREAM_RESET_OUTGOING_SSN 0x0002 #define SCTP_STREAM_RESET_DENIED 0x0004 #define SCTP_STREAM_RESET_FAILED 0x0008 struct sctp_stream_reset_event { __u16 strreset_type; __u16 strreset_flags; __u32 strreset_length; sctp_assoc_t strreset_assoc_id; __u16 strreset_stream_list[]; }; #define SCTP_ASSOC_RESET_DENIED 0x0004 #define SCTP_ASSOC_RESET_FAILED 0x0008 struct sctp_assoc_reset_event { __u16 assocreset_type; __u16 assocreset_flags; __u32 assocreset_length; sctp_assoc_t assocreset_assoc_id; __u32 assocreset_local_tsn; __u32 assocreset_remote_tsn; }; #define SCTP_ASSOC_CHANGE_DENIED 0x0004 #define SCTP_ASSOC_CHANGE_FAILED 0x0008 #define SCTP_STREAM_CHANGE_DENIED SCTP_ASSOC_CHANGE_DENIED #define SCTP_STREAM_CHANGE_FAILED SCTP_ASSOC_CHANGE_FAILED struct sctp_stream_change_event { __u16 strchange_type; __u16 strchange_flags; __u32 strchange_length; sctp_assoc_t strchange_assoc_id; __u16 strchange_instrms; __u16 strchange_outstrms; }; /* * Described in Section 7.3 * Ancillary Data and Notification Interest Options */ struct sctp_event_subscribe { __u8 sctp_data_io_event; __u8 sctp_association_event; __u8 sctp_address_event; __u8 sctp_send_failure_event; __u8 sctp_peer_error_event; __u8 sctp_shutdown_event; __u8 sctp_partial_delivery_event; __u8 sctp_adaptation_layer_event; __u8 sctp_authentication_event; __u8 sctp_sender_dry_event; __u8 sctp_stream_reset_event; __u8 sctp_assoc_reset_event; __u8 sctp_stream_change_event; __u8 sctp_send_failure_event_event; }; /* * 5.3.1 SCTP Notification Structure * * The notification structure is defined as the union of all * notification types. * */ union sctp_notification { struct { __u16 sn_type; /* Notification type. */ __u16 sn_flags; __u32 sn_length; } sn_header; struct sctp_assoc_change sn_assoc_change; struct sctp_paddr_change sn_paddr_change; struct sctp_remote_error sn_remote_error; struct sctp_send_failed sn_send_failed; struct sctp_shutdown_event sn_shutdown_event; struct sctp_adaptation_event sn_adaptation_event; struct sctp_pdapi_event sn_pdapi_event; struct sctp_authkey_event sn_authkey_event; struct sctp_sender_dry_event sn_sender_dry_event; struct sctp_stream_reset_event sn_strreset_event; struct sctp_assoc_reset_event sn_assocreset_event; struct sctp_stream_change_event sn_strchange_event; struct sctp_send_failed_event sn_send_failed_event; }; /* Section 5.3.1 * All standard values for sn_type flags are greater than 2^15. * Values from 2^15 and down are reserved. */ enum sctp_sn_type { SCTP_SN_TYPE_BASE = (1<<15), SCTP_DATA_IO_EVENT = SCTP_SN_TYPE_BASE, #define SCTP_DATA_IO_EVENT SCTP_DATA_IO_EVENT SCTP_ASSOC_CHANGE, #define SCTP_ASSOC_CHANGE SCTP_ASSOC_CHANGE SCTP_PEER_ADDR_CHANGE, #define SCTP_PEER_ADDR_CHANGE SCTP_PEER_ADDR_CHANGE SCTP_SEND_FAILED, #define SCTP_SEND_FAILED SCTP_SEND_FAILED SCTP_REMOTE_ERROR, #define SCTP_REMOTE_ERROR SCTP_REMOTE_ERROR SCTP_SHUTDOWN_EVENT, #define SCTP_SHUTDOWN_EVENT SCTP_SHUTDOWN_EVENT SCTP_PARTIAL_DELIVERY_EVENT, #define SCTP_PARTIAL_DELIVERY_EVENT SCTP_PARTIAL_DELIVERY_EVENT SCTP_ADAPTATION_INDICATION, #define SCTP_ADAPTATION_INDICATION SCTP_ADAPTATION_INDICATION SCTP_AUTHENTICATION_EVENT, #define SCTP_AUTHENTICATION_INDICATION SCTP_AUTHENTICATION_EVENT SCTP_SENDER_DRY_EVENT, #define SCTP_SENDER_DRY_EVENT SCTP_SENDER_DRY_EVENT SCTP_STREAM_RESET_EVENT, #define SCTP_STREAM_RESET_EVENT SCTP_STREAM_RESET_EVENT SCTP_ASSOC_RESET_EVENT, #define SCTP_ASSOC_RESET_EVENT SCTP_ASSOC_RESET_EVENT SCTP_STREAM_CHANGE_EVENT, #define SCTP_STREAM_CHANGE_EVENT SCTP_STREAM_CHANGE_EVENT SCTP_SEND_FAILED_EVENT, #define SCTP_SEND_FAILED_EVENT SCTP_SEND_FAILED_EVENT SCTP_SN_TYPE_MAX = SCTP_SEND_FAILED_EVENT, #define SCTP_SN_TYPE_MAX SCTP_SN_TYPE_MAX }; /* Notification error codes used to fill up the error fields in some * notifications. * SCTP_PEER_ADDRESS_CHAGE : spc_error * SCTP_ASSOC_CHANGE : sac_error * These names should be potentially included in the draft 04 of the SCTP * sockets API specification. */ typedef enum sctp_sn_error { SCTP_FAILED_THRESHOLD, SCTP_RECEIVED_SACK, SCTP_HEARTBEAT_SUCCESS, SCTP_RESPONSE_TO_USER_REQ, SCTP_INTERNAL_ERROR, SCTP_SHUTDOWN_GUARD_EXPIRES, SCTP_PEER_FAULTY, } sctp_sn_error_t; /* * 7.1.1 Retransmission Timeout Parameters (SCTP_RTOINFO) * * The protocol parameters used to initialize and bound retransmission * timeout (RTO) are tunable. See [SCTP] for more information on how * these parameters are used in RTO calculation. */ struct sctp_rtoinfo { sctp_assoc_t srto_assoc_id; __u32 srto_initial; __u32 srto_max; __u32 srto_min; }; /* * 7.1.2 Association Parameters (SCTP_ASSOCINFO) * * This option is used to both examine and set various association and * endpoint parameters. */ struct sctp_assocparams { sctp_assoc_t sasoc_assoc_id; __u16 sasoc_asocmaxrxt; __u16 sasoc_number_peer_destinations; __u32 sasoc_peer_rwnd; __u32 sasoc_local_rwnd; __u32 sasoc_cookie_life; }; /* * 7.1.9 Set Peer Primary Address (SCTP_SET_PEER_PRIMARY_ADDR) * * Requests that the peer mark the enclosed address as the association * primary. The enclosed address must be one of the association's * locally bound addresses. The following structure is used to make a * set primary request: */ struct sctp_setpeerprim { sctp_assoc_t sspp_assoc_id; struct sockaddr_storage sspp_addr; } __attribute__((packed, aligned(4))); /* * 7.1.10 Set Primary Address (SCTP_PRIMARY_ADDR) * * Requests that the local SCTP stack use the enclosed peer address as * the association primary. The enclosed address must be one of the * association peer's addresses. The following structure is used to * make a set peer primary request: */ struct sctp_prim { sctp_assoc_t ssp_assoc_id; struct sockaddr_storage ssp_addr; } __attribute__((packed, aligned(4))); /* For backward compatibility use, define the old name too */ #define sctp_setprim sctp_prim /* * 7.1.11 Set Adaptation Layer Indicator (SCTP_ADAPTATION_LAYER) * * Requests that the local endpoint set the specified Adaptation Layer * Indication parameter for all future INIT and INIT-ACK exchanges. */ struct sctp_setadaptation { __u32 ssb_adaptation_ind; }; /* * 7.1.13 Peer Address Parameters (SCTP_PEER_ADDR_PARAMS) * * Applications can enable or disable heartbeats for any peer address * of an association, modify an address's heartbeat interval, force a * heartbeat to be sent immediately, and adjust the address's maximum * number of retransmissions sent before an address is considered * unreachable. The following structure is used to access and modify an * address's parameters: */ enum sctp_spp_flags { SPP_HB_ENABLE = 1<<0, /*Enable heartbeats*/ SPP_HB_DISABLE = 1<<1, /*Disable heartbeats*/ SPP_HB = SPP_HB_ENABLE | SPP_HB_DISABLE, SPP_HB_DEMAND = 1<<2, /*Send heartbeat immediately*/ SPP_PMTUD_ENABLE = 1<<3, /*Enable PMTU discovery*/ SPP_PMTUD_DISABLE = 1<<4, /*Disable PMTU discovery*/ SPP_PMTUD = SPP_PMTUD_ENABLE | SPP_PMTUD_DISABLE, SPP_SACKDELAY_ENABLE = 1<<5, /*Enable SACK*/ SPP_SACKDELAY_DISABLE = 1<<6, /*Disable SACK*/ SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE, SPP_HB_TIME_IS_ZERO = 1<<7, /* Set HB delay to 0 */ SPP_IPV6_FLOWLABEL = 1<<8, SPP_DSCP = 1<<9, }; struct sctp_paddrparams { sctp_assoc_t spp_assoc_id; struct sockaddr_storage spp_address; __u32 spp_hbinterval; __u16 spp_pathmaxrxt; __u32 spp_pathmtu; __u32 spp_sackdelay; __u32 spp_flags; __u32 spp_ipv6_flowlabel; __u8 spp_dscp; } __attribute__((packed, aligned(4))); /* * 7.1.18. Add a chunk that must be authenticated (SCTP_AUTH_CHUNK) * * This set option adds a chunk type that the user is requesting to be * received only in an authenticated way. Changes to the list of chunks * will only effect future associations on the socket. */ struct sctp_authchunk { __u8 sauth_chunk; }; /* * 7.1.19. Get or set the list of supported HMAC Identifiers (SCTP_HMAC_IDENT) * * This option gets or sets the list of HMAC algorithms that the local * endpoint requires the peer to use. */ /* This here is only used by user space as is. It might not be a good idea * to export/reveal the whole structure with reserved fields etc. */ enum { SCTP_AUTH_HMAC_ID_SHA1 = 1, SCTP_AUTH_HMAC_ID_SHA256 = 3, }; struct sctp_hmacalgo { __u32 shmac_num_idents; __u16 shmac_idents[]; }; /* Sadly, user and kernel space have different names for * this structure member, so this is to not break anything. */ #define shmac_number_of_idents shmac_num_idents /* * 7.1.20. Set a shared key (SCTP_AUTH_KEY) * * This option will set a shared secret key which is used to build an * association shared key. */ struct sctp_authkey { sctp_assoc_t sca_assoc_id; __u16 sca_keynumber; __u16 sca_keylength; __u8 sca_key[]; }; /* * 7.1.21. Get or set the active shared key (SCTP_AUTH_ACTIVE_KEY) * * This option will get or set the active shared key to be used to build * the association shared key. */ struct sctp_authkeyid { sctp_assoc_t scact_assoc_id; __u16 scact_keynumber; }; /* * 7.1.23. Get or set delayed ack timer (SCTP_DELAYED_SACK) * * This option will effect the way delayed acks are performed. This * option allows you to get or set the delayed ack time, in * milliseconds. It also allows changing the delayed ack frequency. * Changing the frequency to 1 disables the delayed sack algorithm. If * the assoc_id is 0, then this sets or gets the endpoints default * values. If the assoc_id field is non-zero, then the set or get * effects the specified association for the one to many model (the * assoc_id field is ignored by the one to one model). Note that if * sack_delay or sack_freq are 0 when setting this option, then the * current values will remain unchanged. */ struct sctp_sack_info { sctp_assoc_t sack_assoc_id; uint32_t sack_delay; uint32_t sack_freq; }; struct sctp_assoc_value { sctp_assoc_t assoc_id; uint32_t assoc_value; }; struct sctp_stream_value { sctp_assoc_t assoc_id; uint16_t stream_id; uint16_t stream_value; }; /* * 7.2.2 Peer Address Information * * Applications can retrieve information about a specific peer address * of an association, including its reachability state, congestion * window, and retransmission timer values. This information is * read-only. The following structure is used to access this * information: */ struct sctp_paddrinfo { sctp_assoc_t spinfo_assoc_id; struct sockaddr_storage spinfo_address; __s32 spinfo_state; __u32 spinfo_cwnd; __u32 spinfo_srtt; __u32 spinfo_rto; __u32 spinfo_mtu; } __attribute__((packed, aligned(4))); /* Peer addresses's state. */ /* UNKNOWN: Peer address passed by the upper layer in sendmsg or connect[x] * calls. * UNCONFIRMED: Peer address received in INIT/INIT-ACK address parameters. * Not yet confirmed by a heartbeat and not available for data * transfers. * ACTIVE : Peer address confirmed, active and available for data transfers. * INACTIVE: Peer address inactive and not available for data transfers. */ enum sctp_spinfo_state { SCTP_INACTIVE, SCTP_PF, #define SCTP_POTENTIALLY_FAILED SCTP_PF SCTP_ACTIVE, SCTP_UNCONFIRMED, SCTP_UNKNOWN = 0xffff /* Value used for transport state unknown */ }; /* * 7.2.1 Association Status (SCTP_STATUS) * * Applications can retrieve current status information about an * association, including association state, peer receiver window size, * number of unacked data chunks, and number of data chunks pending * receipt. This information is read-only. The following structure is * used to access this information: */ struct sctp_status { sctp_assoc_t sstat_assoc_id; __s32 sstat_state; __u32 sstat_rwnd; __u16 sstat_unackdata; __u16 sstat_penddata; __u16 sstat_instrms; __u16 sstat_outstrms; __u32 sstat_fragmentation_point; struct sctp_paddrinfo sstat_primary; }; /* * 7.2.3. Get the list of chunks the peer requires to be authenticated * (SCTP_PEER_AUTH_CHUNKS) * * This option gets a list of chunks for a specified association that * the peer requires to be received authenticated only. */ struct sctp_authchunks { sctp_assoc_t gauth_assoc_id; __u32 gauth_number_of_chunks; uint8_t gauth_chunks[]; }; /* The broken spelling has been released already in lksctp-tools header, * so don't break anyone, now that it's fixed. */ #define guth_number_of_chunks gauth_number_of_chunks /* Association states. */ enum sctp_sstat_state { SCTP_EMPTY = 0, SCTP_CLOSED = 1, SCTP_COOKIE_WAIT = 2, SCTP_COOKIE_ECHOED = 3, SCTP_ESTABLISHED = 4, SCTP_SHUTDOWN_PENDING = 5, SCTP_SHUTDOWN_SENT = 6, SCTP_SHUTDOWN_RECEIVED = 7, SCTP_SHUTDOWN_ACK_SENT = 8, }; /* * 8.2.6. Get the Current Identifiers of Associations * (SCTP_GET_ASSOC_ID_LIST) * * This option gets the current list of SCTP association identifiers of * the SCTP associations handled by a one-to-many style socket. */ struct sctp_assoc_ids { __u32 gaids_number_of_ids; sctp_assoc_t gaids_assoc_id[]; }; /* * 8.3, 8.5 get all peer/local addresses in an association. * This parameter struct is used by SCTP_GET_PEER_ADDRS and * SCTP_GET_LOCAL_ADDRS socket options used internally to implement * sctp_getpaddrs() and sctp_getladdrs() API. */ struct sctp_getaddrs_old { sctp_assoc_t assoc_id; int addr_num; struct sockaddr *addrs; }; struct sctp_getaddrs { sctp_assoc_t assoc_id; /*input*/ __u32 addr_num; /*output*/ __u8 addrs[0]; /*output, variable size*/ }; /* A socket user request obtained via SCTP_GET_ASSOC_STATS that retrieves * association stats. All stats are counts except sas_maxrto and * sas_obs_rto_ipaddr. maxrto is the max observed rto + transport since * the last call. Will return 0 when RTO was not update since last call */ struct sctp_assoc_stats { sctp_assoc_t sas_assoc_id; /* Input */ /* Transport of observed max RTO */ struct sockaddr_storage sas_obs_rto_ipaddr; __u64 sas_maxrto; /* Maximum Observed RTO for period */ __u64 sas_isacks; /* SACKs received */ __u64 sas_osacks; /* SACKs sent */ __u64 sas_opackets; /* Packets sent */ __u64 sas_ipackets; /* Packets received */ __u64 sas_rtxchunks; /* Retransmitted Chunks */ __u64 sas_outofseqtsns;/* TSN received > next expected */ __u64 sas_idupchunks; /* Dups received (ordered+unordered) */ __u64 sas_gapcnt; /* Gap Acknowledgements Received */ __u64 sas_ouodchunks; /* Unordered data chunks sent */ __u64 sas_iuodchunks; /* Unordered data chunks received */ __u64 sas_oodchunks; /* Ordered data chunks sent */ __u64 sas_iodchunks; /* Ordered data chunks received */ __u64 sas_octrlchunks; /* Control chunks sent */ __u64 sas_ictrlchunks; /* Control chunks received */ }; /* * 8.1 sctp_bindx() * * The flags parameter is formed from the bitwise OR of zero or more of the * following currently defined flags: */ #define SCTP_BINDX_ADD_ADDR 0x01 #define SCTP_BINDX_REM_ADDR 0x02 /* This is the structure that is passed as an argument(optval) to * getsockopt(SCTP_SOCKOPT_PEELOFF). */ typedef struct { sctp_assoc_t associd; int sd; } sctp_peeloff_arg_t; typedef struct { sctp_peeloff_arg_t p_arg; unsigned flags; } sctp_peeloff_flags_arg_t; /* * Peer Address Thresholds socket option */ struct sctp_paddrthlds { sctp_assoc_t spt_assoc_id; struct sockaddr_storage spt_address; __u16 spt_pathmaxrxt; __u16 spt_pathpfthld; }; /* Use a new structure with spt_pathcpthld for back compatibility */ struct sctp_paddrthlds_v2 { sctp_assoc_t spt_assoc_id; struct sockaddr_storage spt_address; __u16 spt_pathmaxrxt; __u16 spt_pathpfthld; __u16 spt_pathcpthld; }; /* * Socket Option for Getting the Association/Stream-Specific PR-SCTP Status */ struct sctp_prstatus { sctp_assoc_t sprstat_assoc_id; __u16 sprstat_sid; __u16 sprstat_policy; __u64 sprstat_abandoned_unsent; __u64 sprstat_abandoned_sent; }; struct sctp_default_prinfo { sctp_assoc_t pr_assoc_id; __u32 pr_value; __u16 pr_policy; }; struct sctp_info { __u32 sctpi_tag; __u32 sctpi_state; __u32 sctpi_rwnd; __u16 sctpi_unackdata; __u16 sctpi_penddata; __u16 sctpi_instrms; __u16 sctpi_outstrms; __u32 sctpi_fragmentation_point; __u32 sctpi_inqueue; __u32 sctpi_outqueue; __u32 sctpi_overall_error; __u32 sctpi_max_burst; __u32 sctpi_maxseg; __u32 sctpi_peer_rwnd; __u32 sctpi_peer_tag; __u8 sctpi_peer_capable; __u8 sctpi_peer_sack; __u16 __reserved1; /* assoc status info */ __u64 sctpi_isacks; __u64 sctpi_osacks; __u64 sctpi_opackets; __u64 sctpi_ipackets; __u64 sctpi_rtxchunks; __u64 sctpi_outofseqtsns; __u64 sctpi_idupchunks; __u64 sctpi_gapcnt; __u64 sctpi_ouodchunks; __u64 sctpi_iuodchunks; __u64 sctpi_oodchunks; __u64 sctpi_iodchunks; __u64 sctpi_octrlchunks; __u64 sctpi_ictrlchunks; /* primary transport info */ struct sockaddr_storage sctpi_p_address; __s32 sctpi_p_state; __u32 sctpi_p_cwnd; __u32 sctpi_p_srtt; __u32 sctpi_p_rto; __u32 sctpi_p_hbinterval; __u32 sctpi_p_pathmaxrxt; __u32 sctpi_p_sackdelay; __u32 sctpi_p_sackfreq; __u32 sctpi_p_ssthresh; __u32 sctpi_p_partial_bytes_acked; __u32 sctpi_p_flight_size; __u16 sctpi_p_error; __u16 __reserved2; /* sctp sock info */ __u32 sctpi_s_autoclose; __u32 sctpi_s_adaptation_ind; __u32 sctpi_s_pd_point; __u8 sctpi_s_nodelay; __u8 sctpi_s_disable_fragments; __u8 sctpi_s_v4mapped; __u8 sctpi_s_frag_interleave; __u32 sctpi_s_type; __u32 __reserved3; }; struct sctp_reset_streams { sctp_assoc_t srs_assoc_id; uint16_t srs_flags; uint16_t srs_number_streams; /* 0 == ALL */ uint16_t srs_stream_list[]; /* list if srs_num_streams is not 0 */ }; struct sctp_add_streams { sctp_assoc_t sas_assoc_id; uint16_t sas_instrms; uint16_t sas_outstrms; }; struct sctp_event { sctp_assoc_t se_assoc_id; uint16_t se_type; uint8_t se_on; }; struct sctp_udpencaps { sctp_assoc_t sue_assoc_id; struct sockaddr_storage sue_address; uint16_t sue_port; }; /* SCTP Stream schedulers */ enum sctp_sched_type { SCTP_SS_FCFS, SCTP_SS_DEFAULT = SCTP_SS_FCFS, SCTP_SS_PRIO, SCTP_SS_RR, SCTP_SS_FC, SCTP_SS_WFQ, SCTP_SS_MAX = SCTP_SS_WFQ }; /* Probe Interval socket option */ struct sctp_probeinterval { sctp_assoc_t spi_assoc_id; struct sockaddr_storage spi_address; __u32 spi_interval; }; #endif /* _SCTP_H */
Save
cmd:
run