Commit graph

641 commits

Author SHA1 Message Date
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
5a127a429c Add overflow support to strtol and clean up the code. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
1df749498a Refactor strtol functions. 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
bc20ef464c Split pread and pwrite into their own files. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
12d6f1fd73 Add killpg(3). 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
e6a23c5365 Update libc/dirent/fddir-sortix to current coding conventions. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
290ee1a6a6 Update libc/dirent/dir to current coding conventions. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
8707a0d309 Update libc/stdio/fdio to current coding conventions. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
2fa4df7576 Update libc/stdio/stdio to current coding conventions. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
878dbd819f Update libc/ctype/ctype to current coding conventions. 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
14c32c3433 Move libc initialization functions into their own directory. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
89a2c44493 Move stdio.h functions into their own directory. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
a329235397 Move timespec.h functions into their own directory. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
106c269c62 Move sys/readdirents.h functions into their own directory. 2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
d162eac516 Move sys/ioctl.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
49cb00ab3f Move sys/kernelinfo.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
29fc8bf8c8 Move dlfcn.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
575e536442 Move error.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
bd15083e65 Move errno.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
e8bc31b798 Move sys/select.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
c4715aef59 Move utime.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
03ac25a6e2 Move calltrace.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
d6c8dd6983 Move sys/display.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
de36488e63 Move sys/termmode.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
59b28682b4 Move auxiliary libc files into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
9e6cfc3e13 Move sys/wait.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
ecb5744afb Move sys/uio.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
ecbb19273b Move sys/stat.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
0d4a25396b Move unistd.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
bff6b077da Move signal.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
50ae094c6f Move poll.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
7668d2bc0b Move locale.h functions into their own directory. 2013-12-17 14:30:38 +01:00
Jonas 'Sortie' Termansen
ed60c08c2c Move fcntl.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
c69b5fc34d Move pwd.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
6259878db3 Move grp.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
3d18ed9a43 Move ctype.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
78b0cf7b6a Move wctype.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
e87e891ca3 Move assert.h functions into their directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
18356edb69 Move stdlib.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
ab0177113f Move fsmarshall.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
9c4f25ae7c Move libgen.h functions into their own directory. 2013-12-17 14:30:37 +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
edb2682f55 Move dirent.h functions into their own directory. 2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
c377f33072 Remove duplicate declaration of addr_t. 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
4dad48271a Move wchar.h functions into their own directory. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
7a0beab011 Move string.h functions into their own directory. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
20b67f18bc Update libc system calls to follow coding conventions. 2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
7a6b4920ce Rename SYSCALL_WAIT to SYSCALL_WAITPID. 2013-12-17 14:30:36 +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
3c6ecd6512 Add umask(2). 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
1940d9560e Add timezone support. 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
519b054a24 Add gmtime_r(3). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
f7b5d6e55b Add difftime(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
71a2fef5f6 Add clock_nanosleep(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
b3e7aafff8 Add psignal(3). 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
3c94199720 Add ENOLOCK. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
1a67e969c3 Add EPROTOTYPE. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
ad19a88473 Add ENFILE. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
d16d327f32 Add EDEADLK. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
9f3cb1cf56 Add ENOTCONN. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
d28a85bd87 Add ENOPROTOOPT. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
369253450a Add ENOMSG. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
1b116d5cd4 Add ENOBUFS. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
1e89d641d4 Add ENETUNREACH. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
c8a73cdd40 Add ENETRESET. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
670f612e12 Add ENETDOWN. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
db02cd569b Add EMSGSIZE. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
62734a008b Add EHOSTUNREACH. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
fd6b3cce91 Add EDESTADDRREQ. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
1adef1d0e2 Add EFAULT. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
4eb06d9063 Add EISCONN. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
8427ee7a0f Add EADDRNOTAVAIL. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
5e9bd04cc7 Add sysconf(_SC_PAGESIZE). 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
c829cb3c20 Add d_ino to struct dirent. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
f174660e2b Add sigprocmask(2) stub. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
6dbff1991b Add sigset functions. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
e88d492efd Add sigaction(2). 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
c514dda0b2 Add O_NONBLOCK support to sockets. 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
3c4b4ace0c Add ECONNRESET. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
9e04af42a9 Add ECONNABORTED. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
74a3081d5b Add ESHUTDOWN. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
7f1a542f7b Add EALREADY. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
cf9719526e Add EINPROGRESS. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
552ecf521e Add EDOM. 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
b852fbcc9b Add ctime{,_r}(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
7ef559e2e1 Add asctime{,_r}(3). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
440e34ef62 Add strftime(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
915169bdae Bootstrap program_invocation_name. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
1e20b0e7ec Add freopen(3). 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
15c48f4efc Add PATH variable. 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
25b70f0e1c Add ECONNREFUSED. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
633f4bb55c Add ETIMEDOUT. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
d2b6543558 Add EADDRINUSE. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
279f15398f Add ENOTSOCK. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
8a72874548 Add EAFNOSUPPORT. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
c7d833686a Add EPROTONOSUPPORT. 2013-12-17 14:30:28 +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
c26cb897a0 Use malloc in memmove instead of operator new. 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
54da838c79 Refactor kernel address space allocation. 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
8180797aa7 Support field widths in %c printf conversion. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
4e46b40b4c Add support for ' ' and '+' flags to printf. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
a023f2a348 Add alternate flag to printf. 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
d3b9bdb3ba Provide envp to the main function. 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
6b790a3184 Conditionally calltrace in abort(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
e52c6c0966 Add support for * field width in printf and %s field width. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
4f9bbd1717 Add octal and adjusted blank support to printf. 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
391d844aca FILE backend controls return value of fclose. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
06e2025a87 Add support for useless 't' mode in fopen. 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
1fa2df3e6a Replace system calls that accept a path with *at versions. 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
f21462bf18 Add fchmod(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
c1280bedb0 Add fchown(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
cb4569c615 Add fchownat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
f843e15666 Add truncateat(2).
Linux doesn't have this, but since I do truncate(2) in the kernel, it would
be more consistent to do it 'at'-style. (I will remove truncate(2) from the
kernel and let libc call truncateat(2) soon anyway).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
37a4c8f05e Add fchdir(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
7dd59dd2e0 Add mkdirat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
caf4a1f2c5 Add faccessat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
835f0d5fbc Add unlinkat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
8e50f3d76b Add dup2(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
49fe4aa51f Add link(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
2389a834b5 Add chown(3). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
a11439bc87 Add chmod(2). 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
1444683ea8 Refactor kernel VFS.
Note: This is an incompatible ABI change.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
bfd013ab10 Fix vfprintf(3) error case. 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
d6c1e64628 Fix poor implementation of the strchr(3) family. 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
e72b1c0ac1 Fix flushlbf(3) being in a file with the wrong name. 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
c109f5165e Fix fnewfile(3) being in a file with the wrong name. 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
59edfdb787 Remove <readparamstring.h>. 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
752153d801 Remove vexecl(3), vexecle(3), and vexeclp(3).
These functions were non-standard and their use compared to the execv*
family is questionable. Additionally, they would have to repeat much of
the code from the execl* family of functions. In the end, they were removed
because they weren't strictly needed and less bloat is better here. Besides
programs that would use these functions would need to ship their own
versions to be portable.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
dd3662e3d0 Fix prototypes for execl(3), execle(3), and execlp(3). 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
b9eef9ed5d Fix fopen allowing opening directories for writing. 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
6f6d775d47 Fix using NULL environment in vexecle(3). 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
63ad7d64dd Fix abort(3) not being freestanding. 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
90036ca6a8 Update copyright headers of old files to the current format. 2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen
92b029b07f Remove tabs from header include guards. 2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen
eb5be61d20 Fix trailing blank lines. 2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen
7eb9e3c33f Refactor Sortix build system and de-autoconf mxmpp. 2013-12-17 14:30:22 +01:00
Jonas 'Sortie' Termansen
0c7d1486b5 Add PARANOIA level 3 and better malloc/free error reporting. 2013-09-24 17:09:49 +02:00
Jonas 'Sortie' Termansen
6afca10c25 Add sigset_t to signal.h. 2013-09-24 17:09:49 +02:00
Jonas 'Sortie' Termansen
bf2c624c9b Add struct timespec. 2013-09-24 17:09:49 +02:00
Jonas 'Sortie' Termansen
a6a8a75a0c Add data types to <time.h> and tm_yday to struct tm. 2013-09-24 17:09:49 +02:00
Jonas 'Sortie' Termansen
9411784b58 Set up initial stack frame as zero pointer.
This allows call traces to know when they are done.
2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
27fda0c0eb Add ENXIO. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
517025f474 Add EMLINK. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
6c9852c21f Add ELOOP. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
1e2785b17f Add ENAMETOOLONG. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
4627031f44 Add ESPIPE. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
7f99ccb36d Add EXDEV. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
123eabd60a Add EFBIG. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
0095983c80 Add dispmsg_issue(2). 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
5ebf7a3c88 Set O_CLOEXEC in opendir(3). 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
2c2fd29585 Make "C" the default locale. 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
dc4ef04e7c Add assembly file symbol sizes. 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
9224f8f43d Fix wrong malloc include guard. 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
3abad890ec Fix non-standard struct flock declaration. 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
8d2c585479 Fix getdelim and getline having the wrong external linkage. 2013-09-24 17:09:35 +02:00
Jonas 'Sortie' Termansen
d12c420ca1 Add W* wait constants to stdlib.h. 2013-09-24 16:52:29 +02:00
Jonas 'Sortie' Termansen
54e68a0c51 Fix '\0' support in strchr(3) and strchrnul(3). 2013-09-24 16:52:10 +02:00
Jonas 'Sortie' Termansen
3a35139e6c Fix fopen(filename, "w") not creating files. 2013-07-11 18:07:03 +02:00
Jonas 'Sortie' Termansen
df67725221 Fix fgets(3) handling EOF incorrectly. 2013-07-11 18:07:03 +02:00
Jonas 'Sortie' Termansen
6aa4eb3405 Refactor fwrite(3) to remove buffer overflow bug. 2013-07-11 18:07:03 +02:00
Jonas 'Sortie' Termansen
d950421358 Implement pread(2) and pwrite(2). 2013-07-11 18:07:03 +02:00
Jonas 'Sortie' Termansen
7fc1f0011a Fix libc compile warnings. 2013-07-09 20:28:55 +02:00
Jonas 'Sortie' Termansen
8318c51819 Allow syscall parameters and return values larger than native words.
Note: This is an incompatible ABI change.
2013-07-08 15:47:27 +02:00
Jonas 'Sortie' Termansen
d890488304 Void system calls must now have a return value. 2013-07-07 17:03:01 +02:00
Jonas 'Sortie' Termansen
6a44dcae04 Don't use movs in memcpy as it causes performance loss. 2012-12-15 22:40:56 +01:00
Jonas 'Sortie' Termansen
1b0ddadab3 Optimize memcpy(3). 2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
f1bbbe5153 Add strsignal(3). 2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
ffab25b0f4 Fix strerror redirecting to wrong function. 2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
e08c13b344 Add strxfrm(3). 2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
0c54bcd6e9 Add memccpy(3). 2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
e80f765fbf Add strndup(3). 2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
fd088903dd Add stpncpy(3). 2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
c9b3002e43 Add openat(2).
This is a rather hacky implementation.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
be4858f82c Rename libmaxsi to sortix libc. 2012-12-14 14:13:36 +01:00