diff options
author | Anton Kling <anton@kling.gg> | 2023-10-27 22:17:24 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2023-10-30 21:49:48 +0100 |
commit | d50d18c9da3a125f0196bec89802dec1c5b0b800 (patch) | |
tree | d9a4e74906c5ab51708d148ad3728cc155a9893d /userland/libc/sys/socket/sendto.c | |
parent | 4f9ed7087cb58683d9423ab771ad76b31dac5514 (diff) |
Kernel/LibC/Networking: Be able to send UDP messages
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.
Diffstat (limited to 'userland/libc/sys/socket/sendto.c')
-rw-r--r-- | userland/libc/sys/socket/sendto.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/userland/libc/sys/socket/sendto.c b/userland/libc/sys/socket/sendto.c new file mode 100644 index 0000000..73437ab --- /dev/null +++ b/userland/libc/sys/socket/sendto.c @@ -0,0 +1,16 @@ +#include <sys/socket.h> +#include <syscall.h> + +struct two_args { + uint32_t a; + uint32_t b; +}; + +size_t sendto(int socket, const void *message, size_t length, int flags, + const struct sockaddr *dest_addr, socklen_t dest_len) { + struct two_args extra = { + .a = dest_addr, + .b = dest_len, + }; + return syscall(SYS_SENDTO, socket, message, length, flags, &extra); +} |