* killed the duplicated olsr_ip_to_string() functions
authorBernd Petrovitsch <bernd@firmix.at>
Thu, 29 Nov 2007 17:56:57 +0000 (17:56 +0000)
committerBernd Petrovitsch <bernd@firmix.at>
Thu, 29 Nov 2007 17:56:57 +0000 (17:56 +0000)
* using "ipcalc.h" and killed the COPY_IP()/COMP_IP() macros

src/olsr_switch/link_rules.c
src/olsr_switch/link_rules.h
src/olsr_switch/main.c
src/olsr_switch/ohs_cmd.c
src/olsr_switch/olsr_host_switch.h

index 83ba577..161b144 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * The olsr.org Optimized Link-State Routing daemon(olsrd)
- * Copyright (c) 2005, Andreas Tønnesen(andreto@olsr.org)
+ * Copyright (c) 2005, Andreas Tønnesen(andreto@olsr.org)
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without 
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: link_rules.c,v 1.6 2005/06/03 06:12:23 kattemat Exp $
+ * $Id: link_rules.c,v 1.7 2007/11/29 17:56:57 bernd67 Exp $
  */
 
 #include "link_rules.h"
 #include "olsr_host_switch.h"
+#include "ipcalc.h"
+
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
 int
 ohs_check_link(struct ohs_connection *oc, union olsr_ip_addr *dst)
 {
-  struct ohs_ip_link *links = oc->links;
+  struct ohs_ip_link *links;
+  for (links = oc->links; links != NULL; links = links->next) {
+    int r;
+    if (!ipequal(&links->dst, dst)) {
+        continue;
+    }
+    if (links->quality == 0) {
+      if (logbits & LOG_LINK) {
+        struct ipaddr_str addrstr, dststr;
+        printf("%s -> %s Q: %d\n", 
+               olsr_ip_to_string(&addrstr, &oc->ip_addr),
+               olsr_ip_to_string(&dststr, dst),
+               links->quality);
+      }
+      return 0;
+    }
 
-  while(links)
-    {
-      if(COMP_IP(&links->dst, dst))
-       {
-          int r;
-
-          if(links->quality == 0)
-            {
-              if(logbits & LOG_LINK)
-                printf("%s -> %s Q: %d\n", 
-                   olsr_ip_to_string(&oc->ip_addr),
-                   olsr_ip_to_string(dst),
-                   links->quality);
-
-              return 0;
-            }
-
-          r = 1 + (int)((100.0*rand())/(RAND_MAX + 1.0));
-
-          if(logbits & LOG_LINK)
-            printf("%s -> %s Q: %d R: %d\n", 
-                   olsr_ip_to_string(&oc->ip_addr),
-                   olsr_ip_to_string(dst),
-                   links->quality, r);
-
-          /* Random - based on quality */
-          if(links->quality > r)
-            return 0;
-          else
-            return 1;
-       }
+    r = 1 + (int)(100.0 / (RAND_MAX + 1.0) * rand());
 
-      links = links->next;
+    if (logbits & LOG_LINK) {
+      struct ipaddr_str addrstr, dststr;
+      printf("%s -> %s Q: %d R: %d\n",  olsr_ip_to_string(&addrstr, &oc->ip_addr),
+             olsr_ip_to_string(&dststr, dst), links->quality, r);
     }
-
+    /* Random - based on quality */
+    return links->quality > r ? 0 : 1;
+  }
   return 1;
 }
 
@@ -122,7 +114,7 @@ add_link(struct ohs_connection *src, struct ohs_connection *dst)
   /* Queue */
   link->next = src->links;
   src->links = link;
-  COPY_IP(&link->dst, &dst->ip_addr);
+  link->dst = dst->ip_addr;
   src->linkcnt++;
 
   return link;
@@ -157,17 +149,11 @@ remove_link(struct ohs_connection *oc, struct ohs_ip_link *lnk)
 struct ohs_ip_link *
 get_link(struct ohs_connection *oc, union olsr_ip_addr *dst)
 {
-  struct ohs_ip_link *links = oc->links;
-
-  while(links)
-    {
-      if(COMP_IP(&links->dst, dst))
-       {
-         return links;
-       }
-
-      links = links->next;
+  struct ohs_ip_link *links;
+  for (links = oc->links; links != NULL; links = links->next) {
+    if (ipequal(&links->dst, dst)) {
+        return links;
     }
-
+  }
   return NULL;
 }
index 9a24035..9121151 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * The olsr.org Optimized Link-State Routing daemon(olsrd)
- * Copyright (c) 2005, Andreas Tønnesen(andreto@olsr.org)
+ * Copyright (c) 2005, 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: link_rules.h,v 1.4 2005/06/03 06:12:23 kattemat Exp $
+ * $Id: link_rules.h,v 1.5 2007/11/29 17:56:57 bernd67 Exp $
  */
 
 
index 9766bfc..8d3586a 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: main.c,v 1.33 2007/11/29 17:07:15 bernd67 Exp $
+ * $Id: main.c,v 1.34 2007/11/29 17:56:57 bernd67 Exp $
  */
 
 /* olsrd host-switch daemon */
@@ -45,6 +45,8 @@
 #include "olsr_host_switch.h"
 #include "link_rules.h"
 #include "ohs_cmd.h"
+#include "ipcalc.h"
+
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <errno.h>
@@ -74,8 +76,10 @@ static olsr_u8_t data_buffer[OHS_BUFSIZE];
 
 struct ohs_connection *ohs_conns;
 
-static int ip_version;
-int ipsize;
+//static int ip_version;
+//int ipsize;
+static struct olsrd_config olsr_cnf_data;
+struct olsrd_config *olsr_cnf = &olsr_cnf_data;
 
 olsr_u32_t logbits;
 
@@ -100,20 +104,6 @@ static void
 ohs_listen_loop(void);
 #endif
 
-const char *
-olsr_ip_to_string(const union olsr_ip_addr *addr)
-{
-  static char buff[4][100];
-  static int index = 0;
-  const char *ret = inet_ntop(ip_version,
-                              ip_version == AF_INET ? (const void *)&addr->v4 : (const void *)&addr->v6,
-                              buff[index],
-                              sizeof(buff[index]));
-  index = (index + 1) & 3;
-  return ret;
-}
-
-
 #ifdef WIN32
 int __stdcall
 ohs_close(unsigned long signal __attribute__((unused)))
@@ -132,14 +122,12 @@ ohs_close(int signal __attribute__((unused)))
 struct ohs_connection *
 get_client_by_addr(const union olsr_ip_addr *adr)
 {
-  struct ohs_connection *oc = ohs_conns;
-
-  while(oc)
-    {
-      if(COMP_IP(adr, &oc->ip_addr))
+  struct ohs_connection *oc;
+  for (oc = ohs_conns; oc != NULL; oc = oc->next) {
+    if (ipequal(adr, &oc->ip_addr)) {
         return oc;
-      oc = oc->next;
     }
+  }
   return NULL;
 }
 
@@ -148,21 +136,18 @@ static int
 ohs_init_new_connection(int s)
 {
   struct ohs_connection *oc;
-  olsr_u32_t new_addr;
   int i;
 
-  if(logbits & LOG_CONNECT)
+  if(logbits & LOG_CONNECT) {
     printf("ohs_init_new_connection\n");
-
+  }
   /* Create new client node */
-  oc = malloc(sizeof(struct ohs_connection));
-  if(!oc)
+  oc = calloc(1, sizeof(struct ohs_connection));
+  if (!oc) {
     OHS_OUT_OF_MEMORY("New connection");
-
-  memset(oc, 0, sizeof(oc));
+  }
 
   oc->socket = s;
-
   oc->links = NULL;
   oc->rx = 0;
   oc->tx = 0;
@@ -173,82 +158,73 @@ ohs_init_new_connection(int s)
   // re-try for 2 seconds on Windows; shouldn't harm Linux et al.
 
   /* Get "fake IP" */
-  for (i = 0; i < 20; i++)
-  {
+  for (i = 0; i < 20; i++) {
     /* Win32 needs that cast. */
-    if (recv(oc->socket, (void *)&new_addr, sizeof(new_addr), 0) == 4)
+      if (recv(oc->socket, (void *)&oc->ip_addr, olsr_cnf->ipsize, 0) == (int)olsr_cnf->ipsize) {
       break;
-
+    }
 #if defined WIN32
     Sleep(100);
 #endif
   }
 
-  if (i == 20)
-  {
+  if (i == 20) {
     printf("Failed to fetch IP address! (%s)\n", strerror(errno));
     return -1;
   }
 
-  oc->ip_addr.v4.s_addr = ntohl(new_addr);
-  if(logbits & LOG_CONNECT)
-    printf("IP: %s\n", olsr_ip_to_string(&oc->ip_addr));
-
-  if(get_client_by_addr(&oc->ip_addr))
-    {
-      if(logbits & LOG_CONNECT)
-       printf("IP: %s DUPLICATE! Disconecting client!\n", olsr_ip_to_string(&oc->ip_addr));
-
-      close(s);
-      return -1;
+  if (logbits & LOG_CONNECT) {
+    struct ipaddr_str addrstr;
+    printf("IP: %s\n", olsr_ip_to_string(&addrstr, &oc->ip_addr));
+  }
+  if (get_client_by_addr(&oc->ip_addr)) {
+    if (logbits & LOG_CONNECT) {
+      struct ipaddr_str addrstr;
+      printf("IP: %s DUPLICATE! Disconecting client!\n", olsr_ip_to_string(&addrstr, &oc->ip_addr));
     }
+    close(s);
+    free(oc);
+    return -1;
+  }
 
   /* Queue */
   oc->next = ohs_conns;
   ohs_conns = oc;
-
   return 1;
 }
 
 int
 ohs_delete_connection(struct ohs_connection *oc)
 {
-
-  if(!oc)
+  if (!oc) {
     return -1;
-
+  }
   /* Close the socket */
   close(oc->socket);
 
-  if(logbits & LOG_CONNECT)
-    printf("Removing entry %s\n", olsr_ip_to_string(&oc->ip_addr));
+  if(logbits & LOG_CONNECT) {
+    struct ipaddr_str addrstr;
+    printf("Removing entry %s\n", olsr_ip_to_string(&addrstr, &oc->ip_addr));
+  }
   /* De-queue */
-  if(oc == ohs_conns)
-    {
-      ohs_conns = ohs_conns->next;
-    }
-  else
-    {
-      struct ohs_connection *curr_entry, *prev_entry;
-      curr_entry = ohs_conns->next;
-      prev_entry = ohs_conns;
+  if(oc == ohs_conns) {
+    ohs_conns = ohs_conns->next;
+  } else {
+    struct ohs_connection *curr_entry = ohs_conns->next;
+    struct ohs_connection *prev_entry = ohs_conns;
       
-      while(curr_entry)
-       {
-         if(curr_entry == oc)
-           {
-             prev_entry->next = curr_entry->next;
-             break;
-           }
-         prev_entry = curr_entry;
-         curr_entry = curr_entry->next;
-       }
+    while (curr_entry != NULL) {
+      if(curr_entry == oc) {
+        prev_entry->next = curr_entry->next;
+        break;
+      }
+      prev_entry = curr_entry;
+      curr_entry = curr_entry->next;
     }
-
+  }
   ohs_delete_all_related_links(oc);
-  /* Free */
-  free(oc);
 
+  free(oc);
   return 0;
 }
 
@@ -264,38 +240,38 @@ ohs_route_data(struct ohs_connection *oc)
   if((len = recv(oc->socket, data_buffer, OHS_BUFSIZE, 0)) <= 0)
     return -1;
 
-  if(logbits & LOG_FORWARD)
-    printf("Received %ld bytes from %s\n", (long)len, olsr_ip_to_string(&oc->ip_addr));
-
+  if(logbits & LOG_FORWARD) {
+    struct ipaddr_str addrstr;
+    printf("Received %ld bytes from %s\n", (long)len, olsr_ip_to_string(&addrstr, &oc->ip_addr));
+  }
   /* Loop trough clients */
-  for(ohs_cs = ohs_conns; ohs_cs; ohs_cs = ohs_cs->next)
-    {
-      /* Check that the link is active open */
-      if(ohs_check_link(oc, &ohs_cs->ip_addr) &&
-        oc->socket != ohs_cs->socket)
-       {
-         ssize_t sent;
-
-         /* Send link addr */
-         if(send(ohs_cs->socket, oc->ip_addr.v6.s6_addr, ipsize, 0) != ipsize)
-           {
-             printf("Error sending link address!\n");
-           }
-         /* Send data */
-         if(logbits & LOG_FORWARD)
-           printf("Sending %d bytes %s=>%s\n", (int)len, 
-                  olsr_ip_to_string(&oc->ip_addr),
-                  olsr_ip_to_string(&ohs_cs->ip_addr));
-
-         if((sent = send(ohs_cs->socket, data_buffer, len, 0)) != len)
-           {
-             printf("Error sending(buf %d != sent %d)\n", (int)len, (int)sent);
-           }
-         ohs_cs->rx++;
-         cnt++;
-       }
-    }
+  for(ohs_cs = ohs_conns; ohs_cs; ohs_cs = ohs_cs->next) {
+    /* Check that the link is active open */
+    if(ohs_check_link(oc, &ohs_cs->ip_addr) &&
+       oc->socket != ohs_cs->socket) {
+      ssize_t sent;
+
+      /* Send link addr */
+      if (send(ohs_cs->socket, (const void *)&oc->ip_addr, olsr_cnf->ipsize, 0) != (int)olsr_cnf->ipsize) {
+          printf("Error sending link address!\n");
+      }
+      /* Send data */
+      if (logbits & LOG_FORWARD) {
+          struct ipaddr_str addrstr, addrstr2;
+          printf("Sending %d bytes %s=>%s\n",
+                 (int)len,
+                 olsr_ip_to_string(&addrstr, &oc->ip_addr),
+                 olsr_ip_to_string(&addrstr2, &ohs_cs->ip_addr));
+      }
 
+      sent = send(ohs_cs->socket, data_buffer, len, 0);
+      if(sent != len) {
+        printf("Error sending(buf %d != sent %d)\n", (int)len, (int)sent);
+      }
+      ohs_cs->rx++;
+      cnt++;
+    }
+  }
   return cnt;
 }
 
@@ -548,8 +524,8 @@ main(void)
   printf("olsrd host-switch daemon version %s starting\n", OHS_VERSION);
 
   logbits = LOG_DEFAULT;
-  ip_version = AF_INET;
-  ipsize = sizeof(struct in_addr);
+  olsr_cnf->ip_version = AF_INET;
+  olsr_cnf->ipsize = sizeof(struct in_addr);
 
   srand((unsigned int)time(NULL));
 
index 4e61cf8..fb474ba 100644 (file)
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: ohs_cmd.c,v 1.25 2007/11/16 19:12:55 bernd67 Exp $
+ * $Id: ohs_cmd.c,v 1.26 2007/11/29 17:56:57 bernd67 Exp $
  */
 
 #include "olsr_host_switch.h"
 #include "olsr_types.h"
 #include "commands.h"
 #include "link_rules.h"
+#include "ipcalc.h"
+
 #include <string.h>
 #include <stdlib.h>
 #include <sys/socket.h>
@@ -246,142 +248,123 @@ ohs_cmd_link(const char *args)
 
   args += get_next_token(args, tok_buf, TOK_BUF_SIZE);
 
-  if(!strlen(tok_buf))
+  if (!strlen(tok_buf)) {
     goto print_usage;
+  }
+  if(!strncmp(tok_buf, "bi", strlen("bi"))) {
+    bi = 1;
+    args += get_next_token(args, tok_buf, TOK_BUF_SIZE);
 
-  if(!strncmp(tok_buf, "bi", strlen("bi")))
-    {
-      bi = 1;
-      args += get_next_token(args, tok_buf, TOK_BUF_SIZE);
-
-      if(!strlen(tok_buf))
-       goto print_usage;
+    if (!strlen(tok_buf)) {
+      goto print_usage;
     }
+  }
 
-  if(tok_buf[0] == '*')
-    {
-      wildc_src = 1;
-      src = ohs_conns;
+  if(tok_buf[0] == '*') {
+    wildc_src = 1;
+    src = ohs_conns;
+  } else {
+    if (!inet_aton(tok_buf, &iaddr)) {
+      printf("Invalid src IP %s\n", tok_buf);
+      return -1;
     }
-  else
-    {
-      if(!inet_aton(tok_buf, &iaddr))
-       {
-         printf("Invalid src IP %s\n", tok_buf);
-         return -1;
-       }
 
-      src = get_client_by_addr((union olsr_ip_addr *)&iaddr.s_addr);
+    src = get_client_by_addr((union olsr_ip_addr *)&iaddr.s_addr);
 
-      if(!src)
-       {
-         printf("No such client: %s!\n", tok_buf);
-         return -1;
-       }
+    if (!src) {
+        printf("No such client: %s!\n", tok_buf);
+        return -1;
     }
+  }
 
   args += get_next_token(args, tok_buf, TOK_BUF_SIZE);
   
-  if(!strlen(tok_buf))
+  if (!strlen(tok_buf)) {
     goto print_usage;
+  }
 
-  if(tok_buf[0] == '*')
-    {
-      wildc_dst = 1;
-      dst = ohs_conns;
+  if(tok_buf[0] == '*') {
+    wildc_dst = 1;
+    dst = ohs_conns;
+  } else {
+    if(!inet_aton(tok_buf, &iaddr)) {
+      printf("Invalid src IP %s\n", tok_buf);
+      return -1;
     }
-  else
-    {
-      
-      if(!inet_aton(tok_buf, &iaddr))
-       {
-         printf("Invalid src IP %s\n", tok_buf);
-         return -1;
-       }
       
-      dst = get_client_by_addr((union olsr_ip_addr *)&iaddr.s_addr);
-      if(!dst)
-       {
-         printf("No such client: %s!\n", tok_buf);
-         return -1;
-       }
+    dst = get_client_by_addr((union olsr_ip_addr *)&iaddr.s_addr);
+    if (!dst) {
+      printf("No such client: %s!\n", tok_buf);
+      return -1;
     }
+  }
 
   args += get_next_token(args, tok_buf, TOK_BUF_SIZE);
   
-  if(!strlen(tok_buf))
+  if (!strlen(tok_buf)) {
     goto print_usage;
+  }
 
   /* No use for bi if both src and dst are widcards */
-  if(wildc_src && wildc_dst)
-    {
-      bi = 0;
-    }
+  if (wildc_src && wildc_dst) {
+    bi = 0;
+  }
 
   qual = atoi(tok_buf);
 
-  if(qual < 0 || qual > 100)
-    {
-      printf("Link quality out of range(0-100)\n");
-      return -1;
-    }
-
-  while(src)
-    {
-
-      while(dst)
-       {
-
-         if(src == dst)
-           goto next_iteration;
+  if(qual < 0 || qual > 100) {
+    printf("Link quality out of range(0-100)\n");
+    return -1;
+  }
 
-         link = get_link(src, &dst->ip_addr);
-         
-         inv_link = bi ? get_link(dst, &src->ip_addr) : NULL;
-         
-         if(qual == 100)
-           {
-             /* Remove link entry */
-             if(link)
-               remove_link(src, link);
-             if(inv_link)
-               remove_link(dst, inv_link);
-           }
-         else 
-           {
-             if(!link)
-               {
-                 /* Create new link */
-                 link = add_link(src, dst);
-               }
+  while (src) {
+    while (dst) {
+      struct ipaddr_str srcaddrstr, dstaddrstr;
+
+      if(src != dst) {
+        link = get_link(src, &dst->ip_addr);
+        inv_link = bi ? get_link(dst, &src->ip_addr) : NULL;
+        if(qual == 100)  {
+          /* Remove link entry */
+          if (link) {
+           remove_link(src, link);
+          }
+          if (inv_link) {
+            remove_link(dst, inv_link);
+          }
+        } else  {
+          if (!link) {
+            /* Create new link */
+            link = add_link(src, dst);
+          }
              
-             link->quality = qual;
+          link->quality = qual;
              
-             if(bi)
-               {
-                 if(!inv_link)
-                   {
-                     /* Create new link */
-                     inv_link = add_link(dst, src);
-                   }
-                 inv_link->quality = qual;
-               }
-           }
-
-         printf("%s %sdirectional link(s) %s %c=> %s quality %d\n", 
-                (qual == 100) ? "Removing" : "Setting", bi ? "bi" : "uni",
-                olsr_ip_to_string(&src->ip_addr), bi ? '<' : '=', 
-                olsr_ip_to_string(&dst->ip_addr), qual);
-
-       next_iteration:
-         if(wildc_dst)
+          if (bi) {
+            if(!inv_link) {
+              /* Create new link */
+              inv_link = add_link(dst, src);
+            }
+            inv_link->quality = qual;
+          }
+        }
+        printf("%s %sdirectional link(s) %s %c=> %s quality %d\n", 
+               (qual == 100) ? "Removing" : "Setting",
+               bi ? "bi" : "uni",
+               olsr_ip_to_string(&srcaddrstr, &src->ip_addr),
+               bi ? '<' : '=', 
+               olsr_ip_to_string(&dstaddrstr, &dst->ip_addr),
+               qual);
+      }
+      if (wildc_dst) {
            dst = dst->next;
-         else
+      } else {
            break;
-       }
-      dst = wildc_dst ? ohs_conns : dst;
-      src = wildc_src ? src->next : NULL;
+      }
     }
+    dst = wildc_dst ? ohs_conns : dst;
+    src = wildc_src ? src->next : NULL;
+  }
 
   return 1;
  print_usage:
@@ -397,44 +380,38 @@ ohs_cmd_list(const char *args)
   args += get_next_token(args, tok_buf, TOK_BUF_SIZE);
   
   if(!strlen(tok_buf) || 
-     !strncmp(tok_buf, "clients", strlen("clients")))
-    {
-      printf("All connected clients:\n");
-      
-      while(oc)
-       {
-         printf("\t%s - Rx: %d Tx: %d LinkCnt: %d\n", olsr_ip_to_string(&oc->ip_addr), 
-                oc->rx, oc->tx, oc->linkcnt);
-         oc = oc->next;
-       }
-    }
-  else if(!strncmp(tok_buf, "links", strlen("links")))
-    {
-      printf("All configured links:\n");
+     !strncmp(tok_buf, "clients", strlen("clients"))) {
+    printf("All connected clients:\n");
       
-      while(oc)
-       {
-         struct ohs_ip_link *links = oc->links;
-
-         while(links)
-           {
-             printf("\t%s => %s Quality: %d\n", 
-                    olsr_ip_to_string(&oc->ip_addr),
-                    olsr_ip_to_string(&links->dst),
-                    links->quality);
-
-             links = links->next;
-           }
-         oc = oc->next;
-       }
+    while(oc) {
+      struct ipaddr_str addrstr;
+      printf("\t%s - Rx: %d Tx: %d LinkCnt: %d\n",
+             olsr_ip_to_string(&addrstr, &oc->ip_addr), 
+             oc->rx,
+             oc->tx,
+             oc->linkcnt);
+      oc = oc->next;
     }
-  else
-    {
-
-      printf("list [clients|links]");
-      return -1;
+  }
+  else if(!strncmp(tok_buf, "links", strlen("links"))) {
+    printf("All configured links:\n");
+    while (oc) {
+      struct ohs_ip_link *links = oc->links;
+      while (links) {
+          struct ipaddr_str addrstr, dststr;
+        printf("\t%s => %s Quality: %d\n", 
+               olsr_ip_to_string(&addrstr, &oc->ip_addr),
+               olsr_ip_to_string(&dststr, &links->dst),
+               links->quality);
+
+        links = links->next;
+      }
+      oc = oc->next;
     }
-
+  } else {
+    printf("list [clients|links]");
+    return -1;
+  }
   return 1;
 }
 
index 95b36af..12eb826 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsr_host_switch.h,v 1.11 2007/11/08 22:47:42 bernd67 Exp $
+ * $Id: olsr_host_switch.h,v 1.12 2007/11/29 17:56:57 bernd67 Exp $
  */
 
 #ifndef _OLSR_HOST_SWITCH
 
 #define OHS_DEFAULT_OLSRD_PATH "./olsrd"
 
-#define OHS_OUT_OF_MEMORY(s) \
- { printf("ohsd: out of memory \"%s\"!\n", s); ohs_close(0);}
-
-#define COMP_IP(ip1, ip2) (!memcmp(ip1, ip2, ipsize))
-
-#define COPY_IP(to, from) memcpy(to, from, ipsize)
+#define OHS_OUT_OF_MEMORY(s) do { printf("ohsd: out of memory \"%s\"!\n", s); ohs_close(0); } while (0)
 
 #ifdef WIN32
 #define close(x) closesocket(x)
@@ -82,8 +77,6 @@ struct ohs_connection
   struct ohs_connection  *next;
 };
 
-extern int ipsize;
-
 extern olsr_u32_t logbits;
 
 extern struct ohs_connection *ohs_conns;
@@ -101,9 +94,6 @@ void
 ohs_close(int);
 #endif
 
-const char *
-olsr_ip_to_string(const union olsr_ip_addr *);
-
 struct ohs_connection *
 get_client_by_addr(const union olsr_ip_addr *);