Commit Graph

320 Commits

Author SHA1 Message Date
Rich Felker
4dbd94112f optimize signbit macro 2012-03-30 23:41:43 -04:00
Rich Felker
93a18a15e4 make math.h more c++-friendly 2012-03-30 23:33:00 -04:00
Rich Felker
494ba80e9a simplify creal and cimag macros 2012-03-22 20:00:58 -04:00
Rich Felker
13e400b355 add creal/cimag macros in complex.h (and use them in the functions defs) 2012-03-22 15:54:55 -04:00
Rich Felker
132f0a0083 tgmath.h: suppress any existing macro definitions before defining macros
this is necessary so that we can freely add macro versions of some of
the math/complex functions without worrying about breaking tgmath.
2012-03-22 15:36:56 -04:00
Rich Felker
47db8903f6 fix DECIMAL_DIG definitions
DECIMAL_DIG is not the same as LDBL_DIG

type_DIG is the maximimum number of decimal digits that can survive a
round trip from decimal to type and back to decimal.

DECIMAL_DIG is the minimum number of decimal digits required in order
for any floating point type to survive the round trip to decimal and
back, and it is generally larger than LDBL_DIG. since the exact
formula is non-trivial, and defining it larger than necessary may be
legal but wasteful, just define the right value in bits/float.h.
2012-03-21 12:42:48 -04:00
Rich Felker
25501c1079 initial, very primitive strfmon 2012-03-21 00:47:37 -04:00
Rich Felker
80949ccdc6 limits.h: support gcc's -funsigned-char
some software apparently uses this and breaks with musl due to
mismatching definitions...
2012-03-20 21:10:06 -04:00
Rich Felker
8e092217dd move nonstandard gamma() etc. to _GNU_SOURCE only
it's not even provided in the library at the moment, but could easily
be provided with weak aliases if desired.
2012-03-17 21:48:48 -04:00
Rich Felker
65db6bf5ea c++ seems to want some casts in the float representation-access macros 2012-03-17 21:40:10 -04:00
nsz
40305f74bd in math.h make lgamma_r and non-double bessel _GNU_SOURCE only
long double and float bessel functions are no longer xsi extensions
2012-03-15 09:29:53 +01:00
nsz
0144b45b71 efficient sincos based on sin and cos 2012-03-15 08:17:28 +01:00
Rich Felker
b69f695ace first commit of the new libm!
thanks to the hard work of Szabolcs Nagy (nsz), identifying the best
(from correctness and license standpoint) implementations from freebsd
and openbsd and cleaning them up! musl should now fully support c99
float and long double math functions, and has near-complete complex
math support. tgmath should also work (fully on gcc-compatible
compilers, and mostly on any c99 compiler).

based largely on commit 0376d44a890fea261506f1fc63833e7a686dca19 from
nsz's libm git repo, with some additions (dummy versions of a few
missing long double complex functions, etc.) by me.

