summaryrefslogtreecommitdiff
path: root/include/unistd.h
AgeCommit message (Collapse)AuthorLines
2012-06-04_GNU_SOURCE is supposed to imply _LARGEFILE64_SOURCERich Felker-1/+1
this is ugly and stupid, but now that the *64 symbol names exist, a lot of broken GNU software detects them in configure, then either breaks during build due to missing off64_t definition, or attempts to compile without function declarations/prototypes. "fixing" it here is easier than telling everyone to add yet another feature test macro to their builds.
2012-06-02declare environ in unistd.h when _GNU_SOURCE feature test macro is usedRich Felker-0/+1
lots of broken programs expect this, and it's gotten to the point of being a troubleshooting FAQ topic. best to just fix it.
2012-05-22remove everything related to forkallRich Felker-1/+0
i made a best attempt, but the intended semantics of this function are fundamentally contradictory. there is no consistent way to handle ownership of locks when forking a multi-threaded process. the code could have worked by accident for programs that only used normal mutexes and nothing else (since they don't actually store or care about their owner), but that's about it. broken-by-design interfaces that aren't even in glibc (only solaris) don't belong in musl.
2012-05-22some feature test fixes for unistd.hRich Felker-16/+16
2012-05-22_GNU_SOURCE implies all BSD features except ones GNU rejectsRich Felker-1/+1
2012-05-22various header cleanups, some related to _BSD_SOURCE additionRich Felker-11/+4
there is no reason to avoid multiple identical macro definitions; this is perfectly legal C, and even with the maximal warning options enabled, gcc does not issue any warning for it.
2012-05-22support _BSD_SOURCE feature test macroRich Felker-3/+17
patch by Isaac Dunham. matched closely (maybe not exact) to glibc's idea of what _BSD_SOURCE should make visible.
2012-05-20move getpass decl to the right placeRich Felker-0/+1
2012-05-04add support for ugly *64 functions with _LARGEFILE64_SOURCERich Felker-0/+10
musl does not support legacy 32-bit-off_t whatsoever. off_t is always 64 bit, and correct programs that use off_t and the standard functions will just work out of the box. (on glibc, they would require -D_FILE_OFFSET_BITS=64 to work.) however, some programs instead define _LARGEFILE64_SOURCE and use alternate versions of all the standard types and functions with "64" appended to their names. we do not want code to actually get linked against these functions (it's ugly and inconsistent), so macros are used instead of prototypes with weak aliases in the library itself. eventually the weak aliases may be added at the library level for the sake of using code that was originally built against glibc, but the macros will still be the desired solution in the headers.
2012-04-22implement getusershell, etc. legacy functionsRich Felker-0/+3
I actually wrote these a month ago but forgot to integrate them. ugly, probably-harmful-to-use functions, but some legacy apps want them...
2012-04-22getdtablesize is not standard; move it to its correct spot in unistd.hRich Felker-1/+1
2012-04-22add getresuid and getresgid syscall wrappersRich Felker-0/+2
2012-04-18legacy junk compatibility grab-bagRich Felker-0/+2
- add the rest of the junk traditionally in sys/param.h - add prototypes for some nonstandard functions - add _GNU_SOURCE to their source files so the compiler can check proto
2012-02-17add get_current_dir_name functionRich Felker-0/+1
2011-09-13fix various errors in function signatures/prototypes found by nszRich Felker-3/+3
2011-08-12implement forkallRich Felker-0/+1
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-04-27correct variadic prototypes for execl* familyRich Felker-3/+3
the old versions worked, but conflicted with programs which declared their own prototypes and generated warnings with some versions of gcc.
2011-04-13fix prototypes/signature for setgroups, etc.Rich Felker-1/+1
2011-04-03prototype getdtablesize (nonstandard function)Rich Felker-0/+1
2011-04-03add setresuid/setresgid functions (nonstandard)Rich Felker-0/+2
2011-04-01remove obsolete and useless useconds_t typeRich Felker-3/+2
2011-02-27implement fexecveRich Felker-0/+1
2011-02-19prototypes for brk and sbrkRich Felker-0/+2
2011-02-15feature test support in unistd.hRich Felker-23/+27
2011-02-12initial check-in, version 0.5.0v0.5.0Rich Felker-0/+464