History log of /seL4-camkes-master/projects/musllibc/include/netinet/tcp.h
Revision Date Author Comments
# 60c46db8 25-Dec-2016 Szabolcs Nagy <nsz@port70.net>

update tcp_info struct to linux v4.9

export tcp data delivery rate in tcp_info struct.
see linux commit eb8329e0a04db0061f714f033b4454326ba147f4


# cc7c95e9 09-Oct-2016 Szabolcs Nagy <nsz@port70.net>

add TCP_REPAIR_WINDOW to netinet/tcp.h from linux v4.8

another kernel internal state exposure for checkpoint-restore.
see linux commit b1ed4c4fa9a5ccf325184fd90edc50978ef6e33a


# befa5866 03-Jul-2016 Rich Felker <dalias@aerifal.cx>

make brace placement in public header struct definitions consistent

placing the opening brace on the same line as the struct keyword/tag
is the style I prefer and seems to be the prevailing practice in more
recent additions.

these changes were generated by the command:

find include/ arch/*/bits -name '*.h' \
-exec sed -i '/^struct [^;{]*$/{N;s/\n/ /;}' {} +

and subsequently checked by hand to ensure that the regex did not pick
up any false positives.


# 34987775 26-May-2016 Szabolcs Nagy <nsz@port70.net>

add new tcp_info fields from linux v4.6

new fields and associated linux commit:
tcpi_notsent_bytes, tcpi_min_rtt cd9b266095f422267bddbec88f9098b48ea548fc
tcpi_data_segs_in, tcpi_data_segs_out a44d6eacdaf56f74fad699af7f4925a5f5ac0e7f


# 4da2d965 08-Sep-2015 Szabolcs Nagy <nsz@port70.net>

update netinet/tcp.h for linux v4.2

TCP_CC_INFO is a new socket option to get congestion control info without
netlink (union tcp_cc_info is in linux/inet_diag.h kernel header).
linux commit 6e9250f59ef9efb932c84850cd221f22c2a03c4a

TCP_SAVE_SYN, TCP_SAVED_SYN socket options are for saving and getting the
SYN headers of passive connections in a server application.
linux commit cd8ae85299d54155702a56811b2e035e63064d3d

Add new tcpi_* fields to struct tcp_info implementing RFC4898 counters.
linux commit 2efd055c53c06b7e89c167c98069bab9afce7e59


# 53f41fb5 30-Dec-2015 Kylie McClain <somasis@exherbo.org>

netinet/tcp: Add TCPOPT, TCPOLEN constants

Programs such as iptables depend on these constants, which can also
be found defined in other libcs.

Since only TCP_* is reserved as part of tcp.h's namespace, we hide
them behind _BSD_SOURCE (and therefore _DEFAULT_SOURCE) to expose
them by default, but keep it standard conforming.


# 6119fa32 20-Jul-2014 Szabolcs Nagy <nsz@port70.net>

add pacing rate information to the tcp_info struct in tcp.h

used by monitoring applications such as ss from iproute2
introduced in linux 3.15 commit 977cb0ecf82eb6d15562573c31edebf90db35163


# 685b1cd4 05-Feb-2014 Rich Felker <dalias@aerifal.cx>

fix use of legacy u_intN_t types in netinet/tcp.h

policy is to avoid using these types except where they are needed for
namespace conformance. C99-style stdint.h types should be used
instead.


# fdaaa68d 05-Feb-2014 Rich Felker <dalias@aerifal.cx>

add support for BSD struct tcphdr in netinet/tcp.h

there are two versions of this structure: the BSD version and the GNU
version. previously only the GNU version was supported. the only way
to support both simultaneously is with an anonymous union, which was a
nonstandard extension prior to C11, so some effort is made to avoid
breakage with compilers which do not support anonymous unions.

this commit is based on a patch by Timo Teräs, but with some changes.
in particular, the GNU version of the structure is not exposed unless
_GNU_SOURCE is defined; this both avoids namespace pollution and
dependency on anonymous unions in the default feature profile.


# e2b4525e 18-Dec-2013 Timo Teräs <timo.teras@iki.fi>

add TCP_INFO and TCP_MD5SIG socket option related structures


# b0e9d577 23-Nov-2013 Szabolcs Nagy <nsz@port70.net>

add TCP_NOTSENT_LOWAT tcp socket option, new in linux v3.12


# 4b2c8fee 13-Oct-2013 Timo Teräs <timo.teras@iki.fi>

add linux tcp state enums


# da19f886 30-Aug-2013 Rich Felker <dalias@aerifal.cx>

only expose struct tcphdr under _GNU_SOURCE

the BSD and GNU versions of this structure differ, so exposing it in
the default _BSD_SOURCE profile is possibly problematic. both versions
could be simultaneously supported with anonymous unions if needed in
the future, but for now, just omitting it except under _GNU_SOURCE
should be safe.


# 09b2995b 30-Aug-2013 Rich Felker <dalias@aerifal.cx>

add struct tcphdr in netinet/tcp.h


# b5e409df 24-Jul-2013 Szabolcs Nagy <nsz@port70.net>

remove TCP_COOKIE_TRANSACTIONS from tcp.h
removed in linux-v3.10 in commit 1a2c6181c4a1922021b4d7df373bba612c3e5f04


# 2e762105 23-Mar-2013 Szabolcs Nagy <nsz@port70.net>

add new linux tcp socket option flags to netinet/tcp.h


# 725c5552 30-Jan-2013 Rich Felker <dalias@aerifal.cx>

SOL_TCP is nonstandard and not in the reserved namespace

alternatively, we could define it in sys/socket.h since SO* is
reserved there, and tcp.h includes sys/socket.h in extensions mode.

note that SOL_TCP is simply wrong and it's only here for compatibility
with broken applications. the correct argument to pass for setting TCP
socket options is IPPROTO_TCP, which of course has the same value as
SOL_TCP but works everywhere.


# 3d3903fa 06-Dec-2012 rofl0r <retnyg@gmx.net>

tcp.h: add SOL_TCP, analoguous to udp.h


# 3cd084bb 07-Sep-2012 Rich Felker <dalias@aerifal.cx>

TCP_* is in the reserved namespace for tcp.h; make use of that


# c1a9658b 07-Sep-2012 Rich Felker <dalias@aerifal.cx>

default features: make musl usable without feature test macros

the old behavior of exposing nothing except plain ISO C can be
obtained by defining __STRICT_ANSI__ or using a compiler option (such
as -std=c99) that predefines it. the new default featureset is POSIX
with XSI plus _BSD_SOURCE. any explicit feature test macros will
inhibit the default.

installation docs have also been updated to reflect this change.


# 419ae6d5 22-May-2012 Rich Felker <dalias@aerifal.cx>

support _BSD_SOURCE feature test macro

patch by Isaac Dunham. matched closely (maybe not exact) to glibc's
idea of what _BSD_SOURCE should make visible.


# ca8373df 18-Sep-2011 Rich Felker <dalias@aerifal.cx>

more bits junk (tcp.h)


# 0b44a031 11-Feb-2011 Rich Felker <dalias@aerifal.cx>

initial check-in, version 0.5.0