52 Commits

Author SHA1 Message Date
42f26787fb
feat(userspace/libc): implement getdelim and getline functions
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:20:26 +02:00
8d08ab933a
feat(userspace/libc): implement fstatat, lstat & stat
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:17:19 +02:00
c83c542f5b
feat(userspace/libc): implement fstat()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:12:02 +02:00
08319ef4c7
docs(syscalls): add documentation for FBIOGET_SCREEN_INFO ioctl
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:09:09 +02:00
f4168e2815
refactor(userspace/libc): implement pthread_sigmask, sigaddset, sigfillset & sigprocmask
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:07:40 +02:00
123d11e4e3
feat(userspace/libc): implement system() function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:07:04 +02:00
b1a107fb65
refactor(userspace/libc): replace syscall2 with call_kill in kill function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:00:26 +02:00
d375acd0ec
fix(userspace/libc): include <ctype.h> in stdlib.c
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 01:53:21 +02:00
5e6e63ab1a
feat(userspace/libc): implement <ctype.h> header
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 01:52:37 +02:00
ab4bc55270
feat(userspace/libc): implement atoi, strtol, and strtoll functions in <stdlib.h>
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 01:49:41 +02:00
e5acf4a99e
feat(userspace/libc): implement getpid, getppid & getuid
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 01:49:12 +02:00
5089cfa81b
feat(userspace/libc): implement <pwd.h> header
Implemented everything except endpwent() and setpwent()

NOT TESTED!

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 01:45:04 +02:00
b5fce27037
feat(userspace/libc): implement getchar() and getc()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 21:57:51 +02:00
0238f62894
fix(userspace/libc): fix error handling in ioctl function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 21:03:53 +02:00
ce59b6ea03
feat(userspace/libc): extend termios header with input/output speed and winsize structure
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 20:59:48 +02:00
9dcb5abe89
feat(userspace/libc): add termios header file for terminal I/O control
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 20:43:37 +02:00
4ac29bbce1
feat(userspace/libc): define file descriptor macros for standard input/output
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 20:42:56 +02:00
4bb8ce6d00
feat(userspace/libc): complete <string.h> implementation
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 18:54:20 +02:00
0f9a1915d1
feat(userspace/libc): implement all <string.h> functions
Implement all string.h functions except some which require locale which is not implemented yet

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 22:15:20 +02:00
6dfefc90c4
feat(userspace/libc): implement strcpy function
Add strcpy implementation in string.c

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 20:07:20 +02:00
c688bd7a97
feat: synchronize syscalls.h
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 19:59:59 +02:00
d9235c6f90
userspace/libc: implement qsort, realloc and reallocarray functions in stdlib
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:19:14 +02:00
afa87ec5f3
userspace/libc: implement strcoll()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:18:40 +02:00
22d01c7a51
userspace/libc: add <sys/socket.h> for socket programming support
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:18:15 +02:00
dfe9bbdbfa
userspace/libc: implement read, pread, write & pwrite
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:17:47 +02:00
92ef18b412
userspace/libc: implement alphasort, fdopendir, opendir, posix_getdents, readdir & scandir
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:17:06 +02:00
d0a8d9dd62
userspace/libc: add <sys/uio.h> header for vector I/O operations
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:15:40 +02:00
f3e145e6f7
userspace/libc: add <netinet/in.h> header for IPv4 and IPv6 support
FIXME: not sure if this is implemented correctly

ref: https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/netinet_in.h.html
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:15:18 +02:00
d9433256ab
userspace/libc: add <arpa/inet.h>
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:13:48 +02:00
6c3eefa85d
userspace/libc: add stub uname function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-12 02:53:44 +02:00
2384791793
userspace/libc: add stub gethostname function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-12 02:53:13 +02:00
97af4d855f
userspace/libc: implement <sys/fcntl>
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-12 02:52:39 +02:00
b0f0982fd4
userspace/libc: update function signatures in fcntl.h
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-12 02:52:01 +02:00
bd1d117283
userspace/libc: add ioctl function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-12 02:51:14 +02:00
8f7938a1e5
userspace/libc: implement vfprintf function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-12 02:47:45 +02:00
b05868d120
userspace/libc: implement fprintf function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-12 02:43:43 +02:00
24fd486764
userspace/libc: implement strncpy function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-12 02:42:51 +02:00
833d8d497a
userspace/libc: implement sigaction(), sigemptyset(), signal() & strcspn()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-28 12:25:05 +02:00
cd49a219df
userspace/libc: include stdio.h in dirent.c
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-27 23:59:29 +02:00
48067d8f58
userspace/libc: implement close() & dirfd()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-27 23:58:54 +02:00
2f71bccef2
userspace/libc: implement std more functions
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-27 23:30:07 +02:00
62e482facb
fix: correct project name references in license headers
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-25 00:20:34 +02:00
1824c99ca0
userspace/libc: flush stdout & stderr on exit
Some checks failed
Build OS / Deploy Documentation to GitHub Pages (push) Failing after 9m48s
Build OS / Build Cross-Compiler & Toolchain (push) Successful in 1h57m16s
Build OS / Analyze (${{ matrix.language }}) (manual, c-cpp) (push) Failing after 6m20s
Build OS / Build amd64 (push) Failing after 6m19s
Build OS / Build aarch64 (push) Failing after 6m20s
Build OS / Build arm (push) Failing after 6m17s
Build OS / Build i386 (push) Failing after 19m15s
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-25 00:16:58 +02:00
e8b61e6d7f
userspace/libc: fix stack alignment
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-25 00:08:46 +02:00
69bc044b09
userspace: include crt1.c to streamline startup code
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-25 00:07:09 +02:00
75c8dbd31b
refactor: fix softfloat on aarch64 and arm
Some checks failed
Build OS / Analyze (${{ matrix.language }}) (manual, c-cpp) (push) Blocked by required conditions
Build OS / Build amd64 (push) Blocked by required conditions
Build OS / Build i386 (push) Blocked by required conditions
Build OS / Build aarch64 (push) Blocked by required conditions
Build OS / Build arm (push) Blocked by required conditions
Build OS / Deploy Documentation to GitHub Pages (push) Failing after 9m56s
Build OS / Build Cross-Compiler & Toolchain (push) Has been cancelled
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-11 06:48:48 +02:00
fbe9fbfbd1
kernel: add arm architecture support
Some checks failed
Build OS / Deploy Documentation to GitHub Pages (push) Failing after 5m35s
Build OS / Analyze (${{ matrix.language }}) (manual, c-cpp) (push) Has been cancelled
Build OS / Build Cross-Compiler & Toolchain (push) Has been cancelled
Build OS / Build amd64 (push) Has been cancelled
Build OS / Build i386 (push) Has been cancelled
Build OS / Build aarch64 (push) Has been cancelled
Build OS / Build arm (push) Has been cancelled
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-10 18:55:34 +02:00
e6933acfb0
kernel: add aarch64 architecture support
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-10 17:26:26 +02:00
2bb997597e
refactor: Fix build on i386
Some checks failed
CodeQL Advanced / Analyze (${{ matrix.language }}) (manual, c-cpp) (push) Has been cancelled
Deploy Documentation / Deploy Documentation to GitHub Pages (push) Has been cancelled
Build OS / Build Cross-Compiler & Toolchain (push) Has been cancelled
Build OS / Build amd64 (push) Has been cancelled
Build OS / Build i386 (push) Has been cancelled
Build OS / Build aarch64 (push) Has been cancelled
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-07 17:49:37 +02:00
6dae34debd
userspace: Rewrite everything
Everything.

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-04 06:27:54 +02:00