about summary refs log tree commit diff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* elf.h: add AT_* auxval macros for cache geometrySzabolcs Nagy2018-02-221-0/+8
| | | | | AT_L1I_*, AT_L1D_*, AT_L2_* and AT_L3_* were added in linux v4.11 for powerpc in commit 98a5f361b8625c6f4841d6ba013bbf0e80d08147.
* sys/prctl.h: add new PR_SVE_* macros from linux v4.15Szabolcs Nagy2018-02-221-0/+6
| | | | | | | PR_SVE_SET_VL and PR_SVE_GET_VL controls are new in linux commit 2d2123bc7c7f843aa9db87720de159a049839862 related PR_SVE_* macros were added in 7582e22038a266444eb87bc07c372592ad647439
* netinet/in.h: add new IPV6_FREEBIND from linux v4.15Szabolcs Nagy2018-02-221-0/+1
| | | | | new socekt option for AF_INET6 SOL_RAW sockets, added in linux commit 84e14fe353de7624872e582887712079ba0b2d56
* netinet/tcp.h: add TCP_* socket options from linux v4.15Szabolcs Nagy2018-02-221-0/+2
| | | | | TCP_FASTOPEN_KEY is new in 1fba70e5b6bed53496ba1f1f16127f5be01b5fb6 TCP_FASTOPEN_NO_COOKIE is new in 71c02379c762cb616c00fd5c4ed253fbf6bbe11b
* add MAP_SYNC and MAP_SHARED_VALIDATE from linux v4.15Szabolcs Nagy2018-02-221-0/+2
| | | | | | | | for synchronous page faults, new in linux commit 1c9725974074a047f6080eecc62c50a8e840d050 and b6fb293f2497a9841d94f6b57bd2bb2cd222da43 note that only targets that use asm-generic/mman.h have this new flag defined, so undef it on other targets (mips*, powerpc*).
* netinet/tcp.h: add tcp_diag_md5sig struct from linux v4.14Szabolcs Nagy2018-02-221-0/+8
| | | | | for querying tcp md5 signing keys. new in linux commit c03fa9bcacd9ac04595cc13f34f3445f0a5ecf13
* sys/{mman,shm}.h: add {MAP,SHM}_HUGE_ macros from linux uapiSzabolcs Nagy2018-02-222-0/+26
| | | | | | | | | | | | | *_HUGE_SHIFT, *_HUGE_2MB, *_HUGE_1GB are documented in the man page, so add all of the *_HUGE_* macros from linux uapi. if MAP_HUGETLB is set, top bits of the mmap flags encode the page size. see the linux commit aafd4562dfee81a40ba21b5ea3cf5e06664bc7f6 if SHM_HUGETLB is set, top bits of the shmget flags encode the page size. see the linux commit 4da243ac1cf6aeb30b7c555d56208982d66d6d33 *_HUGE_16GB is defined unsigned to avoid signed left shift ub.
* netinet/if_ether.h: add new ETH_P_ macros from linux v4.14Szabolcs Nagy2018-02-221-0/+4
| | | | | | | | new ethertypes in linux v4.14: ETH_P_ERSPAN new in 84e54fe0a5eaed696dee4019c396f8396f5a908b ETH_P_IFE new in 2804fd3af6ba5ae5737705b27146455eabe2e2f8 ETH_P_NSH new in 155e6f649757c902901e599c268f8b575ddac1f8 ETH_P_MAP new in 7373ae7e8f0bf2c0718422481da986db5058b005
* net/if_arp.h: add ARPHRD_RAWIP from linux v4.14Szabolcs Nagy2018-02-221-0/+1
| | | | new in linux commmit cdf4969c42a6c1a376dd03a9e846cf638d3cd4b1
* signal.h: add missing SIGTRAP si_codesSzabolcs Nagy2018-02-221-0/+2
| | | | | TRAP_BRANCH and TRAP_HWBKPT new in linux commit da654b74bda14c45a7d98c731bf3c1a43b6b74e2
* sys/mman.h: add MADV_WIPEONFORK from linux v4.14Szabolcs Nagy2018-02-221-0/+2
| | | | | allows zeroing anonymous private pages inherited by a child process. new in linux commit d2cd9ede6e193dd7d88b6d27399e96229a551b19
* sys/socket.h: add MSG_ZEROCOPY from linux v4.14Szabolcs Nagy2018-02-221-0/+2
| | | | | | | MSG_ZEROCOPY socket send flag avoids copy in the kernel new in linux commit 52267790ef52d7513879238ca9fac22c1733e0e3 SO_ZEROCOPY socket option enables MSG_ZEROCOPY if availale new in linux commit 76851d1212c11365362525e1e2c0a18c97478e6b
* sys/socket.h: add SOL_TLS from linux v4.13Szabolcs Nagy2018-02-221-0/+1
| | | | | socket option for kernel TLS support new in linux commit 3c4d7559159bfe1e3b94df3a657b2cda3a34e218
* sys/socket.h: add PF_SMC from linux v4.11Szabolcs Nagy2018-02-221-1/+3
| | | | | | add AF_SMC and PF_SMC for the IBM shared memory communication protocol. new in linux commit ac7138746e14137a451f8539614cdd349153e0c0 (linux socket.h is not in uapi so this update was missed earlier)
* add _DIRENT_HAVE_D_* macros to dirent.hRostislav Skudnov2018-01-121-0/+4
|
* add additional uapi guards for Linux kernel header filesHauke Mehrtens2018-01-093-0/+10
| | | | | | | | | | | | With Linux kernel 4.16 it will be possible to guard more parts of the Linux header files from a libc. Make use of this in musl to guard all the structures and other definitions from the Linux header files which are also defined by the header files provided by musl. This will make it possible to compile source files which include both the libc headers and the kernel userspace headers. This extends the definitions done in commit 04983f227238 ("make netinet/in.h suppress clashing definitions from kernel headers")
* fix endian errors in netinet/icmp6.h due to failure to include endian.hRich Felker2017-12-151-0/+1
|
* fix endian errors in arpa/nameser.h due to failure to include endian.hJo-Philipp Wich2017-12-141-0/+1
|
* adjust fopencookie structure tag for ABI-compatRich Felker2017-12-061-1/+1
| | | | | stdio types use the struct tag names from glibc libio to match C++ ABI.
* implement the fopencookie extension to stdioWilliam Pitcock2017-12-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | notes added by maintainer: this function is a GNU extension. it was chosen over the similar BSD function funopen because the latter depends on fpos_t being an arithmetic type as part of its public API, conflicting with our definition of fpos_t and with the intent that it be an opaque type. it was accepted for inclusion because, despite not being widely used, it is usually very difficult to extricate software using it from the dependency on it. calling pattern for the read and write callbacks is not likely to match glibc or other implementations, but should work with any reasonable callbacks. in particular the read function is never called without at least one byte being needed to satisfy its caller, so that spurious blocking is not introduced. contracts for what callbacks called from inside libc/stdio can do are always complicated, and at some point still need to be specified explicitly. at the very least, the callbacks must return or block indefinitely (they cannot perform nonlocal exits) and they should not make calls to stdio using their own FILE as an argument.
* add new tcp.h socket options from linux v4.13Szabolcs Nagy2017-11-051-2/+7
| | | | | TCP_ULP is new in linux commit 734942cc4ea6478eed125af258da1bdbb4afe578 TCP_MD5SIG_EXT is new in 8917a777be3ba566377be05117f71b93a5fd909d
* add new fcntl.h macros from linux v4.13Szabolcs Nagy2017-11-051-0/+12
| | | | | | | | for getting/setting write lifetime hints fcntl commands were added in linux commit c75b1d9421f80f4143e389d2d50ddfc8a28c8c35 added under _GNU_SOURCE || _BSD_SOURCE, since RWH_* life time hints are not in the POSIX reserved namespace.
* add SO_ getsockopt options from linux v4.13Szabolcs Nagy2017-11-051-0/+2
| | | | | SCM_TIMESTAMPING_PKTINFO is new in aad9c8c470f2a8321a99eb053630ce0e199558d6 SO_PEERGROUPS is new in 28b5ba2aa0f55d80adb2624564ed2b170c19519e
* add ARPHDR_VSOCKMON from linux v4.12Szabolcs Nagy2017-11-051-0/+1
| | | | new in linux commit 531b374834c891ae2abf800693074df35a7d1a36
* add new SO_ socket options from linux v4.12Szabolcs Nagy2017-11-051-0/+3
| | | | | | SO_MEMINFO added in linux commit a2d133b1d465016d0d97560b11f54ba0ace56d3e SO_INCOMING_NAPI_ID added in 6d4339028b350efbf87c61e6d9e113e5373545c9 SO_COOKIE added in 5daab9db7b65df87da26fd8cfa695fb9546a1ddb
* add TCP_NLA_* enums from linux v4.11Szabolcs Nagy2017-11-051-0/+2
| | | | | two new stats for SCM_TIMESTAMPING_OPT_STATS, added in linux commit 7e98102f489775d8c000884fca8a0d995ea688a9
* add TCP_FASTOPEN_CONNECT tcp socket option from linux v4.11Szabolcs Nagy2017-11-051-0/+1
| | | | new in linux commit 19f6d3f3c8422d65b5e3d2162e30ef07c6e21ea2
* add ETH_P_IBOE from linux v4.11Szabolcs Nagy2017-11-051-0/+1
| | | | new in linux commit 69ae543969abeba48e04dd93277684c8c0895f3b
* add TFD_TIMER_CANCEL_ON_SET that timerfd.h was missingSzabolcs Nagy2017-11-051-0/+1
| | | | | linux commit 575b1967e10a1f3038266244d2c7a3ca6b99fed8 moved timerfd apis to a new uapi header which showed musl was missing this flag.
* add ETH_MIN_MTU and ETH_MAX_MTU from linux v4.10Szabolcs Nagy2017-11-051-0/+2
| | | | | | min max mtu size definitions mostly for drivers. new in linux commits a52ad514fdf3b8a57ca4322c92d2d8d5c6182485 and d894be57ca92c8a8819ab544d550809e8731137b
* add IP_RECVFRAGSIZE and IPV6_RECVFRAGSIZE from linux v4.10Szabolcs Nagy2017-11-051-0/+2
| | | | added in linux commit 70ecc24841326396a827deb55c3fefac582a729d
* add SCM_TIMESTAMPING_OPT_STATS and related TCP_ enums from linux v4.10Szabolcs Nagy2017-11-052-0/+11
| | | | | | | for tcp timestamp control messages, new in linux commit 1c885808e45601b2b6f68b30ac1d999e10b6f606 and export time measurements via tcp_info, added in linux commit efd90174167530c67a54273fd5d8369c87f9bd32
* fix use of memset without declaration in sched.h cpu set macrosRich Felker2017-09-281-0/+1
| | | | patch by Jörg Krause.
* move IPPORT_RESERVED from netdb.h to netinet/in.hRich Felker2017-08-292-2/+2
| | | | | it's in the reserved namespace for the latter, where it seems it was historically defined, and some programs expect to find it there.
* add _NL_LOCALE_NAME extension to nl_langinfoRich Felker2017-07-311-0/+6
| | | | | | | | | | | | | | | | | since setlocale(cat, NULL) is required to return the setting for the global locale, there is no standard mechanism to obtain the name of the currently active thread-local locale set by uselocale. this makes it impossible for application/library software to load appropriate translations, etc. unless using the gettext implementation provided by libc, which has privileged access to libc internals. to fill this gap, glibc introduced the _NL_LOCALE_NAME macro which can be used with nl_langinfo to obtain the name. GNU gettext/gnulib code already use this functionality on glibc, and can easily be adapted to make use of it on non-glibc systems if it's available; for other systems they poke at locale implementation internals, which we want to avoid. this patch provides a compatible interface to the one glibc introduced.
* remove useless declarations in string.hAlexander Monakov2017-07-041-2/+0
| | | | | The two functions str{,n}casecmp_l are specified to be declared in <strings.h> which is already included from <string.h> under _GNU_SOURCE.
* add no-op POSIX_SPAWN_USEVFORK to spawn.hRich Felker2017-04-221-0/+1
| | | | | | the bit is reserved anyway for ABI-compat reasons; this documents it and makes it so we can have posix_spawnattr_setflags check for flag validity without hard-coding an anonymous bit value.
* implement new posix_spawn flag POSIX_SPAWN_SETSIDRich Felker2017-04-221-0/+1
| | | | | | | this functionality has been adopted for inclusion in the next issue of POSIX as the result of Austin Group issue #1044. based on patch by Daurnimator.
* update tcp_info struct to linux v4.9Szabolcs Nagy2016-12-291-0/+2
| | | | | export tcp data delivery rate in tcp_info struct. see linux commit eb8329e0a04db0061f714f033b4454326ba147f4
* add MS_NOREMOTELOCK mount flag from linux v4.9Szabolcs Nagy2016-12-291-0/+1
| | | | | for handling file locking on overlayfs. see linux commit c568d68341be7030f5647def68851e469b21ca11
* in public headers, don't assume pre-C99 compilers have __inline keywordQuentin Rameau2016-12-161-0/+2
|
* remove legacy i386 fallback stdarg implementation and frameworkRich Felker2016-12-151-4/+0
| | | | | | | | | this has been slated for removal for a long time. there is fundamentally no way to implement stdarg without compiler assistance; any attempt to do so has serious undefined behavior; its working depends not just (as a common misconception goes) on ABI, but also on assumptions about compiler code generation internal to a translation unit, which is not subject to external ABI constraints.
* generalize ELF hash table types not to assume 32-bit entriesRich Felker2016-11-111-2/+1
| | | | | | | | | | alpha and s390x gratuitously use 64-bit entries (wasting 2x space and cache utilization) despite the values always being 32-bit. based on patch by Bobby Bingham, with changes suggested by Alexander Monakov to use the public Elf_Symndx type from link.h (and make it properly variable by arch) rather than adding new internal infrastructure for handling the type.
* add limited pthread_setattr_default_np API to set stack size defaultsRich Felker2016-11-081-0/+2
| | | | | | | | | based on patch by Timo Teräs: While generally this is a bad API, it is the only existing API to affect c++ (std::thread) and c11 (thrd_create) thread stack size. This patch allows applications only to increate stack and guard page sizes.
* make netinet/in.h suppress clashing definitions from kernel headersRich Felker2016-11-071-0/+15
| | | | | | | | | | | | | | | the linux kernel uapi headers provide their own definitions of the structures from netinet/in.h, resulting in errors when a program includes both the standard libc header and one or more of the networking-related kernel headers that pull in the kernel definitions. as before, we do not attempt to support the case where kernel headers are included before the libc ones, since the kernel definitions may have subtly incorrect types, namespace violations, etc. however, we can easily support the inclusion of the kernel headers after the libc ones, since the kernel headers provide a public interface for suppressing their definitions. this patch adds the necessary macro definitions for such suppression.
* don't claim support for resolv.h APIs that aren't supportedRich Felker2016-11-071-1/+1
| | | | | | | | | the value 19991006 for __RES implies availability of res_ninit and related functions that take a resolver state argument; these are not supported since our resolver is stateless. instead claim support for just the older API by defining __RES to 19960801. based on patch by Dmitrij D. Czarkoff.
* remove redundant feature test macro checks in sys/time.hRich Felker2016-11-071-5/+0
| | | | | this header is XSI-shaded itself and thus does not need to limit specific content to _XOPEN_SOURCE.
* fix various header namespace issues under feature-test-macro controlRich Felker2016-10-206-7/+18
| | | | reported and changes suggested by Daniel Sabogal.
* remove parameter names from public headersRich Felker2016-10-206-9/+9
| | | | | inclusion of these names was unintentional and in most cases is a namespace violation. Daniel Sabogal tracked down and reported these.
* fix misspelling of a legacy macro name in sys/param.hRich Felker2016-10-201-1/+1
|