Commit graph

174 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
7c33b3f10f Always show the declaration of sbrk(2).
This was done because binutils need this to compile.
2012-03-04 23:36:04 +01:00
Jonas 'Sortie' Termansen
be98120b49 Added stubs for setjmp(3) and longjmp(3). 2012-03-04 23:15:32 +01:00
Jonas 'Sortie' Termansen
390150839e Added a stub for umask(2). 2012-03-04 23:01:41 +01:00
Jonas 'Sortie' Termansen
6f9b8b2f64 Added stubs for chmod(2) and fchmod(2). 2012-03-04 22:57:44 +01:00
Jonas 'Sortie' Termansen
9b2de25f9b Added strcasecmp(3), strncasecmp(3) and <strings.h>.
Why <strings.h>? Stupid POSIX.
2012-03-04 22:46:24 +01:00
Jonas 'Sortie' Termansen
2b57319c1c Added stub for time(3). 2012-03-04 22:26:27 +01:00
Jonas 'Sortie' Termansen
d3c4df72b1 Added st_{a,c,m}time to struct stat. 2012-03-04 22:25:47 +01:00
Jonas 'Sortie' Termansen
c0a02248da Added <sys/time.h>, struct timeval and gettimeofday(3) stub. 2012-03-04 22:05:52 +01:00
Jonas 'Sortie' Termansen
e006687645 Added abort(3) to <stdlib.h>. 2012-03-04 21:49:03 +01:00
Jonas 'Sortie' Termansen
5e75f5c428 Added fcntl(3) with FD_GET and FD_SET. 2012-03-04 21:36:40 +01:00
Jonas 'Sortie' Termansen
777fc04682 Added <time.h>, clock_t, and a stub for clock(3). 2012-03-04 18:38:23 +01:00
Jonas 'Sortie' Termansen
0bd6a4ff67 Added <math.h>. 2012-03-04 18:17:04 +01:00
Jonas 'Sortie' Termansen
6695da9229 Added strncat(3). 2012-03-04 18:12:54 +01:00
Jonas 'Sortie' Termansen
73e2d9db3c Made errno(3) a macro to itself. 2012-03-04 18:06:24 +01:00
Jonas 'Sortie' Termansen
38f27a45fc Added strpbrk(3). 2012-03-04 17:44:24 +01:00
Jonas 'Sortie' Termansen
b1b123109a Added mktemp(3).
This is a stupid, ugly function added for compatibility.
2012-03-04 17:29:50 +01:00
Jonas 'Sortie' Termansen
5d826ec284 Added strstr(3). 2012-03-04 17:20:42 +01:00
Jonas 'Sortie' Termansen
6c6e1091a1 Added memmove(3). 2012-03-04 17:10:52 +01:00
Jonas 'Sortie' Termansen
a52200f4a7 Added strncpy(3).
This function is stupid.
2012-03-04 17:00:59 +01:00
Jonas 'Sortie' Termansen
90ea0d3e64 Added strdup(3) to <string.h>. 2012-03-04 16:54:53 +01:00
Jonas 'Sortie' Termansen
ac7e55ffbd Added st_dev to struct stat. 2012-03-04 16:48:24 +01:00
Jonas 'Sortie' Termansen
f9f59e9536 Added ELAKE. 2012-03-03 01:06:32 +01:00
Jonas 'Sortie' Termansen
0ed0082070 Added execv(3) and execve(3).
Removed the older libmaxsi system call.
2012-03-02 15:00:11 +01:00
Jonas 'Sortie' Termansen
c5302df277 error(3) now doesn't print an error if supplied errno=0. 2012-03-01 16:42:13 +01:00
Jonas 'Sortie' Termansen
982b9a732a Fixed bug where fopen(3) used the wrong mode in call to fdopen(3). 2012-03-01 14:30:20 +01:00
Jonas 'Sortie' Termansen
cbdf54fcdd Moved SEEK_SET, SEEK_CUR, and SEEK_SET to <sortix/seek.h>. 2012-02-24 17:34:50 +01:00
Jonas 'Sortie' Termansen
5de83df6ec Unified constants from sortix/filesystem.h and <fcntl.h> in <sortix/fcntl.h>. 2012-02-23 13:15:40 +01:00
Jonas 'Sortie' Termansen
03273d0076 Added stubs for stat(2), and fstat(2). 2012-02-22 00:30:34 +01:00
Jonas 'Sortie' Termansen
75b3b9c858 Added a Maxsi::String::Substring function. 2012-02-21 23:23:57 +01:00
Jonas 'Sortie' Termansen
2a4a51fafc Added getline(3), getdelim(3), sortix_gets(3) and gets(3).
gets(3) exists and is an alias for sortix_gets(3) if _SORTIX_SOURCE.

