* removed the unused functions get_if_property_id(), add_if_geninfo(),
authorBernd Petrovitsch <bernd@firmix.at>
Thu, 6 Dec 2007 21:12:56 +0000 (21:12 +0000)
committerBernd Petrovitsch <bernd@firmix.at>
Thu, 6 Dec 2007 21:12:56 +0000 (21:12 +0000)
  get_if_geninfo(), del_if_geninfo()
* if_ifwithindex() is used only locally: made it "static"
* Simplified a little bit: addrsock and addrsock6 are defined and
  initialized in interfaces.c, used in src/*/net.c and passed as parameter
  to the functions getsocket{,6}() in src/*/ifnet.c.
  We now just define and initialize that locally.

src/interfaces.c
src/interfaces.h
src/unix/ifnet.c
src/win32/net.c

index 2ca830d..507afd8 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: interfaces.c,v 1.39 2007/12/02 19:00:27 bernd67 Exp $
+ * $Id: interfaces.c,v 1.40 2007/12/06 21:12:56 bernd67 Exp $
  */
 
 #include "defs.h"
 #include "net_olsr.h"
 #include "ipcalc.h"
 
-static olsr_u32_t if_property_id;
+static struct interface *if_ifwithindex(const int if_index);
 
 /* The interface linked-list */
 struct interface *ifnet;
 
-/* Datastructures to use when creating new sockets */
-struct sockaddr_in addrsock;
-struct sockaddr_in6 addrsock6;
-
 
 /* Ifchange functions */
 struct ifchgf
@@ -82,27 +78,6 @@ ifinit(void)
   /* Initial values */
   ifnet = NULL;
 
-  /*
-   *Initializing addrsock struct to be
-   *used on all the sockets
-   */
-  if(olsr_cnf->ip_version == AF_INET)
-    {
-      /* IP version 4 */
-      memset(&addrsock, 0, sizeof (addrsock));
-      addrsock.sin_family = AF_INET;
-      addrsock.sin_port = htons(OLSRPORT);
-      (addrsock.sin_addr).s_addr = INADDR_ANY;
-    }
-  else
-    {
-      /* IP version 6 */
-      memset(&addrsock6, 0, sizeof (addrsock6));
-      addrsock6.sin6_family = AF_INET6;
-      addrsock6.sin6_port = htons(OLSRPORT);
-      //(addrsock6.sin6_addr).s_addr = IN6ADDR_ANY_INIT;
-    }
-
   OLSR_PRINTF(1, "\n ---- Interface configuration ---- \n\n");
     /* Run trough all interfaces immedeatly */
     for(tmp_if = olsr_cnf->interfaces; tmp_if != NULL; tmp_if = tmp_if->next)
@@ -123,88 +98,6 @@ ifinit(void)
   return (ifnet == NULL) ? 0 : 1;
 }
 
