summaryrefslogtreecommitdiff
path: root/userland/libc
AgeCommit message (Collapse)Author
2023-11-24LibC: Fill new allocations with random data and fix a bugAnton Kling
The bug was noticed as a result of this new randomization of allocations.
2023-11-24Refactor write() and pwrite()Anton Kling
2023-11-24Refactor open()Anton Kling
2023-11-23Kernel/LibC: Add randomfill() syscall.Anton Kling
This syscall aims to fill the given buffer with cryptographically secure random data. If the syscall returns and does not cause a page fault it will **always** have filled the buffer with random data and never gives back any error value.
2023-11-23LibC: Move assembly to its own file to avoid using inlineAnton Kling
This was a ugly hack and in this case it caused undefined behavior.
2023-11-23LibC: Reduce warnings in codeAnton Kling
2023-11-22LibC: Add fflush() and buffer writes to file descriptorsAnton Kling
2023-11-22Meta: Use dirent as a general include fileAnton Kling
This include file is shared by the kernel and libc
2023-11-22Kernel/LibC: Change file type detectionAnton Kling
2023-11-22Meta: Cleanup of header files such that they are partially sharedAnton Kling
The /include directory contains definitons that both the kernel and libc need to be in sync.
2023-11-20LibC: Add ntohs and ntohlAnton Kling
2023-11-20LibC: Add macros for stdin, stdout, stderr in unistdAnton Kling
2023-11-20LibC: Allow open to accept multiple argumentsAnton Kling
2023-11-20LibC: Add macros for file regnitionAnton Kling
2023-11-17LibC: Add isatty()Anton Kling
2023-11-16LibC: Add error checking to scandirAnton Kling
2023-11-15VFS/LibC: Add getcwd()Anton Kling
2023-11-15LibC: Add getdelim and getlineAnton Kling
2023-11-15Kernel/LibC: Add chdir function and syscallAnton Kling
2023-11-15VFS: Add statAnton Kling
2023-11-13LibC: Support negative values in printf for %dAnton Kling
2023-11-01Kernel: Add a simple TCP implementationAnton Kling
2023-10-31Meta: Create a simple toolchain compilation scriptAnton Kling
2023-10-30LibC: Remove header files that are not in the "include" directoryAnton Kling
2023-10-30LibC: Don't fail if a free() is done that the wrong address location.Anton Kling
2023-10-30Kernel/LibC: Add signals and support for custom signal handlers to processes.Anton Kling
2023-10-30LibC: Bug fix, make sure to invalidate cache if it skips using itAnton Kling
Since when the cache gets skipped the offset in the file increases far outside of the reach of the current cache. Therefore the current cache should be discarded.
2023-10-30LibC: Skip using cache if length requested is longer than the cache blockAnton Kling
This avoid a bunch of extra systemcalls that would have to be made to read each portion into a cache block.
2023-10-30Kernel/LibC/Networking: Be able to send UDP messagesAnton Kling
Now it can send UDP messages to a specific IP address and libc has enough to create a basic UDP ECHO server, that is kinda cool.
2023-10-30Kernel: Expose source information of incoming UDP packetsAnton Kling
2023-10-30LibC: Optimize memcpy functionAnton Kling
Instead of copying byte by byte it now copies in 64, 32, 16, 8 bit chunks.
2023-10-30Kernel/Networking/LibC: Add syscalls and libc functions for UDPAnton Kling
This allows a UDP server to be created in userland and read data. Currently it can't send data and is very very simplistic. Code is horrible and probably needs some fixing until it can be further built upon.
2023-10-24VFS/LibC: Create ftruncate function and corresponding syscall and libc ↵Anton Kling
implementation Previously this function was only used for shared memory region created by shm_open because I was lazy. Now exists for all files.
2023-10-24LibC: Allocate stdin, stdout, stderr on the heap so they can be closed with ↵Anton Kling
fclose
2023-10-23VFS/libc: Create a syscall for mkdir and add the function to libcAnton Kling
2023-10-22libc: Implement fscanf functionAnton Kling
2023-10-22libc: Add a cache to the fread function for reading from files on disk.Anton Kling
This helps a ton when using functions such as fscanf that reads from a FILE byte by byte. By creating a cache it avoids a ton of 'read' syscalls that would otherwise be made.
2023-10-22Change CC in Makefiles to not use a absolute pathAnton Kling
2023-10-22Move everything into a new repo.Anton Kling