sortix_gets(3) returns a pointer to a safe newly read and allocated line.
2012-02-13 01:07:02 +01:00
Jonas 'Sortie' Termansen
3bf5b1f17e Added realloc(3). 2012-02-13 00:31:05 +01:00
Jonas 'Sortie' Termansen
4804e60a8b Fixed race condition when building libmaxsi with -j.
The headers could end up being made before their dirs were ready.
2012-02-12 13:54:07 +01:00
Jonas 'Sortie' Termansen
c8dfe630af Removed annoying warnings when declaring x64 systemcalls.
Actually, the warnings are true, but that's a task for later.
2012-02-12 13:20:53 +01:00
Jonas 'Sortie' Termansen
c6682265aa Fixed minor compile errors in fddir-sortix.c. 2012-02-12 13:20:53 +01:00
Jonas 'Sortie' Termansen
e05e934beb Changed return type of FILE::tell_func to off_t. 2012-02-12 13:20:53 +01:00
Jonas 'Sortie' Termansen
fec176fa15 Refactored the libmaxsi/ directory.
C and C++ files are now kept together and so are the mxmpp declarations.

Header files are now stored in include/ and mxmpp'd into preproc/.

All other code now -I ../libmaxsi/preproc.

And other stuff to make this happen, including refactoring Makefile.
2012-02-12 13:20:53 +01:00
Jonas 'Sortie' Termansen
b4131def9f The offsetof macro now expands to __builtin_offsetof.
The compiler knows this stuff best, anyway.
2012-02-11 19:50:27 +01:00
Jonas 'Sortie' Termansen
d693f8a2f4 Fixed broken <stddef.h>. 2012-02-11 19:38:51 +01:00
Jonas 'Sortie' Termansen
6d1129c29a Removed compile warnings related to feature macros.
Accidentally commited them. Oops.
2012-02-11 19:03:17 +01:00
Jonas 'Sortie' Termansen
ed68db03fb Replaced SORTIX_EXTENSIONS macro with _SORTIX_SOURCE macro.
<features.h> declares _SORTIX_SOURCE if no conflicting macros are
declared, such as _GNU_SOURCE.

Fixed g++ automatically declaring _GNU_SOURCE, but Sortix isn't GNU.

Replaced SORTIX_UNIMPLEMENTED macro with __SORTIX_SHOW_UNIMPLEMENTED.
2012-02-11 18:51:55 +01:00
Jonas 'Sortie' Termansen
88c7788b4e Fixed stdint.h include guard conflicting with unistd.h. 2012-02-11 18:46:17 +01:00
Jonas 'Sortie' Termansen
028867ab9d Removed the unused and deprecated old <libmaxsi/sortix-keyboard.h> API.
This has been entirely replaced by stdin and <sys/termmode.h>.
2012-02-10 13:46:26 +01:00
Jonas 'Sortie' Termansen
5fde8e13ed Blocking systemcalls now return EBLOCKING instead of EWOULDBLOCK.
EWOULDBLOCK is now used when it wanted to block, but didn't.
2012-02-10 13:28:28 +01:00
Jonas 'Sortie' Termansen
ecc3114f2a Refactored the system to use the new Terminal interface.
This will allow development of a better terminal providing stdin.

Added new system calls settermmode(2) and gettermmode(2) declared in
<sys/termmode.h>. They allow querying and changing the current mode of
terminals (enabling raw keyboard data, signal handling, line buffering,
UTF-8 encoding stdin, and more). However, all that is unsupported by the
current terminal device driver.

Added KBKEY_ENCODE and KBKEY_DECODE macros to <sys/keycodes.h> which allows
encoding the kbkey format in UTF-32 characters.
2012-01-22 16:48:57 +01:00
Jonas 'Sortie' Termansen
ead0e1523f Refactored the kernel keyboard API, but kept system calls compatible.
Caps lock now works as caps lock, not as shift lock.

This new design will allow implementing a working tty, such that stdin is
the only way to access the keyboard, instead of the current hacky way of
using a special system call to read from the keyboard.

Added a new system header file <sys/keycodes.h> defining the constants for
every key on the keyboard. This will be used in future APIs.

The main change is to split the keyboard driver into a class that reads
from the keyboard, while another class handles the translation into
printable characters (if possible). This allows a terminal driver based
on logical key presses and printable characters, instead of a terminal
driver based only on unicode-ish codes.
2012-01-22 15:53:50 +01:00
Jonas 'Sortie' Termansen
ac51e98cb8 Improved removal performance in Maxsi::SortedList. 2012-01-21 01:35:17 +01:00
Jonas 'Sortie' Termansen
f29f6dd053 ValidateHeap is now only called when PARANOIA is at least 2.
This speeds up memory allocations from O(N) to O(1) by default.
2012-01-20 23:22:12 +01:00
Jonas 'Sortie' Termansen
f676cf75f4 Added ENOTSUP. 2012-01-18 15:40:31 +01:00
Jonas 'Sortie' Termansen
17d1b67a77 Fixed bug in fopen(3) where it didn't open correctly. 2012-01-18 12:40:31 +01:00
Jonas 'Sortie' Termansen
d2c4b1d6ac Added readdir(3), closedir(3), rewinddir(3), dirfd(3), fdopendir(3),
opendir(3).

Also added non-standard dregister(3), dunregister(3), dclearerr(3),
derror(3), deof(3), dnewdir(3), dcloseall(3).
2012-01-15 00:51:27 +01:00