Commit Graph

83 Commits

Author SHA1 Message Date
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