about summary refs log tree commit diff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* fix incorrect (and conflicting on LP64 archs) types for sysv ipc msgq functionsRich Felker2011-04-061-1/+1
|
* getopt.h is a GNU-getopt-specific header. always expose GNU functions.Rich Felker2011-04-051-2/+0
|
* add sysexits.h legacy headerRich Felker2011-04-051-0/+21
|
* add more legacy functions: setlinebuf and setbufferRich Felker2011-04-051-0/+2
|
* alternate name for syslog.hRich Felker2011-04-051-0/+1
|
* support the nonstandard err.h interfacesRich Felker2011-04-051-0/+24
| | | | | | 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.
* prototype getdtablesize (nonstandard function)Rich Felker2011-04-031-0/+1
|
* add setresuid/setresgid functions (nonstandard)Rich Felker2011-04-031-0/+2
|
* d_fileno alias for d_ino in direntRich Felker2011-04-031-0/+2
| | | | | this is nonstandard but since POSIX reserved d_ prefix in dirent.h we might as well define it unconditionally. some programs depend on it.
* remove obsolete and useless useconds_t typeRich Felker2011-04-011-3/+2
|
* fix misspelled PTHREAD_CANCELED constantRich Felker2011-04-011-1/+1
|
* add some missing prototypes for nonstandard functions (strsep, clearenv)Rich Felker2011-03-302-0/+2
|
* missing prototype for wcscoll (stub)Rich Felker2011-03-291-0/+1
|
* implement POSIX timersRich Felker2011-03-292-6/+17
| | | | | | | | this implementation is superior to the glibc/nptl implementation, in that it gives true realtime behavior. there is no risk of timer expiration events being lost due to failed thread creation or failed malloc, because the thread is created as time creation time, and reused until the timer is deleted.
* prototype for getpassRich Felker2011-03-281-0/+4
|
* match glibc/lsb cancellation abi on i386Rich Felker2011-03-251-0/+2
| | | | | | | | glibc made the ridiculous choice to use pass-by-register calling convention for these functions, which is impossible to duplicate directly on non-gcc compilers. instead, we use ugly asm to wrap and convert the calling convention. presumably this works with every compiler anyone could potentially want to use.
* syscall overhaul part two - unify public and internal syscall interfaceRich Felker2011-03-191-1/+17
| | | | | | | | | | | | | | | | with this patch, the syscallN() functions are no longer needed; a variadic syscall() macro allows syscalls with anywhere from 0 to 6 arguments to be made with a single macro name. also, manually casting each non-integer argument with (long) is no longer necessary; the casts are hidden in the macros. some source files which depended on being able to define the old macro SYSCALL_RETURNS_ERRNO have been modified to directly use __syscall() instead of syscall(). references to SYSCALL_SIGSET_SIZE and SYSCALL_LL have also been changed. x86_64 has not been tested, and may need a follow-up commit to fix any minor bugs/oversights.
* add some ioctl stuff to sys/mount.hRich Felker2011-03-191-0/+18
|
* overhaul syscall interfaceRich Felker2011-03-191-0/+16
| | | | | | | | | | | | | | | this commit shuffles around the location of syscall definitions so that we can make a syscall() library function with both SYS_* and __NR_* style syscall names available to user applications, provides the syscall() library function, and optimizes the code that performs the actual inline syscalls in the library itself. previously on i386 when built as PIC (shared library), syscalls were incurring bus lock (lock prefix) overhead at entry and exit, due to the way the ebx register was being loaded (xchg instruction with a memory operand). now the xchg takes place between two registers. further cleanup to arch/$(ARCH)/syscall.h is planned.
* some linux headers useful from user apps.Rich Felker2011-03-183-0/+550
| | | | | | | i'm still not sure whether it's a good idea to include or use any of these, but i'll add them for now. it may make more sense to just add official kernel headers to the include path for compiling programs that need them.
* various legacy and linux-specific stuffRich Felker2011-03-184-1/+115
| | | | | this commit is part of an effort to make more of busybox work out-of-the-box.
* implement [v]swprintfRich Felker2011-03-181-2/+2
|
* implement robust mutexesRich Felker2011-03-171-0/+1
| | | | | | some of this code should be cleaned up, e.g. using macros for some of the bit flags, masks, etc. nonetheless, the code is believed to be working and correct at this point.
* remove some old cruft from sys/types.hRich Felker2011-03-141-1/+0
|
* pthread.h needs clockid_tRich Felker2011-03-121-0/+1
| | | | | actually it gets this from time.h if _POSIX_C_SOURCE or any other feature test macros are defined, but it breaks if they're not.
* missing const in some pthread_attr_* prototypesRich Felker2011-03-111-8/+8
|
* fix sem_open and sem_close to obey posix semanticsRich Felker2011-03-101-0/+1
| | | | | | | | | multiple opens of the same named semaphore must return the same pointer, and only the last close can unmap it. thus the ugly global state keeping track of mappings. the maximum number of distinct named semaphores that can be opened is limited sufficiently small that the linear searches take trivial time, especially compared to the syscall overhead of these functions.
* fix typos in dirent.hRich Felker2011-03-081-2/+2
|
* fcntl.h should make availabel the mode constants from sys/stat.hRich Felker2011-03-082-8/+20
| | | | also remove some legacy nonsense that crept in.
* add macros for use with d_type extension field in direntRich Felker2011-03-071-0/+14
|
* add prototypes for pthread_condattr_* and pthread_rwlockattr_*Rich Felker2011-03-071-0/+12
|
* preliminaries to adding POSIX semaphoresRich Felker2011-03-032-1/+8
|
* namespace cleanup in sys/mman.hRich Felker2011-03-031-1/+3
|
* implement futimens and utimensatRich Felker2011-02-271-0/+3
|
* cleanup namespace in sys/time.hRich Felker2011-02-271-4/+5
|
* implement fexecveRich Felker2011-02-271-0/+1
|
* fix missing prototype for strsignalRich Felker2011-02-261-0/+1
|
* apply feature test protection to memccpyRich Felker2011-02-241-1/+4
|
* prototypes for GNU asprintf/vasprintfRich Felker2011-02-201-0/+2
|
* include sys/sysmacros.h from sys/types.h when _GNU_SOURCE is definedRich Felker2011-02-201-0/+1
|
* fix typo in inotify structureRich Felker2011-02-201-1/+1
|
* make real symbols for the legacy (nonstandardized) utmp functionsRich Felker2011-02-201-6/+15
| | | | | | | this is needed in the long term for ABI compatibility anyway, and in the immediate, it helps with building broken programs like GNU screen that try to prototype the functions themselves rather than using the header.
* resolve some header namespace non-issuesRich Felker2011-02-201-2/+0
| | | | | after re-reading 2.2.2 of POSIX 2008, all of these are in the correct reserved namespaces and do not need protection.
* move the GNU siginfo renaming so it doesn't lead to mismatching namesRich Felker2011-02-201-1/+4
|
* make sys/param.h not depend on PATH_MAX and NAME_MAXRich Felker2011-02-201-2/+2
| | | | | | | | | | | this is a nonstandard header used only by backwards programs, but for some reason it's extremely popular. the recent namespace cleanup fixes broke it, because PATH_MAX and NAME_MAX will not be defined unless an approriate feature test macro has been defined. moreover, it's too late to just #define _GNU_SOURCE in param.h, since limits.h may have already been included. let's just hard-code standard values and be done with it.
* fix typo in wordexp.h (note that the function is still unimplemented)Rich Felker2011-02-191-1/+1
|
* add syscall wrappers for inotifyRich Felker2011-02-191-0/+55
|
* prototype wait3 and wait4Rich Felker2011-02-192-3/+6
|
* prototypes for brk and sbrkRich Felker2011-02-191-0/+2
|
* support the ugly and deprecated ucontext and sigcontext header stuff...Rich Felker2011-02-181-20/+3
| | | | | | | | | | | | | | only the structures, not the functions from ucontext.h, are supported at this point. the main goal of this commit is to make modern gcc with dwarf2 unwinding build without errors. honestly, it probably doesn't matter how we define these as long as they have members with the right names to prevent errors while compiling libgcc. the only time they will be used is for propagating exceptions across signal-handler boundaries, which invokes undefined behavior anyway. but as-is, they're probably correct and may be useful to various low-level applications dealing with virtualization, jit code generation, and so on...