Commit graph

475 commits

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