diff options
author | Toni Uhlig <matzeton@googlemail.com> | 2018-04-16 17:25:09 +0200 |
---|---|---|
committer | Toni Uhlig <matzeton@googlemail.com> | 2018-04-16 17:25:09 +0200 |
commit | c9b3ea785346546948afcf685c80c460f3b1317a (patch) | |
tree | e5e43c24167f8e0a4d66e776ea71219e6e3d4adc /src/server.h | |
parent | 914f8f335d73c4dd69b72f6f2d8c53257bce497d (diff) |
POTD skeleton #10.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'src/server.h')
-rw-r--r-- | src/server.h | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/src/server.h b/src/server.h index 07ca93b..2460507 100644 --- a/src/server.h +++ b/src/server.h @@ -2,33 +2,22 @@ #define POTD_SERVER_H 1 #include "socket.h" +#include "forward.h" #define POTD_MAXFD 32 #define POTD_MAXEVENTS 64 -typedef struct server_data { - void *data; -} server_data; - -typedef int (*on_listen_cb) (struct server_data *data); -typedef int (*on_shutdown_cb) (struct server_data *data); - -typedef struct server_callbacks { - on_listen_cb on_listen; - on_shutdown_cb on_shutdown; -} server_callbacks; - typedef struct server_ctx { - server_callbacks server_cbs; - server_data server_dat; + forward_ctx *fwd_ctx; psocket sock; char host_buf[NI_MAXHOST], service_buf[NI_MAXSERV]; } server_ctx; -typedef int (*init_cb) (struct server_ctx *ctx); +int server_init_ctx(server_ctx **ctx, forward_ctx *fwd_ctx); -int server_init_ctx(server_ctx **ctx, init_cb init_fn); +int server_setup(server_ctx *ctx, + const char *listen_addr, const char *listen_port); int server_validate_ctx(const server_ctx *ctx); |