diff options
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 */ |
