]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ipaddr/ng_ipaddr.h
{Add|Del}_Ban_Invite > {Add_To|Del_From}_List(): more generic
[ngircd-alex.git] / src / ipaddr / ng_ipaddr.h
index 1e198b0e7ce41d49e0d18f8f0189e8a9dc1390c3..1f209ef9fb734ab4ac05b7d488c2a5ea1ebe7c4f 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * Functions for AF_ agnostic ipv4/ipv6 handling.
- *
  * (c) 2008 Florian Westphal <fw@strlen.de>, public domain.
  */
 
@@ -8,6 +6,15 @@
 #define NG_IPADDR_HDR
 #include "portab.h"
 
+/**
+ * @file
+ * Functions for AF_ agnostic ipv4/ipv6 handling (header).
+ */
+
+#include <assert.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+
 #ifdef HAVE_ARPA_INET_H
 # include <arpa/inet.h>
 #else
@@ -55,10 +62,10 @@ ng_ipaddr_salen(const ng_ipaddr_t *a)
 #ifdef WANT_IPV6
        assert(a->sa.sa_family == AF_INET || a->sa.sa_family == AF_INET6);
        if (a->sa.sa_family == AF_INET6)
-               return sizeof(a->sin6);
+               return (socklen_t)sizeof(a->sin6);
 #endif
        assert(a->sin4.sin_family == AF_INET);
-       return sizeof(a->sin4);
+       return (socklen_t)sizeof(a->sin4);
 }
 
 
@@ -81,7 +88,6 @@ ng_ipaddr_getport(const ng_ipaddr_t *a)
  * init a ng_ipaddr_t object.
  * @param addr: pointer to ng_ipaddr_t to initialize.
  * @param ip_str: ip address in dotted-decimal (ipv4) or hexadecimal (ipv6) notation
- *                if ip_str is NULL it is treated as 0.0.0.0/[::]
  * @param port: transport layer port number to use.
  */
 GLOBAL bool ng_ipaddr_init PARAMS((ng_ipaddr_t *addr, const char *ip_str, UINT16 port));
@@ -100,8 +106,11 @@ GLOBAL const char *ng_ipaddr_tostr PARAMS((const ng_ipaddr_t *addr));
 /* convert struct sockaddr to string. dest must be NG_INET_ADDRSTRLEN bytes long */
 GLOBAL bool ng_ipaddr_tostr_r PARAMS((const ng_ipaddr_t *addr, char *dest));
 #else
-static inline const char *
-ng_ipaddr_tostr(const ng_ipaddr_t *addr) { return inet_ntoa(addr->sin4.sin_addr); }
+static inline const char*
+ng_ipaddr_tostr(const ng_ipaddr_t *addr)
+{
+       return inet_ntoa(addr->sin4.sin_addr);
+}
 
 static inline bool
 ng_ipaddr_tostr_r(const ng_ipaddr_t *addr, char *d)