summaryrefslogtreecommitdiff
path: root/kernel/socket.c
AgeCommit message (Collapse)Author
2024-12-12signal: Remove old way of sending signals and instead use procfsAnton Kling
2024-11-30kernel: Change math.h to use macrosAnton Kling
Having min/max be functions was a stupid decision in the first place
2024-11-28changesAnton Kling
2024-10-14kernel: small bug fixesAnton Kling
2024-07-08Kernel/Net: Don't use kmalloc to create send buffersAnton Kling
Current method is also really bad since it uses multiple copies when it should instead just copy to the send buffer of the network card directly. But I have other things that I want to prioritize first.
2024-07-06Kernel: Add queue syscall and improve TCPAnton Kling
2024-07-05TCP: Add back support for listening on a socketAnton Kling
2024-07-04TCP: Allow delay for sendsAnton Kling
This is not at all optimal for applications that already buffer their data but can have a huge impact on those that don't. Applications that don't wish to use this should disable this for their socket.
2024-07-04PIT: Fix dumb bugAnton Kling
The incorrect timer was being used for TCP ACK flush
2024-07-02TCP: Increase the receive buffer significantlyAnton Kling
2024-06-28Bug fix: Fix undefined behavior of ipv4_t type.Anton Kling
Turns out unions that include arrays and a integer can have UB due to endianess not being the same across systems.
2024-06-28RTL8139: Add out of memory conditionsAnton Kling
2024-06-26TCP: Delay ACKs to batch together packets ACKedAnton Kling
2024-06-26Kernel: Code cleanupAnton Kling
2024-06-26Networking stuffAnton Kling
TCP is now in a somewhat good state
2024-06-22Kernel stuffAnton Kling
2024-06-12Improve TCP blocking of requestsAnton Kling
2024-06-11TCP stuffAnton Kling
2024-06-09Add UDPAnton Kling
2024-04-29Kernel/IRC: Add setsockopt and move IRC client to use new socket interfaceAnton Kling
2024-04-29Kernel/Socket: Move sockets back to being file descriptorsAnton Kling
2024-04-28Kernel: Use ringbuffer for handling incoming socket dataAnton Kling
2024-04-27Kernel: Make file descriptor numbers reusable.Anton Kling
Instead of using the "append only" list it now uses "relist" which allows for indexes to be removed.
2024-04-26Kernel/VFS: Change polling from variables to functionsAnton Kling
Instead of having to store state in variables functions are called to check the object directly.
2024-04-23VFS: Fix reference count of file descriptors.Anton Kling
It appears that there was a race condition where the process got closed before the server accepted the incoming request. Causing the file descriptor to have "0" in the reference count but it would still be given when calling accept.
2024-04-02Kernel: Use "struct list" to handle file descriptors instead of a fixed ↵Anton Kling
sized array
2024-04-02Kernel: Fix some memory leaksAnton Kling
2024-03-28new stuffAnton Kling
2024-03-17stuffAnton Kling
2024-03-14random changes madeAnton Kling
2024-02-28TCP/UDP: Start rewrite of network socketsAnton Kling
Having sockets be file descriptors seems like a bad idea so I trying to make UDP and TCP sockets be more independent and not be abstracted away as much.
2024-02-21New clang-format optionsAnton Kling
2024-02-16General cleanupAnton Kling
2023-11-28Meta: Apply new clang-format rules to kernelAnton Kling
2023-11-22Kernel/RTL8139/Networking fixesAnton Kling
This is just a commit containing multiple fixes since I am too lazy to split them up.
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-17Kernel: Add isatty syscallAnton Kling
2023-11-15VFS: Add statAnton Kling
2023-11-13Kernel: Remove kmalloc_eternalAnton Kling
I would like to be able to free some of those objects but I have not decided upon how that will be done yet. Even if not freeded the added complexity of having two functions does not make the extra bytes saved worth it IMO.
2023-11-10Kernel Style: Change uint*_t -> u*Anton Kling
2023-11-01Kernel: Add a simple TCP implementationAnton Kling
2023-10-31Meta: Move kernel and userland to their own folders.Anton Kling
This is to allow both the kernel and the userland to share certain header files and to make the folder structure a bit more clear.