From 74630b4bfe1aa887ef57ee57b22241d030b38d76 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 15 Nov 2025 21:37:37 +0200 Subject: feat!: Initial web server base implementation --- src/sockets/socket_server.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/sockets/socket_server.h (limited to 'src/sockets/socket_server.h') diff --git a/src/sockets/socket_server.h b/src/sockets/socket_server.h new file mode 100644 index 0000000..c74c4fd --- /dev/null +++ b/src/sockets/socket_server.h @@ -0,0 +1,31 @@ +#ifndef __TERGIV_SOCKET_SERVER +#define __TERGIV_SOCKET_SERVER + +#include + +typedef struct callback_args { + void* input; + size_t input_size; + + void* output; + size_t output_size; + int free_output; + + void* extra; + size_t extra_size; +} callback_args; + +typedef struct socket_server { + int socket; + + int (*start)(struct socket_server* self); + void (*destroy)(struct socket_server* self); + + void (*callback)(callback_args* args); + void* callback_args; + size_t callback_argc; +} socket_server; + +socket_server* new_socket_server_single_req(uint16_t port, uint32_t incoming_ip); + +#endif /* __TERGIV_SOCKET_SERVER */ -- cgit v1.3.1-26-gb76a