summaryrefslogtreecommitdiffstats
path: root/src/server/sockhelper.h
diff options
context:
space:
mode:
authorsr2013-01-15 13:11:58 +0100
committersr2013-01-15 13:11:58 +0100
commitacac3e9ac91505ab50321b465e7f44f277e9454f (patch)
tree0077374b18163dc0c105a2c14566f29d32a6bdee /src/server/sockhelper.h
parent[SERVER] Fix double-free/dangling pointer related to deleting a trusted names... (diff)
downloaddnbd3-acac3e9ac91505ab50321b465e7f44f277e9454f.tar.gz
dnbd3-acac3e9ac91505ab50321b465e7f44f277e9454f.tar.xz
dnbd3-acac3e9ac91505ab50321b465e7f44f277e9454f.zip
[SERVER] Add socket helper module to simplify connection setup
[SERVER] Add more comments to job.c
Diffstat (limited to 'src/server/sockhelper.h')
-rw-r--r--src/server/sockhelper.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/server/sockhelper.h b/src/server/sockhelper.h
new file mode 100644
index 0000000..28525c4
--- /dev/null
+++ b/src/server/sockhelper.h
@@ -0,0 +1,23 @@
+#ifndef SOCKHELPER_H_
+#define SOCKHELPER_H_
+
+#include <stdint.h>
+#include "../types.h"
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+int sock_connect4(struct sockaddr_in *addr, const int connect_ms, const int rw_ms);
+
+int sock_connect6(struct sockaddr_in6 *addr, const int connect_ms, const int rw_ms);
+
+/**
+ * Connect to given dnbd3_host_t.
+ * @param addr - address of host to connect to
+ * @param connect_ms - timeout in milliseconds after which the connection attempt fails
+ * @param rw_ms - read/write timeout in milliseconds to apply on successful connect
+ * @return socket file descriptor, or -1 on error
+ */
+int sock_connect(const dnbd3_host_t * const addr, const int connect_ms, const int rw_ms);
+
+#endif /* SOCKHELPER_H_ */