| Commit message (Expand) | Author | Age | Files | Lines |
| * | add PF_QIPCRTR, AF_QIPCRTR from linux v4.7 to sys/socket.h•••macros for qualcom ip router protocol, new in linux commit
bdabad3e363d825ddf9679dd431cca0b2c30f881
| Szabolcs Nagy | 2016-08-30 | 1 | -1/+3 |
| * | 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.
| Rich Felker | 2016-07-03 | 1 | -10/+5 |
| * | avoid padding gaps in struct sockaddr_storage•••compilers are free not to copy, or in some cases to clobber, padding
bytes in a structure. while it's an aliasing violation, and thus
undefined behavior, to copy or manipulate other sockaddr types using
sockaddr_storage, it seems likely that traditional code attempts to do
so, and the original intent of the sockaddr_storage structure was
probably to allow such usage.
in the interest of avoiding silent and potentially dangerous breakage,
ensure that there are no actual padding bytes in sockaddr_storage by
moving and adjusting the size of the __ss_padding member so that it
fits exactly.
this change also removes a silent assumption that the alignment of
long is equal to its size.
| Rich Felker | 2016-06-09 | 1 | -1/+1 |
| * | update sys/socket.h to linux v4.6•••kernel connection multiplexor macros AF_KCM, PF_KCM, SOL_KCM were
added in linux commit ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
MSG_BATCH sendmsg flag for performance optimization was added
in linux commit f092276d85b82504e8a07498f4e9e0c51f06745c
SOL_* macros are now synced with linux socket.h which is not a uapi
header and glibc did not have the macros either, but that has changed
http://sourceware.org/ml/libc-alpha/2016-05/msg00322.html
| Szabolcs Nagy | 2016-06-09 | 1 | -1/+19 |
| * | add SO_CNX_ADVICE to sys/socket.h, new in linux v4.6•••new socket option so application can give advice about routing
path quality of connected udp sockets, added in linux commit
a87cb3e48ee86d29868d3f59cfb9ce1a8fa63314
| Szabolcs Nagy | 2016-06-09 | 1 | -0/+1 |
| * | fix undefined pointer arithmetic in CMSG_NXTHDR macro•••previously, the only way the stopping condition could be met with
correct lengths in the headers invoked undefined behavior, adding
sizeof(struct cmsghdr) beyond the end of the cmsg buffer.
instead, compute and compare sizes rather than pointers.
| Rich Felker | 2016-05-22 | 1 | -3/+3 |
| * | add SO_ATTACH_REUSEPORT_[CE]BPF socket options from linux v4.5•••new socket options for setting classic or extended BPF program
for sockets in a SO_REUSEPORT group. added in linux commit
538950a1b7527a0a52ccd9337e3fcd304f027f13
| Szabolcs Nagy | 2016-03-19 | 1 | -1/+2 |
| * | add AF_MPLS (PF_MPLS) address family to socket.h•••new in linux 4.0 commit 0189197f441602acdca3f97750d392a895b778fd.
| Szabolcs Nagy | 2016-01-24 | 1 | -0/+2 |
| * | add MSG_FASTOPEN sendmsg/sendto flag to socket.h•••This was new in linux 3.5 in commit cf60af03ca4e71134206809ea892e49b92a88896,
needed for tcp fastopen feature (sending data in TCP SYN packet).
| Szabolcs Nagy | 2016-01-24 | 1 | -0/+1 |
| * | socket.h: fix SO_* for mips•••Signed-off-by: Roman Yeryomin <roman@ubnt.com>
| Roman Yeryomin | 2015-07-21 | 1 | -3/+3 |
| * | add new socket options SO_INCOMING_CPU, SO_ATTACH_BPF, SO_DETACH_BPF•••these socket options are new in linux v3.19, introduced in commit
2c8c56e15df3d4c2af3d656e44feb18789f75837 and commit
89aa075832b0da4402acebd698d0411dcc82d03e
with SO_INCOMING_CPU the cpu can be queried on which a socket is
managed inside the kernel and optimize polling of large number of
sockets accordingly.
SO_ATTACH_BPF lets eBPF programs (created by the bpf syscall) to
be attached to sockets.
| Szabolcs Nagy | 2015-02-09 | 1 | -0/+4 |
| * | implement sendmmsg and recvmmsg•••these are not pure syscall wrappers because they have to work around
kernel API bugs on 64-bit archs. the workarounds could probably be
made somewhat more efficient, but at the cost of more complexity. this
may be revisited later.
| Rich Felker | 2014-06-19 | 1 | -0/+11 |
| * | add SO_BPF_EXTENSIONS socket option•••this was introduced to query BPF extension support with getsockopt
in linux 3.14, commit ea02f9411d9faa3553ed09ce0ec9f00ceae9885e
| Szabolcs Nagy | 2014-05-30 | 1 | -0/+1 |
| * | sys/socket.h: add the SO_MAX_PACING_RATE SOL_SOCKET option•••introduced in linux v3.13, 62748f32d501f5d3712a7c372bbb92abc7c62bc7
| Szabolcs Nagy | 2014-02-25 | 1 | -0/+1 |
| * | fix remaining known namespace violations for netinet/in.h•••the imr_, imsf_, ip6_, ip6m_, ipi_, ipi6_, SCM_, and SOL_ prefixes are
not in the reserved namespace for this header. thus the constants and
structures using them need to be protected under appropriate feature
test macros.
this also affects some headers which are permitted to include
netinet/in.h, particularly netdb.h and arpa/inet.h.
the SOL_ macros are moved to sys/socket.h where they are in the
reserved namespace (SO*). they are still accessible via netinet/in.h
since it includes sys/socket.h implicitly (which is permitted).
the SCM_SRCRT macro is simply removed, since the definition used for
it, IPV6_RXSRCRT is not defined anywhere. it could be re-added, this
time in sys/socket.h, if the appropriate value can be determined;
however, given that the erroneous definition was not caught, it is
unlikely that any software actually attempts to use SCM_SRCRT.
| Rich Felker | 2014-01-08 | 1 | -0/+4 |
| * | move struct ucred under _GNU_SOURCE in sys/socket.h for clean posix namespace | Szabolcs Nagy | 2013-12-04 | 1 | -0/+2 |
| * | fix SHUT_WR typo in sys/socket.h and duplicate definitions of SHUT_* | Szabolcs Nagy | 2013-12-04 | 1 | -5/+1 |
| * | fix typo in socket.h (wrong macro name) | Szabolcs Nagy | 2013-10-18 | 1 | -1/+1 |
| * | sys/socket.h: add new SO_BUSY_POLL socket option•••low latency busy poll sockets are new in linux v3.11
| Szabolcs Nagy | 2013-09-15 | 1 | -0/+1 |
| * | add protocol families PF_IB and PF_VSOCK to socket.h•••linux commit 8d36eb01da5d371feffa280e501377b5c450f5a5 (2013-05-29)
added PF_IB for InfiniBand
linux commit d021c344051af91f42c5ba9fdedc176740cbd238 (2013-02-06)
added PF_VSOCK for VMware sockets
| Szabolcs Nagy | 2013-07-25 | 1 | -1/+5 |
| * | add SO_SELECT_ERR_QUEUE to socket.h•••introduced in linux-v3.10 commit 7d4c04fc170087119727119074e72445f2bb192b
| Szabolcs Nagy | 2013-07-24 | 1 | -0/+1 |
| * | add new socket options to sys/socket.h following linux | Szabolcs Nagy | 2013-04-01 | 1 | -2/+17 |
| * | fix some obscure header type size/alignment issues | Rich Felker | 2013-03-04 | 1 | -4/+2 |
| * | add missing protocol families to sys/socket.h•••missing protocol families based on current linux headers:
PF_RDS, PF_LLC, PF_CAN, PF_TIPC, PF_NFC
| Szabolcs Nagy | 2013-01-12 | 1 | -1/+11 |
| * | socket.h: add SO_(SND/RCV)BUFFORCE to generic block | rofl0r | 2012-12-19 | 1 | -0/+2 |
| * | disable SO_REUSEPORT in sys/socket.h•••although a number is reserved for it, this option is not implemented
on Linux and does not work. defining it causes some applications to
use it, and subsequently break due to its failure.
| Rich Felker | 2012-11-15 | 1 | -1/+1 |
| * | fix numerous mips abi constant definition mismatches | Rich Felker | 2012-11-05 | 1 | -0/+7 |
| * | always expose accept4•••it will be in the next version of POSIX
| Rich Felker | 2012-09-29 | 1 | -4/+1 |
| * | add acct, accept4, setns, and dup3 syscalls (linux extensions)•••based on patch by Justin Cormack
| Rich Felker | 2012-09-08 | 1 | -0/+4 |
| * | remove all remaining redundant __restrict/__inline/_Noreturn defs | Rich Felker | 2012-09-08 | 1 | -5/+1 |
| * | use restrict everywhere it's required by c99 and/or posix 2008•••to deal with the fact that the public headers may be used with pre-c99
compilers, __restrict is used in place of restrict, and defined
appropriately for any supported compiler. we also avoid the form
[restrict] since older versions of gcc rejected it due to a bug in the
original c99 standard, and instead use the form *restrict.
| Rich Felker | 2012-09-06 | 1 | -5/+11 |
| * | fix socket.h on mips•••why does mips have to be gratuitously incompatible in every possible
imaginable way?
| Rich Felker | 2012-08-05 | 1 | -0/+3 |
| * | workaround another sendmsg kernel bug on 64-bit machines•••the kernel wrongly expects the cmsg length field to be size_t instead
of socklen_t. in order to work around the issue, we have to impose a
length limit and copy to a local buffer. the length limit should be
more than sufficient for any real-world use; these headers are only
used for passing file descriptors and permissions between processes
over unix sockets.
| Rich Felker | 2012-07-12 | 1 | -7/+0 |
| * | cleanup more bits cruft (sysmacros and socket) | Rich Felker | 2011-09-18 | 1 | -0/+196 |
| * | fix some struct padding to match LSB/glibc ABI where it may be helpful | Rich Felker | 2011-06-16 | 1 | -2/+4 |
| * | extensive header cleanup for standards conformance & correctness•••thanks to Peter Mazinger (psm) for pointing many of these issues out
and submitting a patch on which this commit is loosely based
| Rich Felker | 2011-02-14 | 1 | -0/+1 |
| * | initial check-in, version 0.5.0 | Rich Felker | 2011-02-12 | 1 | -0/+64 |