rename getsocket() to getsocket4(). Add getsocket46() inline function.
authorHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Mon, 6 Sep 2010 09:12:07 +0000 (11:12 +0200)
committerHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Mon, 6 Sep 2010 09:12:07 +0000 (11:12 +0200)
src/bsd/net.c
src/interfaces.c
src/linux/net.c
src/net_os.h
src/win32/net.c

index c7e6dc4..b50d43f 100644 (file)
@@ -294,7 +294,7 @@ restore_settings(int version)
 
 
 int
-getsocket(int bufspace, struct interface *ifp, bool bind_to_unicast, uint16_t port)
+getsocket4(int bufspace, struct interface *ifp, bool bind_to_unicast, uint16_t port)
 {
   struct sockaddr_in sin4;
   int on;
index e485443..54dc994 100644 (file)
@@ -195,8 +195,8 @@ add_interface(struct olsr_if_config *iface) {
      * the socket to it. This to ensure that we can control
      * on what interface the message is transmitted
      */
-    ifp->olsr_socket = getsocket(BUFSPACE, ifp, false, olsr_cnf->olsr_port);
-    ifp->send_socket = getsocket(0, ifp, true, olsr_cnf->olsr_port);
+    ifp->olsr_socket = getsocket4(BUFSPACE, ifp, false, olsr_cnf->olsr_port);
+    ifp->send_socket = getsocket4(0, ifp, true, olsr_cnf->olsr_port);
 
     if (ifp->olsr_socket < 0 || ifp->send_socket < 0) {
       OLSR_ERROR(LOG_INTERFACE, "Could not initialize socket... exiting!\n\n");
index bcf0d24..e99937a 100644 (file)
@@ -349,7 +349,7 @@ restore_settings(int version)
  *@return the FD of the socket or -1 on error.
  */
 int
-getsocket(int bufspace, struct interface *ifp, bool bind_to_unicast, uint16_t port)
+getsocket4(int bufspace, struct interface *ifp, bool bind_to_unicast, uint16_t port)
 {
   struct sockaddr_in sin4;
   int on;
index 24ab4e7..71d1444 100644 (file)
 #ifndef _OLSR_NET_OS_H
 #define _OLSR_NET_OS_H
 
+#include <assert.h>
+#include <sys/time.h>
+
 #include "olsr_types.h"
 #include "interfaces.h"
-#include <sys/time.h>
 
 /* OS dependent functions */
 ssize_t olsr_sendto(int, const void *, size_t, int, const union olsr_sockaddr *);
@@ -74,7 +76,7 @@ int restore_settings(int);
 
 int enable_ip_forwarding(int);
 
-int getsocket(int, struct interface *, bool, uint16_t);
+int getsocket4(int, struct interface *, bool, uint16_t);
 
 int getsocket6(int, struct interface *, bool, uint16_t);
 
@@ -86,6 +88,19 @@ bool is_if_link_up(char *);
 
 int join_mcast(struct interface *, int);
 
+/* helper function for getting a socket */
+static inline int
+getsocket46(int family, int bufferSize, struct interface *interf,
+    bool bind_to_unicast, uint16_t port) {
+  assert (family == AF_INET || family == AF_INET6);
+
+  if (family == AF_INET) {
+    return getsocket4(bufferSize, interf, bind_to_unicast, port);
+  }
+  else {
+    return getsocket6(bufferSize, interf, bind_to_unicast, port);
+  }
+}
 #endif
 
 /*
index e75c323..19a9c0c 100644 (file)
@@ -74,7 +74,7 @@ int disable_ip_forwarding(int Ver);
 
 
 int
-getsocket(int bufspace, struct interface *ifp, bool bind_to_unicast, uint16_t port)
+getsocket4(int bufspace, struct interface *ifp, bool bind_to_unicast, uint16_t port)
 {
   struct sockaddr_in Addr;
   int On = 1;