Add more resilient TCP listening function.
[doldaconnect.git] / daemon / net.h
index a34b24f..3f04ab1 100644 (file)
 #define SOCK_SYN 1 /* Connecting */
 #define SOCK_EST 2 /* Established */
 #define SOCK_STL 3 /* Stale, dead */
-#define SOCK_TOS_MINDELAY 0x10
-#define SOCK_TOS_MAXTP 0x08
-#define SOCK_TOS_MAXREL 0x04
-#define SOCK_TOS_MINCOST 0x02
+#define SOCK_TOS_MINDELAY 4
+#define SOCK_TOS_MAXTP 3
+#define SOCK_TOS_MAXREL 2
+#define SOCK_TOS_MINCOST 1
 
 struct dgrambuf
 {
@@ -92,6 +92,7 @@ void putsock(struct socket *sk);
 void getsock(struct socket *sk);
 struct socket *netcslisten(int type, struct sockaddr *name, socklen_t namelen, void (*func)(struct socket *, struct socket *, void *), void *data);
 struct socket *netcslistenlocal(int type, struct sockaddr *name, socklen_t namelen, void (*func)(struct socket *, struct socket *, void *), void *data);
+struct socket *netcstcplisten(int port, int local, void (*func)(struct socket *, struct socket *, void *), void *data);
 struct socket *netcsconn(struct sockaddr *addr, socklen_t addrlen, void (*func)(struct socket *, int, void *), void *data);
 int pollsocks(int timeout);
 void sockqueue(struct socket *sk, void *data, size_t size);
@@ -108,6 +109,7 @@ struct socket *wrapsock(int fd);
 size_t sockgetdatalen(struct socket *sk);
 int getpublicaddr(int af, struct sockaddr **addr, socklen_t *lenbuf);
 int socksettos(struct socket *sk, int tos);
+int addreq(struct sockaddr *x, struct sockaddr *y);
 char *formataddress(struct sockaddr *arg, socklen_t arglen);
 void sockpushdata(struct socket *sk, void *buf, size_t size);