summaryrefslogtreecommitdiffstats
path: root/socket.h
diff options
context:
space:
mode:
authorJuanJo Ciarlante <jjo@google.com>2009-09-24 20:09:55 +0200
committerJuanJo Ciarlante <juanjosec@gmail.com>2011-03-25 13:30:29 +0100
commit6d1b80bdeb5e0df3dee6a8bc05d7e3f622371c1c (patch)
treeb9be9a75dc0df2bc915950ab20d7668e351276da /socket.h
parente47877099ebe7d98eb74c2b3efff902a77d0253f (diff)
downloadopenvpn-6d1b80bdeb5e0df3dee6a8bc05d7e3f622371c1c.tar.gz
openvpn-6d1b80bdeb5e0df3dee6a8bc05d7e3f622371c1c.tar.xz
openvpn-6d1b80bdeb5e0df3dee6a8bc05d7e3f622371c1c.zip
* correctly setup hints.ai_socktype for getaddrinfo(),
althought sorta hacky, see TODO.ipv6.
Diffstat (limited to 'socket.h')
-rw-r--r--socket.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/socket.h b/socket.h
index 092d448..f864ab1 100644
--- a/socket.h
+++ b/socket.h
@@ -210,6 +210,7 @@ struct link_socket
# define SF_TCP_NODELAY (1<<1)
# define SF_PORT_SHARE (1<<2)
# define SF_HOST_RANDOMIZE (1<<3)
+# define SF_GETADDRINFO_DGRAM (1<<4)
unsigned int sockflags;
/* for stream sockets */
@@ -474,6 +475,11 @@ struct resolve_list {
#define GETADDR_UPDATE_MANAGEMENT_STATE (1<<8)
#define GETADDR_RANDOMIZE (1<<9)
+/* [ab]use flags bits to get socktype info downstream */
+/* TODO(jjo): resolve tradeoff between hackiness|args-overhead */
+#define GETADDR_DGRAM (1<<10)
+#define dnsflags_to_socktype(flags) ((flags & GETADDR_DGRAM) ? SOCK_DGRAM : SOCK_STREAM)
+
in_addr_t getaddr (unsigned int flags,
const char *hostname,
int resolve_retry_seconds,