Commit Graph

814 Commits

Author SHA1 Message Date
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 930be00966 Don't write errors to stderr in dlopen(3) and dlsym(3). 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 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