various cleanups still need to be made, including re-adding (if
they're correct) some asm functions that were dropped.
2012-03-13 01:17:53 -04:00
Rich Felker
405ce58dcf fix nan/infinity macros in math.h, etc.
the previous version not only failed to work in c++, but also failed
to produce constant expressions, making the macros useless as
initializers for objects of static storage duration.

gcc 3.3 and later have builtins for these, which sadly seem to be the
most "portable" solution. the alternative definitions produce
exceptions (for NAN) and compiler warnings (for INFINITY) on newer
versions of gcc.
2012-03-02 22:35:37 -05:00
Rich Felker
9fcecd7b34 typo in math.h c version check 2012-03-02 11:38:39 -05:00
Rich Felker
db3e78cee5 make math.h compatibe with c89 2012-03-02 00:36:26 -05:00
Rich Felker
e0614f7cd4 add all missing wchar functions except floating point parsers
these are mostly untested and adapted directly from corresponding byte
string functions and similar.
2012-03-01 23:24:45 -05:00
Rich Felker
051175d4fe add memory.h, bogus legacy alias for string.h 2012-03-01 01:34:58 -05:00
Rich Felker
d36751943a use c++-friendly initializers for pthread initializer definitions
these will also avoid obnoxious warnings with gcc -Wbraces.
2012-02-29 22:55:08 -05:00
Rich Felker
4ce6766a32 add <syscall.h> as an alias for <sys/syscall.h>
apparently some broken stuff (libstdc++) needs this.
2012-02-29 22:36:06 -05:00
Rich Felker
06aec8d715 replace prototype for basename in string.h with non-prototype declaration
GNU programs may expect the GNU version of basename, which has a
different prototype (argument is const-qualified) and prototype it
themselves too. of course if they're expecting the GNU behavior for
the function, they'll still run into problems, but at least this
eliminates some compile-time failures.
2012-02-24 23:23:47 -05:00
Rich Felker
1611ab0d9b add get_current_dir_name function 2012-02-17 23:10:00 -05:00
Rich Felker
414a4cdebc add float_t and double_t to math.h 2012-02-15 21:47:55 -05:00
Rich Felker
afc35d5efd replace bad cancellation cleanup abi with a sane one
the old abi was intended to duplicate glibc's abi at the expense of
being ugly and slow, but it turns out glib was not even using that abi
except on non-gcc-compatible compilers (which it doesn't even support)
and was instead using an exceptions-in-c/unwind-based approach whose
abi we could not duplicate anyway without nasty dwarf2/unwind
integration.

the new abi is copied from a very old glibc abi, which seems to still
be supported/present in current glibc. it avoids all unwinding,
whether by sjlj or exceptions, and merely maintains a linked list of
cleanup functions to be called from the context of pthread_exit. i've
made some care to ensure that longjmp out of a cleanup function should
work, even though it is not required to.

this change breaks abi compatibility with programs which were using
pthread cancellation, which is unfortunate, but that's why i'm making
the change now rather than later. considering that most pthread
features have not been usable until recently anyway, i don't see it as
a major issue at this point.
2012-02-09 02:33:08 -05:00
Rich Felker
570edb19d1 fix typo in inotify.h 2012-02-07 22:48:58 -05:00
Rich Felker
1ba28b90d6 declare basename in string.h when _GNU_SOURCE is defined
note that it still will have the standards-conformant behavior, not
the GNU behavior. but at least this prevents broken code from ending
up with truncated pointers due to implicit declarations...
2012-02-07 13:10:30 -05:00
Rich Felker
a591e0383a revert hacks for types of stdint.h integer constant macros
per 7.18.4: Each invocation of one of these macros shall expand to an
integer constant expression suitable for use in #if preprocessing
directives. The type of the expression shall have the same type as
would an expression of the corresponding type converted according to
the integer promotions. The value of the expression shall be that of
the argument.

the key phrase is "converted according to the integer promotions".
thus there is no intent or allowance that the expression have
smaller-than-int types.
2012-02-07 12:08:27 -05:00
Rich Felker
36bf56940a more locale_t interfaces (string stuff) and header updates
this should be everything except for some functions where the non-_l
version isn't even implemented yet (mainly some non-ISO-C wcs*
functions).
2012-02-06 21:51:02 -05:00
Rich Felker
c09b6f8ab6 fix some omissions and mistakes in locale_t interface definitions 2012-02-06 21:33:40 -05:00
Rich Felker
e5a7f14c81 add more of the locale_t interfaces, all dummied out to ignore the locale 2012-02-06 21:29:31 -05:00
Rich Felker
f4ad36c4bf add deprecated (removed from posix) [efg]cvt() functions
these have not been heavily tested, but they should work as described
in the old standards. probably broken for non-finite values...
2012-02-06 01:14:23 -05:00
Rich Felker
147f355cb6 apparently gnu caddr_t is supposed to be char *, not unsigned long
this type should never be used anyway, but some old junk uses it..
2012-02-01 14:12:19 -05:00
Rich Felker
96e0aca4d5 fix utmp.h mess, try 2 2012-02-01 14:10:38 -05:00
Rich Felker
108fdd3318 fix previous utmp.h junk commit 2012-01-31 17:10:02 -05:00
Rich Felker
fa3bbbd453 add some missing junk in utmp.h 2012-01-31 14:39:17 -05:00
Rich Felker
5e9314ff03 add fgetpwent (nonstandard function)
based on patch by Jeremy Huntwork
2012-01-29 11:54:18 -05:00
Rich Felker
4619901ec4 add linux setfs[ug]id syscall wrappers
patch by Jeremy Huntwork
2012-01-28 21:09:50 -05:00
Rich Felker
c3db56c4cb remove useless "extern" keywords in headers 2012-01-26 10:53:37 -05:00
Rich Felker
8eb9a3afba fix typo in FPE_FLTUND definition, signal.h 2012-01-25 15:30:42 -05:00
Rich Felker
6a193804a8 add MIN/MAX macros to sys/param.h
this is a nonstandard junk header anyway, so just do what apps expect..
2012-01-24 22:51:27 -05:00
Rich Felker
477e72ac4a add legacy futimes and lutimes functions
based on patch by sh4rm4. these functions are deprecated; futimens and
utimensat should be used instead in new programs.
2012-01-24 19:50:44 -05:00
Rich Felker
26f38328d6 add prlimit syscall wrapper 2012-01-20 22:10:47 -05:00
Rich Felker
4e3df7be8f fix __cplusplus extern "C" closing brace in pty.h (typo?) 2011-11-10 21:01:24 -05:00
Rich Felker
3ed8c9f2df fix all missing instances of __cplusplus checks/extern "C" in headers
patch by Arvid Picciani (aep)
2011-11-10 20:40:06 -05:00
Rich Felker
42976cee2d add some missing GNU FNM_* extensions to the header
note that none of these are implemented, and programs depending on
them may break... patch by sh4rm4
2011-10-17 12:24:23 -04:00
Rich Felker
03860303c2 fix some details in ugly stuff that doesn't belong in libc
patches by sh4rm4, presumably needed to make gdb or some similar junk
happy...
2011-10-17 12:23:04 -04:00
Rich Felker
73f5ff4e86 make [U]INTn_C() macros have the right type...
...and still be valid in #if directives.
2011-10-04 11:50:35 -04:00
Rich Felker
f0a8d60d32 stupid typo (caused by rather ugly spelling in POSIX..) in aio 2011-09-28 11:36:11 -04:00
Rich Felker
7e14ed1360 fix ctype macros to cast argument to (unsigned) first
issue reported by nsz, but it's actually not just pedantic. the
functions can take input of any arithmetic type, including floating
point, and the behavior needs to be as if the conversion implicit in
the function call took place.
2011-09-26 18:56:56 -04:00
Rich Felker
fd142e5ec4 cleanup various minor issues reported by nsz
the changes to syscall_ret are mostly no-ops in the generated code,
just cleanup of type issues and removal of some implementation-defined
behavior. the one exception is the change in the comparison value,
which is fixed so that 0xf...f000 (which in principle could be a valid
return value for mmap, although probably never in reality) is not
treated as an error return.
2011-09-26 00:59:28 -04:00
Rich Felker
c41a76f58c FD_ISSET must return an int. this is the easiest way.
casting to int would not be correct because high bits could be lost.
mapping the high bits down onto low bits would be costlier in the
common case where the result is just used in a conditional. changing
the type of the bit array elements to int would permute the order of
the bit array on 64-bit big endian systems, so that's not an option
either.
2011-09-23 22:24:33 -04:00
Rich Felker
1587224ed6 sys/user.h may need stdint.h 2011-09-23 14:24:57 -04:00
Rich Felker
81a5577a86 fix missing SIG_DFL, SIG_IGN, SIG_ERR without posix in signal.h 2011-09-21 22:25:31 -04:00
Rich Felker
319df20bc9 gnu search.h has struct qelem... 2011-09-21 21:01:56 -04:00
Rich Felker
fd9e01e92a fix some header typos 2011-09-20 20:02:48 -04:00
Rich Felker
d23a543d8a make stdbool.h conform to c99 2011-09-20 14:51:56 -04:00
Rich Felker
2318207adc fix incorrect include guard in mqueue.h 2011-09-20 12:14:06 -04:00
Rich Felker
32b82cf5cd fix the fsid_t structure to match name of __val
this is a case of poorly written man pages not matching the actual
implementation, and why i hate implementing nonstandard interfaces
with no actual documentation of how they're intended to work.
2011-09-20 11:16:27 -04:00
Rich Felker
03a8362930 fix broken siginfo_t with _GNU_SOURCE defined
this bug was introduced in a recent patch. the problem we're working
around is that broken GNU software wants to use "struct siginfo"
rather than "siginfo_t", but "siginfo" is not in the reserved
namespace and thus not legal for the standard header to use.
2011-09-20 10:58:18 -04:00
Rich Felker
114c80f141 fix the definition of struct statvfs to match lsb abi
at the same time, make struct statfs match the traditional definition
and make it more useful, especially the fsid_t stuff.
2011-09-19 23:35:48 -04:00
Rich Felker
8c07f6eac8 add some more siginfo aliases broken software expects... 2011-09-19 22:27:02 -04:00
Rich Felker
f780ac5baf cleanup redundancy in bits/signal.h versions 2011-09-19 20:02:12 -04:00
Rich Felker
224c7a376a fix the type of wchar_t on arm; support wchar_t varying with arch
really wchar_t should never vary, but the ARM EABI defines it as an
unsigned 32-bit int instead of a signed one, and gcc follows this
nonsense. thus, to give a conformant environment, we have to follow
(otherwise L""[0] and L'\0' would be 0U rather than 0, but the
application would be unaware due to a mismatched definition for
WCHAR_MIN and WCHAR_MAX, and Bad Things could happen with respect to
signed/unsigned comparisons, promotions, etc.).

fortunately no rules are imposed by the C standard on the relationship
between wchar_t and wint_t, and WEOF has type wint_t, so we can still
make wint_t always-signed and use -1 for WEOF.
2011-09-19 17:39:51 -04:00
Rich Felker
53431b091b fix broken multi-inclusion guard in sys/reg.h 2011-09-19 11:56:09 -04:00
Rich Felker
b0c088ee55 cleanup more bits cruft (sysmacros and socket) 2011-09-18 16:34:13 -04:00
Rich Felker
ca8373dfcf more bits junk (tcp.h) 2011-09-18 15:39:52 -04:00
Rich Felker
c8175666f2 move invariant netinet/in.h stuff out of bits/in.h 2011-09-18 15:31:44 -04:00
Rich Felker
3f72cdac73 overhaul clone syscall wrapping
several things are changed. first, i have removed the old __uniclone
function signature and replaced it with the "standard" linux
__clone/clone signature. this was necessary to expose clone to
applications anyway, and it makes it easier to port __clone to new
archs, since it's now testable independently of pthread_create.

secondly, i have removed all references to the ugly ldt descriptor
structure (i386 only) from the c code and pthread structure. in places
where it is needed, it is now created on the stack just when it's
needed, in assembly code. thus, the i386 __clone function takes the
desired thread pointer as its argument, rather than an ldt descriptor
pointer, just like on all other sane archs. this should not affect
applications since there is really no way an application can use clone
with threads/tls in a way that doesn't horribly conflict with and
clobber the underlying implementation's use. applications are expected
to use clone only for creating actual processes, possibly with new
namespace features and whatnot.
2011-09-18 10:14:37 -04:00
Rich Felker
71f7a3c2ce implement ptrace syscall wrapper (untested) 2011-09-15 13:03:13 -04:00
Rich Felker
4da289e1b3 fix return types for aio_read and aio_write again
previous fix was backwards and propagated the wrong type rather than
the right one...
2011-09-13 21:21:53 -04:00
Rich Felker
13cd969552 fix various errors in function signatures/prototypes found by nsz 2011-09-13 21:09:35 -04:00
Rich Felker
fd408d27a0 fix prototypes for aio_read and aio_write 2011-09-13 15:39:58 -04:00
Rich Felker
fb80e047cc implement gnu sigisemptyset 2011-09-12 00:00:30 -04:00
Rich Felker
ce17ea6f2c add prototypes for GNU *_unlocked stdio functions
actually these are just weak aliases for the normal locking versions
right now, and they will probably stay that way since making them
lock-free without slowing down the normal versions would require
significant code duplication for no benefit.
2011-09-11 22:50:02 -04:00
Rich Felker
a6540174be add dummied strverscmp (obnoxious GNU function)
programs that use this tend to horribly botch international text
support, so it's questionable whether we want to support it even in
the long term... for now, it's just a dummy that calls strcmp.
2011-09-11 22:45:56 -04:00
Rich Felker
d4045a1683 declare alloca in stdlib.h when _GNU_SOURCE is defined 2011-09-11 22:43:57 -04:00
Rich Felker
b4de6f93ae implement POSIX asynchronous io
some features are not yet supported, and only minimal testing has been
performed. should be considered experimental at this point.
2011-09-09 01:07:38 -04:00
Rich Felker
d4fa6f0e08 implement fmemopen
testing so far has been minimal. may need further work.
2011-09-03 23:26:17 -04:00
Rich Felker
1461e02757 implement open_wmemstream
not heavily tested, but it seems to be correct, including the odd
behavior that seeking is in terms of wide character count. this
precludes any simple buffering, so we just make the stream unbuffered.
2011-09-03 19:49:46 -04:00
Rich Felker
b158b32a44 implement open_memstream
this is the first attempt, and may have bugs. only minimal testing has
been performed.
2011-09-03 00:45:21 -04:00
Rich Felker
adb7093caa fix missing prototypes/wrong signature for psiginfo, psignal 2011-09-02 14:25:43 -04:00
Rich Felker
1f5ff26cd7 fix broken FD_* macros on 64-bit targets
1 is too small if int is 32-bit but unsigned long is 64-bit. be
explicit and use 1UL.
2011-08-27 19:42:13 -04:00
Rich Felker
9205e48609 macro for pthread_equal
no sense bloating apps with a function call for an equality comparison...
2011-08-14 15:17:36 -04:00
Rich Felker
4054a135fc implement forkall
this is a "nonstandard" function that was "rejected" by POSIX, but
nonetheless had its behavior documented in the POSIX rationale for
fork. it's present on solaris and possibly some other systems, and
duplicates the whole calling process, not just a single thread. glibc
does not have this function. it should not be used in programs
intending to be portable, but may be useful for testing,
checkpointing, etc. and it's an interesting (and quite small) example
of the usefulness of the __synccall framework originally written to
work around deficiencies in linux's setuid syscall.
2011-08-12 10:37:12 -04:00
Rich Felker
acfd06df17 consistency: use struct __ucontext instead of ucontext_t in prototypes
this is necessary to avoid build errors if feature test macros are not
properly defined when including ucontext.h
2011-07-31 00:10:29 -04:00
Rich Felker
6b1d3817cf add missing signalfd flags 2011-07-09 18:06:59 -04:00
Rich Felker
17be829104 fill in junk in stropts.h
STREAMS are utterly useless as far as I can tell, but some software
was apparently broken by the presence of stropts.h but lack of macros
it's supposed to define...
2011-06-30 20:23:24 -04:00
Rich Felker
a0b56b947a add and consolidate nasty stdio_ext junk
hopefully this resolves the rest of the issues with hideously
nonportable hacks in programs that use gnulib.
2011-06-30 12:44:48 -04:00
Rich Felker
7640497f5f implement the nonstandard GNU function fpurge
this is a really ugly and backwards function, but its presence will
prevent lots of broken gnulib software from trying to define its own
version of fpurge and thereby failing to build or worse.
2011-06-30 11:42:33 -04:00
Rich Felker
47e72e10d5 avoid errors in ucontext.h when no feature test macros are defined 2011-06-29 17:13:01 -04:00
Rich Felker
230f1813ad further fixup dlfcn.h 2011-06-27 01:02:28 -04:00
Rich Felker
87a30ce50d match LSB/glibc constants for dynamic loader 2011-06-27 01:01:19 -04:00
Rich Felker
febbd12d00 XSI search.h API implementation by Szabolcs Nagy 2011-06-25 18:18:57 -04:00
Rich Felker
e8b8f3c90e move all limits that don't vary out of bits/limits.h, into main limits.h 2011-06-25 15:38:00 -04:00
Rich Felker
5a2e74ebd2 copy-paste error in prctl.h 2011-06-18 07:39:05 -04:00
Rich Felker
7f5471529c fix some struct padding to match LSB/glibc ABI where it may be helpful 2011-06-16 17:11:35 -04:00
Rich Felker
32aea2087a duplicate re_nsub in LSB/glibc ABI compatible location 2011-06-16 16:53:11 -04:00
Rich Felker
2697b4e755 add netpacket/packet.h
looks like busybox is going to want it, and apparently some other
low-level network software does too...
2011-06-09 21:47:24 -04:00
Rich Felker
e0037efc12 isgreater etc. relation macros for math.h 2011-06-08 16:33:04 -04:00
Rich Felker
2b0cedac8d define MQ_PRIO_MAX 2011-06-07 15:05:04 -04:00
Rich Felker
ab11386aaa add support for POSIX message queues, except mq_notify 2011-06-07 01:52:27 -04:00
Rich Felker
cbf35978a9 use __attribute__((const)) for errno and pthread_self if __GNUC__ is defined
this is not too ugly and should result in significant code size and
performance improvements for many programs.
2011-06-06 20:12:42 -04:00
Rich Felker
da88b16a22 fix handling of d_name in struct dirent
basically there are 3 choices for how to implement this variable-size
string member:
1. C99 flexible array member: breaks using dirent.h with pre-C99 compiler.
2. old way: length-1 string: generates array bounds warnings in caller.
3. new way: length-NAME_MAX string. no problems, simplifies all code.

of course the usable part in the pointer returned by readdir might be
shorter than NAME_MAX+1 bytes, but that is allowed by the standard and
doesn't hurt anything.
2011-06-06 18:04:28 -04:00
Rich Felker
c74d306f47 missing prototypes for mbsnrtowcs and wcsnrtombs 2011-05-30 13:32:40 -04:00
Rich Felker
ddd87b2f10 implement pthread_[sg]etconcurrency.
there is a resource limit of 0 bits to store the concurrency level
requested. thus any positive level exceeds a resource limit, resulting
in EAGAIN. :-)
2011-05-30 11:31:07 -04:00
Rich Felker
c97f0d998c initial implementation of posix_spawn
file actions are not yet implemented, but everything else should be
mostly complete and roughly correct.
2011-05-28 18:36:30 -04:00
Rich Felker
15b77d52c9 eventfd syscall wrapper and read/write wrappers 2011-05-08 00:03:00 -04:00
Rich Felker
202911435b add SA_NOMASK alias for SA_NODEFER with _GNU_SOURCE 2011-05-05 17:44:06 -04:00
Rich Felker
def0af1898 use compiler builtins for variadic macros when available
this slightly cuts down on the degree musl "fights with" gcc, but more
importantly, it fixes a critical bug when gcc inlines a variadic
function and optimizes out the variadic arguments due to noticing that
they were "not used" (by __builtin_va_arg).

