diff options
author | Toni Uhlig <matzeton@googlemail.com> | 2018-05-13 13:41:22 +0200 |
---|---|---|
committer | Toni Uhlig <matzeton@googlemail.com> | 2018-05-13 13:41:22 +0200 |
commit | aebb4b9fa16bd82fc78d850dc47484c6d733b223 (patch) | |
tree | f1334993279ddc6bc9382e375a732120450924bc /src/redirector.h | |
parent | bc240cca7918d6e6f4f56fbe19d32eb20f07a567 (diff) |
POTD skeleton #47.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'src/redirector.h')
-rw-r--r-- | src/redirector.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/redirector.h b/src/redirector.h new file mode 100644 index 0000000..3d62335 --- /dev/null +++ b/src/redirector.h @@ -0,0 +1,28 @@ +#ifndef POTD_SERVER_H +#define POTD_SERVER_H 1 + +#include "socket.h" +#include "forward.h" +#include "pevent.h" + + +typedef struct redirector_ctx { + forward_ctx *fwd_ctx; + psocket sock; + char host_buf[NI_MAXHOST], service_buf[NI_MAXSERV]; +} redirector_ctx; + + +void redirector_init_ctx(redirector_ctx **rdr_ctx, forward_ctx *fwd_ctx); + +int redirector_setup(redirector_ctx *rdr_ctx, + const char *listen_addr, const char *listen_port); + +int redirector_validate_ctx(const redirector_ctx *rdr_ctx); + +int redirector_setup_event(redirector_ctx *rdr_ctx[], size_t siz, + event_ctx **ev_ctx); + +pid_t redirector_daemonize(event_ctx *ev_ctx, redirector_ctx *rdr_ctx[], size_t siz); + +#endif |