summaryrefslogtreecommitdiff
path: root/include/sys/socket.h
AgeCommit message (Collapse)AuthorLines
2015-07-21socket.h: fix SO_* for mipsRoman Yeryomin-3/+3
Signed-off-by: Roman Yeryomin <roman@ubnt.com>
2015-02-09add new socket options SO_INCOMING_CPU, SO_ATTACH_BPF, SO_DETACH_BPFSzabolcs Nagy-0/+4
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.
2014-06-19implement sendmmsg and recvmmsgRich Felker-0/+11
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.
2014-05-30add SO_BPF_EXTENSIONS socket optionSzabolcs Nagy-0/+1
this was introduced to query BPF extension support with getsockopt in linux 3.14, commit ea02f9411d9faa3553ed09ce0ec9f00ceae9885e
2014-02-25sys/socket.h: add the SO_MAX_PACING_RATE SOL_SOCKET optionSzabolcs Nagy-0/+1
introduced in linux v3.13, 62748f32d501f5d3712a7c372bbb92abc7c62bc7
2014-01-08fix remaining known namespace violations for netinet/in.hRich Felker-0/+4
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.
2013-12-04move struct ucred under _GNU_SOURCE in sys/socket.h for clean posix namespaceSzabolcs Nagy-0/+2
2013-12-04fix SHUT_WR typo in sys/socket.h and duplicate definitions of SHUT_*Szabolcs Nagy-5/+1
2013-10-18fix typo in socket.h (wrong macro name)Szabolcs Nagy-1/+1
2013-09-15sys/socket.h: add new SO_BUSY_POLL socket optionSzabolcs Nagy-0/+1
low latency busy poll sockets are new in linux v3.11
2013-07-25add protocol families PF_IB and PF_VSOCK to socket.hSzabolcs Nagy-1/+5
linux commit 8d36eb01da5d371feffa280e501377b5c450f5a5 (2013-05-29) added PF_IB for InfiniBand linux commit d021c344051af91f42c5ba9fdedc176740cbd238 (2013-02-06) added PF_VSOCK for VMware sockets
2013-07-24add SO_SELECT_ERR_QUEUE to socket.hSzabolcs Nagy-0/+1
introduced in linux-v3.10 commit 7d4c04fc170087119727119074e72445f2bb192b
2013-04-01add new socket options to sys/socket.h following linuxSzabolcs Nagy-2/+17
2013-03-04fix some obscure header type size/alignment issuesRich Felker-4/+2
2013-01-12add missing protocol families to sys/socket.hSzabolcs Nagy-1/+11
missing protocol families based on current linux headers: PF_RDS, PF_LLC, PF_CAN, PF_TIPC, PF_NFC
2012-12-19socket.h: add SO_(SND/RCV)BUFFORCE to generic blockrofl0r-0/+2
2012-11-15disable SO_REUSEPORT in sys/socket.hRich Felker-1/+1
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.
2012-11-05fix numerous mips abi constant definition mismatchesRich Felker-0/+7
2012-09-29always expose accept4Rich Felker-4/+1
it will be in the next version of POSIX
2012-09-08add acct, accept4, setns, and dup3 syscalls (linux extensions)Rich Felker-0/+4
based on patch by Justin Cormack
2012-09-08remove all remaining redundant __restrict/__inline/_Noreturn defsRich Felker-5/+1
2012-09-06use restrict everywhere it's required by c99 and/or posix 2008Rich Felker-5/+11
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.
2012-08-05fix socket.h on mipsRich Felker-0/+3
why does mips have to be gratuitously incompatible in every possible imaginable way?
2012-07-12workaround another sendmsg kernel bug on 64-bit machinesRich Felker-7/+0
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.
2011-09-18cleanup more bits cruft (sysmacros and socket)Rich Felker-0/+196
2011-06-16fix some struct padding to match LSB/glibc ABI where it may be helpfulRich Felker-2/+4
2011-02-14extensive header cleanup for standards conformance & correctnessRich Felker-0/+1
thanks to Peter Mazinger (psm) for pointing many of these issues out and submitting a patch on which this commit is loosely based
2011-02-12initial check-in, version 0.5.0v0.5.0Rich Felker-0/+64