blob: c74c4fd54c67ce5ecafcf0777178998dfd4ea727 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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 */
|