diff options
author | sr | 2013-07-08 18:46:26 +0200 |
---|---|---|
committer | sr | 2013-07-08 18:46:26 +0200 |
commit | dc81a51d59ccf31a5b47b989060a626e97a3d709 (patch) | |
tree | bf4219d12573c91efe53ae0941dc0a95cca3caa6 /src/server/sockhelper.h | |
parent | Notes about locks (diff) | |
download | dnbd3-dc81a51d59ccf31a5b47b989060a626e97a3d709.tar.gz dnbd3-dc81a51d59ccf31a5b47b989060a626e97a3d709.tar.xz dnbd3-dc81a51d59ccf31a5b47b989060a626e97a3d709.zip |
Rewriting....
Diffstat (limited to 'src/server/sockhelper.h')
-rw-r--r-- | src/server/sockhelper.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/sockhelper.h b/src/server/sockhelper.h index 2cbcda1..421b8b5 100644 --- a/src/server/sockhelper.h +++ b/src/server/sockhelper.h @@ -53,6 +53,18 @@ void sock_set_nonblock(int sock); void sock_set_block(int sock); /** + * Take IPv4 as string and a port and fill sockaddr_in struct. + * This should be refactored to work for IPv4 and IPv6 and use sockaddr_storage. + */ +inline void sock_set_addr4(char *ip, uint16_t port, struct sockaddr_in *addr) +{ + memset(addr, 0, sizeof(*addr)); + addr->sin_family = AF_INET; // IPv4 + addr->sin_addr.s_addr = inet_addr(ip); + addr->sin_port = htons(port); // set port number +} + +/** * Add given socket to array. Take an existing empty slot ( == -1) if available, * append to end otherwise. Updates socket count variable passed by reference. * The passed socket fd is only added if it is != -1 for convenience, so you can |