Bananymous
|
c12f4fb40f
|
Kernel: Make signals more POSIX
|
2023-07-21 20:01:12 +03:00 |
Bananymous
|
10169d773d
|
Kernel/LibC: Add SYS_KILL/kill()
|
2023-07-21 19:27:38 +03:00 |
Bananymous
|
c2cf98e32f
|
Kernel/LibC: Add bareboness signals
You can now call raise() to raise a signal. Signal handlers are
not yet supported, but the handling works :)
|
2023-07-21 15:45:02 +03:00 |
Bananymous
|
4154f43b49
|
LibC: add getpwname() and getpwuid()
|
2023-07-13 12:01:16 +03:00 |
Bananymous
|
b1fcb0b58f
|
LibC: implement endpwent(), getpwent() and setpwent()
|
2023-07-13 11:22:09 +03:00 |
Bananymous
|
f7c4bc908e
|
Kernel: open() and openat() now take mode as parameter
O_CREAT now tries to create file if O_CREAT is specified
|
2023-07-10 15:08:54 +03:00 |
Bananymous
|
51e4b11890
|
LibC: add NAME_MAX to limits.h
This is defined to 255 which is _XOPEN_NAME_MAX, smallest value
for XOPEN compliance
|
2023-07-10 11:48:11 +03:00 |
Bananymous
|
a337f414fc
|
LibC: limits.h now defined OPEN_MAX
|
2023-07-07 23:08:49 +03:00 |
Bananymous
|
07fec6e211
|
Kernel/LibC: add basic dup2
|
2023-07-06 23:17:54 +03:00 |
Bananymous
|
4cd72992c8
|
Kernel/LibC: Add basic pipe() syscall and command
You can now create pipes :)
|
2023-07-06 22:16:26 +03:00 |
Bananymous
|
cdcb395640
|
LibC: add read() and write() to unistd
|
2023-07-06 22:15:55 +03:00 |
Bananymous
|
1fb305fa45
|
Kernel/LibC: add clock_gettime() for CLOCK_MONOTONIC
This gets the number of milliseconds since boot
|
2023-07-06 00:38:29 +03:00 |
Bananymous
|
60fe5a656c
|
LibC: Fix syscall SYS_READ and SYS_WRITE arguments
|
2023-06-19 10:38:29 +03:00 |
Bananymous
|
f09b82c4b5
|
Kernel/LibC: add SYS_{SET,GET}_PWD and chdir, getpwd
|
2023-06-12 02:02:52 +03:00 |
Bananymous
|
11b68f6a53
|
Kernel: Add SYS_GET_{,E}{UID,GID}
|
2023-06-11 22:37:00 +03:00 |
Bananymous
|
3fe67e4882
|
Kernel: Add syscalls for set{,e,re}{uid,gid}
|
2023-06-11 22:37:00 +03:00 |
Bananymous
|
9288537949
|
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 |
Bananymous
|
78536f9678
|
Kernel/Userspace: Add basic init process
This process parses /etc/passwd and promps login screen.
When an username is entered, it will launch that users shell
|
2023-06-11 22:37:00 +03:00 |
Bananymous
|
297141f321
|
LibC: add strchrnul()
this is a gnu libc extension
|
2023-06-11 20:18:03 +03:00 |
Bananymous
|
83a6e6f637
|
LibC: Reorder some syscalls
|
2023-06-11 03:29:22 +03:00 |
Bananymous
|
64890bb640
|
Kernel: Add SYS_OPENAT
|
2023-06-11 03:29:22 +03:00 |
Bananymous
|
68ec443e07
|
LibC: implement close
|
2023-06-11 03:29:22 +03:00 |
Bananymous
|
aa86125f2b
|
Kernel: Implement SYS_FSTAT
|
2023-06-11 03:29:22 +03:00 |
Bananymous
|
c423164066
|
LibC: Implement basic dirent functionality
We don't currently support seeking
|
2023-06-11 03:29:22 +03:00 |
Bananymous
|
eae6119039
|
Kernel: Add syscall for reading directory entries
|
2023-06-11 00:18:08 +03:00 |
Bananymous
|
30f81e1696
|
LibC: add missing O_EXEC and O_SEARCH
|
2023-06-11 00:17:18 +03:00 |
Bananymous
|
24993f6020
|
LibC: implement setenv, unsetenv, putenv
|
2023-06-05 22:51:02 +03:00 |
Bananymous
|
55ea5c5488
|
Kernel: add basic support for environment variables
exec functions will search files from PATH
|
2023-06-05 22:51:02 +03:00 |
Bananymous
|
896b919c9d
|
Kernel/LibC: pass environ pointer to process
|
2023-06-05 21:12:08 +03:00 |
Bananymous
|
a7dc7ecb90
|
LibC: abort now prints 'abort()' and exits
we used to call assert in abort which then recursively called
abort again.
|
2023-06-05 18:23:19 +03:00 |
Bananymous
|
d1ad38c8d4
|
Kernel/LibC: add SYS_STAT and stat(), lstat()
|
2023-06-05 14:37:14 +03:00 |
Bananymous
|
40055f023c
|
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 |
Bananymous
|
3a79880e69
|
LibC: printf string persision works now
|
2023-06-03 15:07:02 +03:00 |
Bananymous
|
88e92eec9e
|
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 |
Bananymous
|
a41b8e416f
|
LibC: add __cxa_at_exit() for libc
|
2023-06-02 17:50:55 +03:00 |
Bananymous
|
8716c8baf4
|
LibC: remove select() declaration
This already comes from sys/select.h
|
2023-06-02 17:29:09 +03:00 |
Bananymous
|
2d67a7153b
|
LibC: rename [[noreturn]] to __attribute__((__noreturn__))
This compiles with C compiler
|
2023-06-02 17:28:36 +03:00 |
Bananymous
|
3fcc7c6768
|
LibC: stdlib.h doesn't seem to typedef wchar_t without __need_wchar_t
|
2023-06-02 17:27:31 +03:00 |
Bananymous
|
5d2a062b36
|
LibC: fix INFINITY definition typo
|
2023-06-02 17:27:14 +03:00 |
Bananymous
|
e517ff6b6d
|
LibC: fix DIR typedef for C code
|
2023-06-02 17:26:38 +03:00 |
Bananymous
|
7296846a81
|
LibC: complex.h undefs I before defining it
|
2023-06-02 17:13:09 +03:00 |
Bananymous
|
6abcb0de9b
|
LibC: mbstate_t is empty struct
|
2023-06-02 17:10:29 +03:00 |
Bananymous
|
40f9d9d9bc
|
LibC: fix sig_atomic_t definition
|
2023-06-02 17:08:43 +03:00 |
Bananymous
|
a378e59432
|
BuildSystem: link libraries when they change
This also fixed the need for manual linkin on firt build
|
2023-05-31 23:01:40 +03:00 |
Bananymous
|
0f412e570c
|
LibC: add execl
|
2023-05-31 22:36:26 +03:00 |
Bananymous
|
24a190d1f7
|
Kernel: Add SYS_EXEC syscall
|
2023-05-31 20:57:33 +03:00 |
Bananymous
|
e8f820ef8d
|
LibC: Fix some headers to make gcc build again
|
2023-05-30 01:17:45 +03:00 |
Bananymous
|
fb17af4844
|
Kernel/LibC: opening standard files is done in libc
|
2023-05-29 20:21:19 +03:00 |
Bananymous
|
9a8512887f
|
LibC: open() now just returns syscall(SYS_OPEN, ...)
errno is handled in syscall()
|
2023-05-29 20:19:17 +03:00 |
Bananymous
|
998999a755
|
Kernel: Add SYS_SLEEP
|
2023-05-28 22:34:48 +03:00 |