we leave the old code in place if __GNUC__ >= 3 is false; it seems
like it might be necessary at least for tinycc support and perhaps if
anyone ever gets around to fixing gcc 2.95.3 enough to make it work..
2011-04-27 23:41:48 -04:00
Rich Felker
e6bac87d0e correct variadic prototypes for execl* family
the old versions worked, but conflicted with programs which declared
their own prototypes and generated warnings with some versions of gcc.
2011-04-27 16:06:33 -04:00
Rich Felker
b5b41212a6 function signature fix: add const qualifier to mempcpy src arg 2011-04-26 12:28:41 -04:00
Rich Felker
32e2c468ba typo in prototype for mempcpy 2011-04-26 08:42:55 -04:00
Rich Felker
d179807f6b prototype for mempcpy 2011-04-26 08:41:54 -04:00
Rich Felker
4b5f054098 move wait.h macros out of bits. they do not vary. 2011-04-21 14:27:28 -04:00
Rich Felker
f492c95401 include signal.h to avoid thorny __sigcontext/sigcontext issues
this is explicitly allowed by POSIX
2011-04-21 14:21:57 -04:00
Rich Felker
4921ce0867 implement (nonstandard) forkpty 2011-04-20 20:55:13 -04:00
Rich Felker
a3aa89d826 fix O_SYNC definition, cleanup fcntl.h 2011-04-14 22:06:30 -04:00
Rich Felker
c2b18f3531 fcntl.h: move macros that do not vary between archs out of bits 2011-04-14 21:49:22 -04:00
Rich Felker
33a3f202d1 add useless type fd_mask. it's in the reserved namespace. 2011-04-14 16:23:31 -04:00
Rich Felker
07e865cc5a numerous fixes to sysv ipc
some of these definitions were just plain wrong, others based on
outdated ancient "non-64" versions of the kernel interface.

