Commit Graph

334 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 71ae173b37 Add dscandir_r(3). 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen 07fd50d5c6 Add wcwidth(3) and wcswidth(3). 2014-11-18 18:10:23 +01:00
Jonas 'Sortie' Termansen c428ec4d83 Add fmemopen(3). 2014-11-17 18:47:44 +01:00
Jonas 'Sortie' Termansen d7c54161b2 Revise stdio implementation. 2014-10-19 17:13:49 +02:00
Jonas 'Sortie' Termansen a9cf3cc684 Add qsort_r(3). 2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen 76577e69f1 Add execlpe(3). 2014-08-24 14:02:42 +02:00
Jonas 'Sortie' Termansen 30cd318c17 Implement signals.
Note: This is an incompatible ABI change.
2014-07-22 13:25:39 +02:00
Jonas 'Sortie' Termansen 1ddd404ff9 Thread-secure stdio. 2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen c8a3a858b0 Add libpthread. 2014-07-08 17:41:50 +02:00
Jonas 'Sortie' Termansen 4ea6aa710c Add exit_thread(2). 2014-06-12 00:05:40 +02:00
Jonas 'Sortie' Termansen f332cf96d4 Add sched_yield(2). 2014-05-29 17:16:49 +02:00
Jonas 'Sortie' Termansen af23f7ad5e Add rdmsr(2) and wrmsr(2). 2014-05-29 17:14:30 +02:00
Jonas 'Sortie' Termansen 534eb3ddd8 Fix libk being built with -mmmx, -msse and -msse2 on x86_64. 2014-05-28 17:42:19 +02:00
Jonas 'Sortie' Termansen f6f5035706 Add tzset(3). 2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen a935148f60 Add statvfs(2), fstatvfs(2) and fstatvfsat(2). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen 2fe13d33c9 Add asprintf(3) and vasprintf(3). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen 2fe3595feb Add getumask(2). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen 9771f29138 Add syslog(3). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen c6978d7d6e Add getdomainname(2). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen 1986bc2ba2 Add vscanf_callback(3). 2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen e91cde379a Rewrite getenv(3), setenv(3), unsetenv(3) and clearenv(3). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen 687096ec8a Add uname(3). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen f34279cc60 Add ttyname_r(3). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen a0a8ed61d8 Add pipe2(2). 2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen eaf1618537 Add tcgetwincurpos(2). 2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen fc713baba3 Rename libc-sortix to libk. 2014-03-01 14:37:42 +01:00
Jonas 'Sortie' Termansen d39437966d Split libc/wctype/wctype.cpp into multiple files. 2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen ba8557075c Split libc/ctype/ctype.cpp into multiple files. 2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen 5dd70aa4ff Split libc/dirent/fddir-sortix.cpp into multiple files. 2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen ddce6045e0 Split libc/dirent/dir.cpp into multiple files. 2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen 6788f0096e Preprocess assembly files with the C preprocessor. 2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen b08455c4d3 Remove mxmpp. 2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen 18d2695439 Add libdl and librt to libc. 2014-03-01 14:37:39 +01:00
Jonas 'Sortie' Termansen a4220d5b5f Fix incorrect usage of __is_sortix_foo macros in preprocessor conditionals.
These macros might not be defined, in which case this usage would have
generated warnings had they not been in system headers.
2014-01-18 16:30:55 +01:00
Jonas 'Sortie' Termansen 4cffc6b77b Add fnmatch(3). 2013-12-19 17:42:08 +01:00
Jonas 'Sortie' Termansen 500d3bb38b Add symlink(2) and symlinkat(2) stub. 2013-12-19 17:42:08 +01:00
Jonas 'Sortie' Termansen 33bf0d93ad Avoid libc conflicts with libstdc++. 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen d43a044575 Refactor assert(3). 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen b9e463965b Split libc/stdlib/on_exit.cpp into multiple files. 2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen 011ea58176 Rewrite vprintf_callback(3). 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen 3785beb7f5 Implement the <grp.h> API properly. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen a7e1207e0f Implement the <pwd.h> API properly. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen 396765eaba Remove getdtablesize(3).
This interface has been replaced with sysconf(_SC_OPEN_MAX). Note that this
implementation currently reports this as 0x10000, but there really is no
such limit in Sortix at this time.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen a212ec0ee3 Split libc/unistd/ioleast.cpp into multiple files. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen b399ece14b Add dup3(2). 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 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 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 91eb5f3af9 Split libc/stdio/sprint.cpp into multiple files. 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen edce6b9c2b Split libc/stdio/print.cpp into multiple files. 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 405173fc04 Add strftime_l(3). 2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen 070a319006 Split stdlib/abs.cpp into multiple files. 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 1df749498a Refactor strtol functions. 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 fdbcea19dc Add ffs(3), ffsl(3), and ffsll(3). 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 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 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 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 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 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 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 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 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 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