force server's ip address for outgoing connection when not bound to 0.0.0.0
[rofl0r-microsocks.git] / server.h
blob46d0a88b31b319bef31ccf2d5ede26aedd1b6d08
1 #ifndef SERVER_H
2 #define SERVER_H
4 #undef _POSIX_C_SOURCE
5 #define _POSIX_C_SOURCE 200809L
7 #include <sys/socket.h>
8 #include <netdb.h>
10 //RcB: DEP "server.c"
12 union sockaddr_union {
13 struct sockaddr_in v4;
14 struct sockaddr_in6 v6;
17 struct client {
18 union sockaddr_union addr;
19 int fd;
22 struct server {
23 union sockaddr_union bindaddr;
24 int fd;
25 socklen_t bindaddrsz;
28 int resolve(const char *host, unsigned short port, struct addrinfo** addr);
29 int server_bindtoip(const struct server *server, int fd);
30 int server_waitclient(struct server *server, struct client* client);
31 int server_setup(struct server *server, const char* listenip, unsigned short port);
33 #endif