Commit graph

284 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
bea3ed6f50 Detect internal system component build macros in <features.h>. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
798554f21c Update <features.h> to current coding conventions. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
ad84bc75c8 Change kernel internal build macro to __is_sortix_kernel. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
3a30ba57ef Change libc internal build macro to __is_sortix_libc. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
c24b162ef3 Add __sortix_libc__ feature macro. 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
fd4b35f986 Add mkstemp(3). 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
f105c8f3be Add wmemset(3). 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
9039553c15 Add wmemmove(3). 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
329881f38d Add wmemcpy(3). 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
3c3bb32431 Add wmemchr(3). 2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
f32e1c7951 Add wcsstr(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
2e46a6ce8c Add wcspbrk(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
b944052a2e Add wcsxfrm(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
2db8bc088d Add wcsncmp(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
adb3bf543f Add wmemcmp(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
efc0eb2829 Add getrusage(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
7a5e549612 Add getrlimit(3) and setrlimit(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
13f09cc515 Add prlimit(2). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
a6f38947f2 Add getpriority(2) and setpriority(2). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
1469c89b87 Add id_t to <sys/types.h>. 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
04019cab9e Add mmap(2), mprotect(2) and munmap(2). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
30d35a98dd Add sigandset(3), sigisemptyset(3), signotset(3), and sigorset(3). 2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
d5a7901b25 Add getopt(3) and getopt_long(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
bb2a1b3e73 Add dprintf(3) and vdprintf(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
2f49694031 Add flockfile(3), ftrylockfile(3), and funlockfile(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
02013158e7 Add imaxdiv(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
a9d8712435 Add wcscoll(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
8d674a43e1 Add wcsto{l,ll,ul,ull,imax,umax}(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
cba75809fe Declare wchar_t in inttypes.h. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
cdc5a9673e Add strtoimax(3) and strtoumax(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
d79808f85f Split gnu_error(3) and perror(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
0c43765bbf Add strdupa(3) and strndupa(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
fdbcea19dc Add ffs(3), ffsl(3), and ffsll(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
6ea9a0d509 Merge strings.h into string.h. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
f1888f9e8b Add strlcat(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
a1655ca43b Add strerror_l(3) and strerror_r(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
4ac3c313ae Add strlcpy(3). 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
2518e4fc40 Add strxfrm_l(3). 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
5bda12c8fc Add strcoll_l(3). 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
5980be9b3c Add Sortix Math Library.
This work is based in part on code from NetBSD libm, libc and kernel.

The library is partly public domain and partly BSD-style licensed.
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
7bec450367 Add _D_EXACT_NAMLEN and _D_ALLOC_NAMLEN macros to dirent.h. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
cab9f561ea Add feature macros to dirent.h describing struct dirent. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
441777de28 Add versionsort(3). 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
ed3814abca Add strverscmp(3). 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
9bd82e1d80 Add alphasort(3). 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
7de9273bef Add scandir(3). 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
b88853de81 Remove obsolete PLATFORM_X86 and PLATFORM_X64 macros. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
938f722dcb Add tcsetpgrp(2) and tcgetpgrp(2). 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
be0ece3fe0 Add setpgid(2) and getpgid(2). 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
740187674a Add reference counting filesystem messages. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
5d1fe2620b Add mkpartition(2). 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
d2aab888d1 Add chroot(2), fchroot(2) and fchrootat(2). 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
ddf3dd329f Add fchdirat(2). 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
36bb159941 Add big and small endian data types to <endian.h>. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
2c164844f2 Add mktime(3). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
ad51b5a070 Add clock(3). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
0903f4edc2 Add times(3). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
3938f80055 Add timens(2). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
a15ffa955b Obsolete uptime(2). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
1e2550c0d5 Add clock_*(2) API. 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
2d94cd1246 Add alarm(2) and alarmns(2). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
df5deac29b Add support for per-process timers. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
7fc085f469 Add pw_gecos to struct passwd. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
ef32b3fcbe Add {,p}{read,write}v(2). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
7f543dc910 Add strto{f,d,ld}(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
28a4fe477b Add tmpnam(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
881776f72b Declare obsolete POSIX declarations. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
ee4acf731c Add mblen(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
bf66d5bb76 Add mbrlen(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
12947b0bdf Add fgetpos(3) and fsetpos(3). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
c829cb3c20 Add d_ino to struct dirent. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
615bf32c60 Forward declare <signal.h> API. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
29df8b3092 Add confstr(3). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
5260d22492 Simplify STDFOO_FILENO macros. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
2b3f3d0bc4 Add sysconf(3). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
f1fb806f72 Add getlogin(2) and getlogin_r(2). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
57003dd777 Add gethostname(2). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
931c0d1bc5 Add inttypes.h format and scan macros. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
3eeec255c0 Use alternate restrict keyword when unavailable. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
d7c8e1e6df Add O_ACCMODE. 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
09ddd20fb6 Add alloca.h. 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
aca2a41401 Implement setjmp(3) and longjmp(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
70a661e1ab Add dirname(3) and basename(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
8cc4c6cb03 Add tmpfile(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
cab4293090 Add wcstombs(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
8e0d659cec Add wcsrtombs(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
9e242e9cd7 Add mbstowcs(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
9c336562a7 Add mbsrtowcs(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
eb9e027697 Add wcstok(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
b4945e88b2 Add wcscspn(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
1938db2c25 Add wcsspn(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
1902f2d797 Add wcsrchr(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
7734074ba7 Add wcsncpy(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
3ec03badf3 Add wcsncat(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
c4da23f1f5 Add wcscmp(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
ff33adeb7f Add wcschr{,nul}(3). 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
10d01d8098 Add wcscat(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
93eda97b84 Add wcslen(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
8f1e1018c7 Add wcscpy(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
01a82b2882 Add ttyname(2). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
17f51aca20 Add <__/limits.h> stub. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
694f043bea Add __pure2 attribute to features.h. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
79a49b2015 Add socket interface. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
ee106231c4 Add utimensat(2) and futimens(2). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
472155173d Adopt struct timespec as the kernel time format.
Note: Incompatible ABI change.
2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
46b86892de Add __PRAGMA_WARNING for inserting warnings. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
cc5302af31 Add atof(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
c6d1285337 Add pathconf(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
6da33c469b Add grent(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
dab4b8a981 Add pwent(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
8162011b5d Add <time.h> header forward declarations.
Note that many of the functions are not yet implemented.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
dbc6c8c663 Add ioctl(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
ade239f18b Add {g,s}et{e,}{g,u}id(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
068c12be04 Add sig_atomic_t. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
ac1d64fd7e Refactor descriptor flags and security. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
476b27c301 Refactor FILE creation and destruction. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
a90e6d5d16 Implement stdio line buffering semantics. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
f29abd73ec Add fsync(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
971fc090b6 Add select(2). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
729bfa3c32 Add readlink{,at}(2). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
9d3937fe9e Add realpath(3). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
0ce3d61cb9 Add canonicalize_file_name{,_at}(3). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
1a3aa45c2c Add srand(3). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
6d86af8d60 Avoid noreturn macro conflict in <stdlib.h>. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
2630c7cb4e Add div(3), ldiv(3) and lldiv(3). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
fc8d64013d Refactor datatype declarations. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
6e22ee877d Provide __/wordsize.h. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
e70887cf3d Add endian.h. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
bb1c80f68e Add byteswap.h. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
7098317c09 Only define the restrict macro if it hasn't already been. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
7b21a9eabd Always declare usleep(2). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
e8e5f14a5d Add popen(3) and pclose(3). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
2d86b7dcf2 Add system(3). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
f6371bfcec Add calltrace(3) function. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
133e5d4410 Make program_invocation_name a macro. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
03ab6cf26e Add program_invocation_short_name(3). 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
b9d633108d Add wctype(3). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
05219a27f2 Add mbrtowc(3), mbtowc(3), wcrtomb(3), wctomb(3). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
c25e4a1842 Add creat(3). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
9ad7690c74 Rewrite stdio functions.
These changes aim to make the stdio functions much more stable, flexible,
correct and bugfree.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
8e0aefda20 Add rename(2) and renameat(2). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
9ba7f26bf0 Refactor kernel time API and add timespec API. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
b2b55bc34a Add poll(2) and ppoll(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
e76073cc4f Add user-space filesystem API. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
500d853f77 Add removeat(3) and split remove(3) into its own file. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
deeedf9e5d Add lchown(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
3b35dad9f7 Add AT_REMOVEFILE flag to unlinkat(2).
This allows unlinkat(2) to delete files and directories in the same call,
which is useful for the implementation of remove(3).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
921deb6eeb Add linkat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
2ef2269168 Add fchmodat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
c1280bedb0 Add fchown(2). 2013-12-17 14:30:25 +01:00