Bananymous
|
2149cec29f
|
Kernel: Make signals more POSIX
|
2023-07-21 20:01:12 +03:00 |
Bananymous
|
ad756c36fc
|
Kernel/LibC: Add SYS_KILL/kill()
|
2023-07-21 19:27:38 +03:00 |
Bananymous
|
dcd4d0daeb
|
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
|
bba09a3cd0
|
LibC: add getpwname() and getpwuid()
|
2023-07-13 12:01:16 +03:00 |
Bananymous
|
985df3532b
|
LibC: implement endpwent(), getpwent() and setpwent()
|
2023-07-13 11:22:09 +03:00 |
Bananymous
|
4972284dde
|
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
|
6d93c1eb92
|
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
|
274ecbba78
|
LibC: limits.h now defined OPEN_MAX
|
2023-07-07 23:08:49 +03:00 |
Bananymous
|
a549336530
|
Kernel/LibC: add basic dup2
|
2023-07-06 23:17:54 +03:00 |
Bananymous
|
4eb95c963d
|
Kernel/LibC: Add basic pipe() syscall and command
You can now create pipes :)
|
2023-07-06 22:16:26 +03:00 |
Bananymous
|
22caacd2a9
|
LibC: add read() and write() to unistd
|
2023-07-06 22:15:55 +03:00 |
Bananymous
|
3c068aa0ae
|
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
|
d99e704728
|
LibC: Fix syscall SYS_READ and SYS_WRITE arguments
|
2023-06-19 10:38:29 +03:00 |
Bananymous
|
0f63cfa43f
|
Kernel/LibC: add SYS_{SET,GET}_PWD and chdir, getpwd
|
2023-06-12 02:02:52 +03:00 |
Bananymous
|
b254ade69b
|
Kernel: Add SYS_GET_{,E}{UID,GID}
|
2023-06-11 22:37:00 +03:00 |
Bananymous
|
ef4ebaa969
|
Kernel: Add syscalls for set{,e,re}{uid,gid}
|
2023-06-11 22:37:00 +03:00 |
Bananymous
|
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 |
Bananymous
|
51eb44bf40
|
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
|
071da18fa3
|
LibC: add strchrnul()
this is a gnu libc extension
|
2023-06-11 20:18:03 +03:00 |
Bananymous
|
8be28012ee
|
LibC: Reorder some syscalls
|
2023-06-11 03:29:22 +03:00 |
Bananymous
|
5aed186827
|
Kernel: Add SYS_OPENAT
|
2023-06-11 03:29:22 +03:00 |
Bananymous
|
f0b22c48b2
|
LibC: implement close
|
2023-06-11 03:29:22 +03:00 |
Bananymous
|
52c4eebd77
|
Kernel: Implement SYS_FSTAT
|
2023-06-11 03:29:22 +03:00 |
Bananymous
|
24f0d26fce
|
LibC: Implement basic dirent functionality
We don't currently support seeking
|
2023-06-11 03:29:22 +03:00 |
Bananymous
|
7a5d5cabad
|
Kernel: Add syscall for reading directory entries
|
2023-06-11 00:18:08 +03:00 |
Bananymous
|
f7de310889
|
LibC: add missing O_EXEC and O_SEARCH
|
2023-06-11 00:17:18 +03:00 |
Bananymous
|
86f58f60cb
|
LibC: implement setenv, unsetenv, putenv
|
2023-06-05 22:51:02 +03:00 |
Bananymous
|
064ce568c2
|
Kernel: add basic support for environment variables
exec functions will search files from PATH
|
2023-06-05 22:51:02 +03:00 |
Bananymous
|
b0e9ab0519
|
Kernel/LibC: pass environ pointer to process
|
2023-06-05 21:12:08 +03:00 |
Bananymous
|
480842a203
|
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
|
9d64dbd5c2
|
Kernel/LibC: add SYS_STAT and stat(), lstat()
|
2023-06-05 14:37:14 +03:00 |
Bananymous
|
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 |
Bananymous
|
4f84faf392
|
LibC: printf string persision works now
|
2023-06-03 15:07:02 +03:00 |
Bananymous
|
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 |
Bananymous
|
2207357b93
|
LibC: add __cxa_at_exit() for libc
|
2023-06-02 17:50:55 +03:00 |
Bananymous
|
3a69768eb0
|
LibC: remove select() declaration
This already comes from sys/select.h
|
2023-06-02 17:29:09 +03:00 |
Bananymous
|
afb29ff3ec
|
LibC: rename [[noreturn]] to __attribute__((__noreturn__))
This compiles with C compiler
|
2023-06-02 17:28:36 +03:00 |
Bananymous
|
e6f0f891a6
|
LibC: stdlib.h doesn't seem to typedef wchar_t without __need_wchar_t
|
2023-06-02 17:27:31 +03:00 |
Bananymous
|
36e5aa4683
|
LibC: fix INFINITY definition typo
|
2023-06-02 17:27:14 +03:00 |
Bananymous
|
7738050105
|
LibC: fix DIR typedef for C code
|
2023-06-02 17:26:38 +03:00 |
Bananymous
|
4bf11ec349
|
LibC: complex.h undefs I before defining it
|
2023-06-02 17:13:09 +03:00 |
Bananymous
|
d821012eed
|
LibC: mbstate_t is empty struct
|
2023-06-02 17:10:29 +03:00 |
Bananymous
|
35c6edd989
|
LibC: fix sig_atomic_t definition
|
2023-06-02 17:08:43 +03:00 |
Bananymous
|
cb359a05dc
|
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
|
0acab11620
|
LibC: add execl
|
2023-05-31 22:36:26 +03:00 |
Bananymous
|
ab61b49aca
|
Kernel: Add SYS_EXEC syscall
|
2023-05-31 20:57:33 +03:00 |
Bananymous
|
341f7e41e5
|
LibC: Fix some headers to make gcc build again
|
2023-05-30 01:17:45 +03:00 |
Bananymous
|
7151bb86a8
|
Kernel/LibC: opening standard files is done in libc
|
2023-05-29 20:21:19 +03:00 |
Bananymous
|
2a34391b71
|
LibC: open() now just returns syscall(SYS_OPEN, ...)
errno is handled in syscall()
|
2023-05-29 20:19:17 +03:00 |
Bananymous
|
0c316ebfb2
|
Kernel: Add SYS_SLEEP
|
2023-05-28 22:34:48 +03:00 |