Update netinet/tcp.h from Linux 4.18.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 21 Aug 2018 15:57:22 +0000 (15:57 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 21 Aug 2018 15:57:22 +0000 (15:57 +0000)
commit5cd7dbdea13eb302620491ef44837b17e9d39c5a
tree03f85a7def3a9d2bf8d6f70b77352671684bfca4
parentaa42b3dbcb0326badf377fec2c7fb2f34fdabecd
Update netinet/tcp.h from Linux 4.18.

This patch adds constants from netinet/tcp.h in Linux 4.18, and an
associated struct tcp_zerocopy_receive, to sysdeps/gnu/netinet/tcp.h.
The new TCP_REPAIR_* constants seemed sufficiently related to those
already present to include them.

Note that this patch does not include additions to struct tcp_info;
there are many other elements in this structure in the Linux kernel
that are not included in the glibc version (which was last extended in
2007, it seems).  Such additions to the end of the structure may be OK
with the expected way it is used (size passed explicitly to the kernel
with getsockopt), but in principle any change to the size of a type
provided by glibc is an ABI change for external applications /
libraries using that type in their ABIs, and has the associated risks
of such a change.

Tested for x86_64.

* sysdeps/gnu/netinet/tcp.h (TCP_ZEROCOPY_RECEIVE): New macro.
(TCP_INQ): Likewise.
(TCP_CM_INQ): Likewise.
(TCP_REPAIR_ON): Likewise.
(TCP_REPAIR_OFF): Likewise.
(TCP_REPAIR_OFF_NO_WP): Likewise.
(struct tcp_zerocopy_receive): New type.
ChangeLog
sysdeps/gnu/netinet/tcp.h