diff options
| Commit | 74630b4bfe1aa887ef57ee57b22241d030b38d76 (patch) | |
|---|---|---|
| Author | 2025-11-15 21:37:37 +0200 | |
| Committer | 2025-11-15 21:37:37 +0200 | |
| Files | 3d39c585df1551d69fdb83980c010ec4b579f211 /src/sockets/socket_server.h | |
| tergiv-74630b4bfe1aa887ef57ee57b22241d030b38d76.tar tergiv-74630b4bfe1aa887ef57ee57b22241d030b38d76.tar.gz tergiv-74630b4bfe1aa887ef57ee57b22241d030b38d76.zip | ||
| Parent | 3bca23eaaa49fa01f60ecbc5e0a329d29f088506 (diff) | |
feat!: Initial web server base implementation
1 files changed, 31 insertions, 0 deletions
| -rw-r--r-- | src/sockets/socket_server.h | 31 |
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 <arpa/inet.h> + +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 */ |