-
-olsr_u32_t
-get_if_property_id(void)
-{
-  return if_property_id++;
-}
-
-olsr_bool
-add_if_geninfo(struct interface *ifp, void *data, olsr_u32_t owner_id)
-{
-  struct if_gen_property *igp;
-
-  if(get_if_geninfo(ifp, owner_id) != NULL)
-    return OLSR_FALSE;
-
-  igp = olsr_malloc(sizeof(struct if_gen_property), __func__);
-
-  igp->owner_id = owner_id;
-  igp->data = data;
-
-  /* queue */
-  igp->next = ifp->gen_properties;
-  ifp->gen_properties = igp;
-
-  return OLSR_TRUE;
-}
-
-void *
-get_if_geninfo(struct interface *ifp, olsr_u32_t owner_id)
-{
-  struct if_gen_property *igp_list = ifp->gen_properties;
-
-
-  while(igp_list)
-    {
-      if(igp_list->owner_id == owner_id)
-       return igp_list->data;
-
-      igp_list = igp_list->next;
-    }
-
-  return NULL;
-}
-
-void *
-del_if_geninfo(struct interface *ifp, olsr_u32_t owner_id)
-{
-  void *data = NULL;
-  struct if_gen_property *igp_list = ifp->gen_properties;
-  struct if_gen_property *igp_prev = NULL;
-
-
-  while(igp_list)
-    {
-      if(igp_list->owner_id == owner_id)
-       break;
-
-      igp_prev = igp_list;
-      igp_list = igp_list->next;
-    }
-
-  /* Not found */
-  if(igp_list == NULL)
-    return NULL;
-
-  /* Dequeue */
-  if(igp_prev == NULL)
-    {
-      /* First elem */
-      ifp->gen_properties = igp_list->next;
-    }
-  else
-    {
-      igp_prev->next = igp_list->next;
-    }
-  data = igp_list->data;
-  free(igp_list);
-
-  return data;
-}
-
-
 void
 run_ifchg_cbs(struct interface *ifp, int flag)
 {
@@ -296,21 +189,17 @@ if_ifwithsock(int fd)
 struct interface *
 if_ifwithname(const char *if_name)
 {
-  struct interface *ifp;
-  ifp = ifnet;
-
-  while (ifp) 
-    {
-      /* good ol' strcmp should be sufficcient here */
-      if (!strcmp(ifp->int_name, if_name))
-       return ifp;
-      ifp = ifp->int_next;
+  struct interface *ifp = ifnet;
+  while (ifp) {
+    /* good ol' strcmp should be sufficcient here */
+    if (strcmp(ifp->int_name, if_name) == 0) {
+      return ifp;
     }
-  
+    ifp = ifp->int_next;
+  }
   return NULL;
 }
 
-
 /**
  *Find the interface with a given interface index.
  *
@@ -319,20 +208,19 @@ if_ifwithname(const char *if_name)
  *@return return the interface struct representing the interface
  *that matched the iif_index.
  */
-struct interface *
+static struct interface *
 if_ifwithindex(const int if_index)
 {
   struct interface *ifp = ifnet;
-  while (ifp
-    {
-      if (ifp->if_index == if_index)
-        return ifp;
+  while (ifp != NULL) {
+      if (ifp->if_index == if_index) {
+          return ifp;
+      }
       ifp = ifp->int_next;
-    }
+  }
   return NULL;
 }
 
-
 /**
  *Get an interface name for a given interface index
  *
index 917b594..a1cd3f4 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * The olsr.org Optimized Link-State Routing daemon(olsrd)
- * Copyright (c) 2004, Andreas TÃ\83Â\83Ã\82¸nnesen(andreto@olsr.org)
+ * Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without 
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: interfaces.h,v 1.49 2007/11/29 17:09:16 bernd67 Exp $
+ * $Id: interfaces.h,v 1.50 2007/12/06 21:12:56 bernd67 Exp $
  */
 
 
@@ -174,26 +174,9 @@ struct interface
 /* The interface linked-list */
 extern struct interface *ifnet;
 
-/* Datastructures to use when creating new sockets */
-extern struct sockaddr_in addrsock;
-extern struct sockaddr_in6 addrsock6;
-
-
 int
 ifinit(void);
 
-olsr_u32_t
-get_if_property_id(void);
-
-olsr_bool
-add_if_geninfo(struct interface *, void *, olsr_u32_t);
-
-void *
-get_if_geninfo(struct interface *, olsr_u32_t);
-
-void *
-del_if_geninfo(struct interface *, olsr_u32_t);
-
 void
 run_ifchg_cbs(struct interface *, int);
 
@@ -206,9 +189,6 @@ if_ifwithaddr(const union olsr_ip_addr *);
 struct interface *
 if_ifwithname(const char *);
 
-struct interface *
-if_ifwithindex(const int if_index);
-
 const char *
 if_ifwithindex_name(const int if_index);
 
index 6a02916..46f6730 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: ifnet.c,v 1.56 2007/12/02 19:00:28 bernd67 Exp $
+ * $Id: ifnet.c,v 1.57 2007/12/06 21:12:55 bernd67 Exp $
  */
 
 
@@ -960,7 +960,7 @@ chk_if_up(struct olsr_if *iface, int debuglvl __attribute__((unused)))
        *on what interface the message is transmitted
        */
       
-      ifp->olsr_socket = getsocket((struct sockaddr *)&addrsock, bufspace, ifp->int_name);
+      ifp->olsr_socket = getsocket(bufspace, ifp->int_name);
       
       if (ifp->olsr_socket < 0)
        {
@@ -982,7 +982,7 @@ chk_if_up(struct olsr_if *iface, int debuglvl __attribute__((unused)))
        *on what interface the message is transmitted
        */
       
-      ifp->olsr_socket = getsocket6(&addrsock6, bufspace, ifp->int_name);
+      ifp->olsr_socket = getsocket6(bufspace, ifp->int_name);
       
       join_mcast(ifp, ifp->olsr_socket);
       
index 8a6403e..f915ec4 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: net.c,v 1.24 2007/11/29 18:10:18 bernd67 Exp $
+ * $Id: net.c,v 1.25 2007/12/06 21:12:55 bernd67 Exp $
  */
 
 #if defined WINCE
@@ -98,14 +98,12 @@ gethemusocket(struct sockaddr_in *pin)
   return (sock);
 }
 
-int getsocket(struct sockaddr *Addr, int BuffSize, char *Int __attribute__((unused)))
+int getsocket(int BuffSize, char *Int __attribute__((unused)))
 {
-  int Sock;
+  struct sockaddr_in Addr;
   int On = 1;
   unsigned long Len;
-
-  Sock = socket(AF_INET, SOCK_DGRAM, 0);
-
+  int Sock = socket(AF_INET, SOCK_DGRAM, 0);
   if (Sock < 0)
   {
     WinSockPError("getsocket/socket()");
@@ -132,7 +130,11 @@ int getsocket(struct sockaddr *Addr, int BuffSize, char *Int __attribute__((unus
   if (BuffSize <= 8192) 
     fprintf(stderr, "Cannot set IPv4 socket receive buffer.\n");
 
-  if (bind(Sock, Addr, sizeof (struct sockaddr_in)) < 0)
+  memset(&Addr, 0, sizeof (Addr));
+  Addr.sin_family = AF_INET;
+  Addr.sin_port = htons(OLSRPORT);
+  Addr.sin_addr.s_addr = INADDR_ANY;
+  if (bind(Sock, (struct sockaddr *)&Addr, sizeof (Addr)) < 0)
   {
     WinSockPError("getsocket/bind()");
     closesocket(Sock);
@@ -149,13 +151,11 @@ int getsocket(struct sockaddr *Addr, int BuffSize, char *Int __attribute__((unus
   return Sock;
 }
 
-int getsocket6(struct sockaddr_in6 *Addr, int BuffSize, char *Int __attribute__((unused)))
+int getsocket6(int BuffSize, char *Int __attribute__((unused)))
 {
-  int Sock;
+  struct sockaddr_in6 Addr;
   int On = 1;
-
-  Sock = socket(AF_INET6, SOCK_DGRAM, 0);
-
+  int Sock = socket(AF_INET6, SOCK_DGRAM, 0);
   if (Sock < 0)
   {
     WinSockPError("getsocket6/socket()");
@@ -182,7 +182,11 @@ int getsocket6(struct sockaddr_in6 *Addr, int BuffSize, char *Int __attribute__(
   if (BuffSize <= 8192) 
     fprintf(stderr, "Cannot set IPv6 socket receive buffer.\n");
 
-  if (bind(Sock, (struct sockaddr *)Addr, sizeof (struct sockaddr_in6)) < 0)
+  memset(&Addr6, 0, sizeof (Addr6));
+  Addr6.sin6_family = AF_INET6;
+  Addr6.sin6_port = htons(OLSRPORT);
+  //Addr6.sin6_addr.s_addr = IN6ADDR_ANY_INIT;
+  if (bind(Sock, (struct sockaddr *)&Addr, sizeof (Addr)) < 0)
   {
     WinSockPError("getsocket6/bind()");
     closesocket(Sock);