as much as possible has now been moved out of bits/*

these changes break abi (the old abi for these functions was wrong),
but since they were not working anyway it can hardly matter.
2011-04-13 16:45:43 -04:00
Rich Felker
b5b43b6d62 add syslog.h cruft for syslogd to use... 2011-04-13 16:13:49 -04:00
Rich Felker
b778a2ba69 add profile for getmntent_r 2011-04-13 15:24:26 -04:00
Rich Felker
45a3219944 fix typos on RLIM_NLIMITS, remove _GNU_SOURCE test for it
RLIM_* is in the reserved namespace for this header
2011-04-13 13:22:19 -04:00
Rich Felker
cac7d837cc fix and cleanup suseconds_t/timeval stuff (broken on 64-bit)
trash in the upper 32 bits was making the kernel sleep forever in
select on 64-bit systems.
2011-04-13 13:16:49 -04:00
Rich Felker
3f44f298e4 fix prototypes/signature for setgroups, etc. 2011-04-13 09:03:22 -04:00
Rich Felker
0f5b43550c fix incorrect GNU sighandler_t typedef 2011-04-13 08:45:28 -04:00
Rich Felker
6597f9ac13 implement memrchr (nonstandard) and optimize strrchr in terms of it 2011-04-13 08:36:29 -04:00
Rich Felker
750b738e53 add ptsname_r (nonstandard) and split ptsname (standard) to separate file
this eliminates the ugly static buffer in programs that use ptsname_r.
2011-04-13 08:35:32 -04:00
Rich Felker
c546be175c move bswap functions to static inline in byteswap.h 2011-04-12 13:04:17 -04:00
Rich Felker
0729fd9fd9 utmpx.h is no longer under standards, so expose ut_exit structure 2011-04-12 12:03:33 -04:00
Rich Felker
7ecab79f58 add some traditional aliases to stat.h 2011-04-12 12:01:20 -04:00
Rich Felker
209f2bbd95 add missing rlimit macros 2011-04-12 11:50:14 -04:00
Rich Felker
43b2e9bf26 more types cleanup
the basic idea is that the only things in alltypes.h should be types
that either vary from system to system (in practice, not just in
theoretical la-la land - this is the implementation so we choose what
constraints we want to impose on ports) or which are needed by
multiple system headers.
2011-04-11 10:48:52 -04:00
Rich Felker
28bde3b787 cleanup types stuff in headers, fix missing u_int*_t in sys/types.h 2011-04-11 10:38:00 -04:00
Rich Felker
2555fe1b6d add some ugly legacy type names in sys/types.h (u_char etc.) 2011-04-10 22:47:43 -04:00
Rich Felker
691b20bec0 add legacy BSD-style timer*() macros in sys/time.h 2011-04-10 22:46:46 -04:00
Rich Felker
4a19634f07 add missing UTIME_* macros in sys/stat.h 2011-04-10 18:32:59 -04:00
Rich Felker
095ad15673 fix typo in sys/msg.h 2011-04-06 17:50:38 -04:00
Rich Felker
2b55a619e4 add IN_LOOPBACKNET constant (nonstandard but in reserved namespace) 2011-04-06 15:44:39 -04:00
Rich Felker
1fee6186fe fix prototype for strsep 2011-04-06 14:28:29 -04:00
Rich Felker
104d013441 fix incorrect (and conflicting on LP64 archs) types for sysv ipc msgq functions 2011-04-06 00:02:20 -04:00
Rich Felker
0438e9fd63 getopt.h is a GNU-getopt-specific header. always expose GNU functions. 2011-04-05 15:45:24 -04:00
Rich Felker
5788d97221 add sysexits.h legacy header 2011-04-05 15:40:36 -04:00
Rich Felker
e72180083e add more legacy functions: setlinebuf and setbuffer 2011-04-05 12:25:31 -04:00
Rich Felker
8b61c81693 alternate name for syslog.h 2011-04-05 12:13:54 -04:00
Rich Felker
39e48531ef support the nonstandard err.h interfaces
note that unlike the originals, these do not print the program
name/argv[0] because we have not saved it anywhere. this could be
changed in __libc_start_main if desired.
2011-04-05 11:16:49 -04:00
Rich Felker
2155afd73e prototype getdtablesize (nonstandard function) 2011-04-03 18:15:36 -04:00
Rich Felker
1db283bf19 add setresuid/setresgid functions (nonstandard) 2011-04-03 16:20:57 -04:00
Rich Felker
06baa2b56c d_fileno alias for d_ino in dirent
this is nonstandard but since POSIX reserved d_ prefix in dirent.h we
might as well define it unconditionally. some programs depend on it.
2011-04-03 10:24:59 -04:00
Rich Felker
5243e5f160 remove obsolete and useless useconds_t type 2011-04-01 21:10:01 -04:00