b254ade69b
Kernel: Add SYS_GET_{,E}{UID,GID}
2023-06-11 22:37:00 +03:00
ef4ebaa969
Kernel: Add syscalls for set{,e,re}{uid,gid}
2023-06-11 22:37:00 +03:00
99f8133b91
LibC: gid_t and id_t are now signed types
...
I have no idea why I had made them unisigned
2023-06-11 22:37:00 +03:00
071da18fa3
LibC: add strchrnul()
...
this is a gnu libc extension
2023-06-11 20:18:03 +03:00
5aed186827
Kernel: Add SYS_OPENAT
2023-06-11 03:29:22 +03:00
52c4eebd77
Kernel: Implement SYS_FSTAT
2023-06-11 03:29:22 +03:00
24f0d26fce
LibC: Implement basic dirent functionality
...
We don't currently support seeking
2023-06-11 03:29:22 +03:00
7a5d5cabad
Kernel: Add syscall for reading directory entries
2023-06-11 00:18:08 +03:00
f7de310889
LibC: add missing O_EXEC and O_SEARCH
2023-06-11 00:17:18 +03:00
86f58f60cb
LibC: implement setenv, unsetenv, putenv
2023-06-05 22:51:02 +03:00
9d64dbd5c2
Kernel/LibC: add SYS_STAT and stat(), lstat()
2023-06-05 14:37:14 +03:00
cbb9f47ee5
LibC: add wait and waitpid
...
Note that wait() doesn't work since only waiting for specified
pid is supported. wait() will just return -1 and set errno to
ECHILD.
2023-06-04 18:00:52 +03:00
3c3c7826ef
LibC: Add simple definition for realloc
...
The syscall just crashes the kernel currently. I will implement
this when needed
2023-06-02 17:56:13 +03:00
3a69768eb0
LibC: remove select() declaration
...
This already comes from sys/select.h
2023-06-02 17:29:09 +03:00
afb29ff3ec
LibC: rename [[noreturn]] to __attribute__((__noreturn__))
...
This compiles with C compiler
2023-06-02 17:28:36 +03:00
e6f0f891a6
LibC: stdlib.h doesn't seem to typedef wchar_t without __need_wchar_t
2023-06-02 17:27:31 +03:00
36e5aa4683
LibC: fix INFINITY definition typo
2023-06-02 17:27:14 +03:00
7738050105
LibC: fix DIR typedef for C code
2023-06-02 17:26:38 +03:00
4bf11ec349
LibC: complex.h undefs I before defining it
2023-06-02 17:13:09 +03:00
d821012eed
LibC: mbstate_t is empty struct
2023-06-02 17:10:29 +03:00
35c6edd989
LibC: fix sig_atomic_t definition
2023-06-02 17:08:43 +03:00
ab61b49aca
Kernel: Add SYS_EXEC syscall
2023-05-31 20:57:33 +03:00
341f7e41e5
LibC: Fix some headers to make gcc build again
2023-05-30 01:17:45 +03:00
0c316ebfb2
Kernel: Add SYS_SLEEP
2023-05-28 22:34:48 +03:00
6fdbe6f9c2
Kernel: Add bareboness fork() function
2023-05-28 18:08:49 +03:00
f79250c4d4
LibC: Rewrite all the headers.
...
We now have more or less posix issue 2018 conforming libc headers.
This was a really time consuming and boring operation but it had to
be done.
Now we get to actually start implementing libc :)
2023-05-26 22:31:21 +03:00
9e0abbc2f0
Kernel: Add bareboness possibility to set termios
2023-05-26 22:31:21 +03:00
53f4b5a9da
LibC: add function declarations to sys/stat.h
2023-05-11 15:11:33 +03:00
1d4a6c3a42
LibC: add function declarations to dirent.h
2023-05-11 01:42:52 +03:00
40083e4aa1
LibC: add definitions to math.h
2023-05-11 01:40:42 +03:00
bd929bff07
LibC: add defines in stdio.h
2023-05-11 01:39:16 +03:00
cd4a0530fa
LibC: add function declarations to unistd.h
2023-05-11 00:34:03 +03:00
273fdd2235
LibC: add function declarations to string.h
2023-05-11 00:34:03 +03:00
b20f2e8d31
LibC: add function declarations to math.h
2023-05-11 00:34:03 +03:00
e756cde2b1
LibC: define all errnos and strerror{name,desk}_np
2023-05-11 00:34:03 +03:00
de18d3e64d
LibC: add function declarations to time.h
2023-05-11 00:34:03 +03:00
441999ba9f
LibC: add more types to sys/types.h
2023-05-11 00:33:53 +03:00
dd046b1ace
LibC: Add dummy signal.h
2023-05-10 23:20:27 +03:00
926aa238ab
LibC: add toupper, tolower in ctype.h
2023-05-10 23:13:56 +03:00
01fa521a03
LibC: Add dummy setjmp.h
2023-05-10 23:00:53 +03:00
f31da19266
LibC: Add dummy locale.h
2023-05-10 22:58:07 +03:00
ac12132ac0
LibC: add math.h with floorl
2023-05-10 22:35:42 +03:00
f43bfcb398
LibC: add better error string support
2023-05-10 02:22:31 +03:00
d5ce4c9d2c
LibC: add probably functional *printf
...
I wrote a general printf function that takes an putc function
pointer. We can use this to implement all the printf family
functions. I haven't done thorough testing with this, but it seems
to be functional for the most part
2023-05-10 02:00:28 +03:00
10d9b72da1
LibC: syscall() now returns -1 on error and updates errno
2023-05-07 01:51:39 +03:00
5bfcf6783e
LibC: add proper stdlib.h header
...
Function declarations taken from the posix specifications
2023-04-27 15:14:03 +03:00
94f8a657f1
LibC: add link to posix stdio.h
2023-04-27 14:16:25 +03:00
b15deb420f
LibC: Write mostly functioning stdio
2023-04-23 14:32:37 +03:00
fe87c08a02
LibC: add needed stubs to build executables with our compiler
2023-04-12 17:53:02 +03:00
8d6db168d6
Kernel: remove message from BAN::Error
...
We don't store the error message anymore in BAN::Error.
Instead we store a error code that can be mapped into a string.
This allows BAN::Error to only take 4 bytes instead of 128.
We should also make some kernel initialization just panic instead
of returning errors since they are required for succesfull boot
anyway.
2023-04-11 23:25:21 +03:00