Removed tunnel route function stubs. Added clear screen function.
authorThomas Lopatic <thomas@lopatic.de>
Sat, 20 Nov 2004 15:40:52 +0000 (15:40 +0000)
committerThomas Lopatic <thomas@lopatic.de>
Sat, 20 Nov 2004 15:40:52 +0000 (15:40 +0000)
src/bsd/kernel_routes.c
src/misc.h [new file with mode: 0644]
src/olsr.c
src/unix/misc.c [new file with mode: 0644]
src/win32/kernel_routes.c
src/win32/misc.c [new file with mode: 0644]

index 170c586..6cd384a 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: kernel_routes.c,v 1.2 2004/11/15 12:18:49 tlopatic Exp $
+ * $Id: kernel_routes.c,v 1.3 2004/11/20 15:40:52 tlopatic Exp $
  *
  */
 
@@ -161,14 +161,3 @@ int olsr_ioctl_del_route6(struct rt_entry *dest)
 {
   return 0;
 }
-
-int add_tunnel_route(union olsr_ip_addr *gw)
-{
-  return 0;
-}
-
-int delete_tunnel_route()
-{
-  return 0;
-}
-
diff --git a/src/misc.h b/src/misc.h
new file mode 100644 (file)
index 0000000..96facba
--- /dev/null
@@ -0,0 +1,25 @@
+/* 
+ * OLSR ad-hoc routing table management protocol
+ * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)
+ *
+ * This file is part of the olsr.org OLSR daemon.
+ *
+ * olsr.org is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * olsr.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with olsr.org; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * $Id: misc.h,v 1.1 2004/11/20 15:40:52 tlopatic Exp $
+ *
+ */
+
+void clear_console(void);
index ad6513f..2c06091 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: olsr.c,v 1.22 2004/11/15 15:50:08 tlopatic Exp $
+ * $Id: olsr.c,v 1.23 2004/11/20 15:40:52 tlopatic Exp $
  *
  */
 
@@ -43,6 +43,7 @@
 #include "scheduler.h"
 #include "generate_msg.h"
 #include "apm.h"
+#include "misc.h"
 
 #include <stdarg.h>
 #include <signal.h>
@@ -164,6 +165,12 @@ olsr_process_changes()
      !changes_hna)
     return;
 
+  if (olsr_cnf->debug_level > 0)
+    {
+      clear_console();
+      printf("<<<< %s (%s) >>>>\n", SOFTWARE_VERSION, __DATE__);
+    }
+
   if(changes_neighborhood)
     {
       /* Calculate new mprs, HNA and routing table */
diff --git a/src/unix/misc.c b/src/unix/misc.c
new file mode 100644 (file)
index 0000000..7407d59
--- /dev/null
@@ -0,0 +1,60 @@
+/* 
+ * OLSR ad-hoc routing table management protocol
+ * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)
+ *
+ * This file is part of the olsr.org OLSR daemon.
+ *
+ * olsr.org is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * olsr.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with olsr.org; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * $Id: misc.c,v 1.1 2004/11/20 15:40:52 tlopatic Exp $
+ *
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+
+void clear_console(void)
+{
+  FILE *pipe;
+  static int first_time = 1;
+  static char clear_buff[100];
+  static int len = 0;
+  int c;
+  int i;
+
+  if (first_time != 0)
+    {
+      first_time = 0;
+
+      pipe = popen("clear", "r");
+
+      for (len = 0; len < sizeof (clear_buff); len++)
+        {
+          c = fgetc(pipe);
+
+          if (c == EOF)
+            break;
+
+          clear_buff[len] = (char)c;
+        }
+
+      pclose(pipe);
+    }
+
+  for (i = 0; i < len; i++)
+    fputc(clear_buff[i], stdout);
+
+  fflush(stdout);
+}
index 852ec61..f6cc0c1 100644 (file)
@@ -18,7 +18,7 @@
  * along with olsr.org; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
- * $Id: kernel_routes.c,v 1.9 2004/11/14 20:48:03 tlopatic Exp $
+ * $Id: kernel_routes.c,v 1.10 2004/11/20 15:40:52 tlopatic Exp $
  *
  */
 
@@ -135,10 +135,3 @@ int olsr_ioctl_del_route6(struct rt_entry *Dest)
 {
   return 0;
 }
-
-// XXX - to be implemented
-
-int delete_tunnel_route()
-{
-  return 0;
-}
diff --git a/src/win32/misc.c b/src/win32/misc.c
new file mode 100644 (file)
index 0000000..1b73e4d
--- /dev/null
@@ -0,0 +1,55 @@
+/* 
+ * OLSR ad-hoc routing table management protocol
+ * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)
+ *
+ * This file is part of the olsr.org OLSR daemon.
+ *
+ * olsr.org is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * olsr.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with olsr.org; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * $Id: misc.c,v 1.1 2004/11/20 15:40:52 tlopatic Exp $
+ *
+ */
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#undef interface
+
+void clear_console(void)
+{
+  HANDLE Hand;
+  CONSOLE_SCREEN_BUFFER_INFO Info;
+  unsigned long Written;
+  static COORD Home = { 0, 0 };
+
+  Hand = GetStdHandle(STD_OUTPUT_HANDLE);
+
+  if (Hand == INVALID_HANDLE_VALUE)
+    return;
+
+  if(!GetConsoleScreenBufferInfo(Hand, &Info))
+    return;
+
+  if(!FillConsoleOutputCharacter(Hand, ' ',
+                                 Info.dwSize.X * Info.dwSize.Y, Home,
+                                 &Written))
+    return;
+
+  if(!FillConsoleOutputAttribute(Hand, Info.wAttributes,
+                                 Info.dwSize.X * Info.dwSize.Y, Home,
+                                 &Written))
+    return;
+
+  SetConsoleCursorPosition(Hand, Home);
+}