Cleanups
[olsrd.git] / gui / linux-gtk / src / main.c
index b368b56..3062049 100644 (file)
@@ -2,7 +2,7 @@
  * OLSR ad-hoc routing table management protocol GUI front-end
  * Copyright (C) 2003 Andreas T√łnnesen (andreto@ifi.uio.no)
  *
- * This file is part of olsrd-unik.
+ * This file is part of olsr.org.
  *
  * uolsrGUI is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with olsrd-unik; if not, write to the Free Software
+ * along with olsr.org; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  */
 
 #include "common.h"
 #include "main.h"
+#include "ipc.h"
 
 int
 main (int argc, char *argv[])
 {
+  struct hostent *hp;
+  struct in_addr in;
+  struct sockaddr_in pin;
+
 #ifdef WIN32
   WSADATA WsaData;
 #endif
@@ -39,6 +44,23 @@ main (int argc, char *argv[])
     }
 #endif
 
+  
+  /* Get IP */
+  if ((hp = gethostbyname(argc > 1 ? argv[1] : "localhost")) == 0) 
+    {
+      fprintf(stderr, "Not a valid host \"%s\"\n", argv[1]);
+      exit(1);
+    }
+  
+  in.s_addr=((struct in_addr *)(hp->h_addr))->s_addr;
+  printf("Address: %s\n", inet_ntoa(in));
+  
+  /* fill in the socket structure with host information */
+  memset(&pin, 0, sizeof(pin));
+  pin.sin_family = AF_INET;
+  pin.sin_addr.s_addr = ((struct in_addr *)(hp->h_addr))->s_addr;
+  pin.sin_port = htons(IPC_PORT);
+  
   gtk_init (&argc, &argv);
 
   init_nodes();
@@ -65,7 +87,7 @@ main (int argc, char *argv[])
   nodes_timeout = NEIGHB_HOLD_TIME_NW;
   init_timer((olsr_u32_t) (nodes_timeout * 1000), &hold_time_nodes);
 
-  ipc_connect();
+  ipc_connect(&pin);
 
   add_timeouts();