Commit Graph

33 Commits

Author SHA1 Message Date
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 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 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 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 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 104d013441 fix incorrect (and conflicting on LP64 archs) types for sysv ipc msgq functions 2011-04-06 00:02:20 -04:00
Rich Felker 8b61c81693 alternate name for syslog.h 2011-04-05 12:13:54 -04:00
Rich Felker 685e40bb09 syscall overhaul part two - unify public and internal syscall interface
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.
2011-03-19 21:36:10 -04:00
Rich Felker b0e83133e2 add some ioctl stuff to sys/mount.h 2011-03-19 18:58:32 -04:00
Rich Felker d00ff2950e overhaul syscall interface
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.
2011-03-19 18:51:42 -04:00
Rich Felker f5ba2bc9ca various legacy and linux-specific stuff
this commit is part of an effort to make more of busybox work
out-of-the-box.
2011-03-18 21:52:26 -04:00
Rich Felker b446c55b6f remove some old cruft from sys/types.h 2011-03-14 11:49:17 -04:00
Rich Felker ac12eb91bd fcntl.h should make availabel the mode constants from sys/stat.h
also remove some legacy nonsense that crept in.
2011-03-08 12:35:35 -05:00
Rich Felker a53d2f3425 namespace cleanup in sys/mman.h 2011-03-03 00:32:15 -05:00
Rich Felker eda8e9da76 implement futimens and utimensat 2011-02-27 03:48:57 -05:00
Rich Felker b1b465c438 cleanup namespace in sys/time.h 2011-02-27 03:48:19 -05:00
Rich Felker f552c792c7 include sys/sysmacros.h from sys/types.h when _GNU_SOURCE is defined 2011-02-20 16:34:10 -05:00
Rich Felker b1b752372f fix typo in inotify structure 2011-02-20 16:21:39 -05:00
Rich Felker 2b43ef8fc7 make sys/param.h not depend on PATH_MAX and NAME_MAX
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.
2011-02-20 00:28:10 -05:00
Rich Felker 095a5ae6f2 add syscall wrappers for inotify 2011-02-19 02:52:29 -05:00
Rich Felker 52874c82a8 prototype wait3 and wait4 2011-02-19 02:26:11 -05:00
Rich Felker d5ca067c7b add portable lchown (trivial to support and a few ancient things want it..) 2011-02-17 23:13:46 -05:00
Rich Felker e882756311 reorganize pthread data structures and move the definitions to alltypes.h
this allows sys/types.h to provide the pthread types, as required by
POSIX. this design also facilitates forcing ABI-compatible sizes in
the arch-specific alltypes.h, while eliminating the need for
developers changing the internals of the pthread types to poke around
with arch-specific headers they may not be able to test.
2011-02-17 17:16:20 -05:00
Rich Felker 74eea628cf extensive header cleanup for standards conformance & correctness
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-14 18:41:25 -05:00
Rich Felker 0b44a0315b initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00