Added support for displaying mpr selector info
authorAndreas Tonnesen <andreto@olsr.org>
Sun, 19 Dec 2004 17:16:24 +0000 (17:16 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Sun, 19 Dec 2004 17:16:24 +0000 (17:16 +0000)
lib/httpinfo/src/olsr_plugin_io.h
lib/httpinfo/src/olsrd_httpinfo.c
lib/httpinfo/src/olsrd_plugin.c
lib/httpinfo/src/olsrd_plugin.h

index db7816e..8bc78ee 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsr_plugin_io.h,v 1.2 2004/12/18 00:18:25 kattemat Exp $
+ * $Id: olsr_plugin_io.h,v 1.3 2004/12/19 17:16:24 kattemat Exp $
  */
 
 
@@ -59,6 +59,7 @@
  *                 GETF__NET_OUTBUFFER_PUSH_RESERVED added
  *                 - Andreas
  *         0.4.9 : GETD__LINK_SET added
+ *                 GETF__OLSR_LOOKUP_MPRS_SET added
  *                 - Andreas
  */
 
 #define GETF__NET_OUTBUFFER_PUSH                   532
 #define GETF__NET_RESERVE_BUFSPACE                 533
 #define GETF__NET_OUTBUFFER_PUSH_RESERVED          534
+#define GETF__OLSR_LOOKUP_MPRS_SET                 535
 
 #endif
index 66f7203..fa5c073 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_httpinfo.c,v 1.17 2004/12/19 17:03:14 kattemat Exp $
+ * $Id: olsrd_httpinfo.c,v 1.18 2004/12/19 17:16:24 kattemat Exp $
  */
 
 /*
@@ -694,7 +694,9 @@ build_neigh_body(char *buf, olsr_u32_t bufsize)
                          olsr_ip_to_string(&neigh->neighbor_main_addr),
                          (neigh->status == SYM) ? "YES" : "NO",
                          neigh->is_mpr ? "YES" : "NO",
-                         "ToDo",
+                         olsr_lookup_mprs_set ? 
+                         (olsr_lookup_mprs_set(&neigh->neighbor_main_addr) ? "YES" : "NO") 
+                         : "UNAVAILABLE",
                          neigh->willingness);
 
          size += sprintf(&buf[size], "<td><select>\n");
index 9251599..ac09096 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_plugin.c,v 1.5 2004/12/19 09:37:59 kattemat Exp $
+ * $Id: olsrd_plugin.c,v 1.6 2004/12/19 17:16:24 kattemat Exp $
  */
 
 /*
@@ -261,6 +261,14 @@ fetch_olsrd_data()
       retval = 0;
     }
 
+  if(!olsr_plugin_io(GETF__OLSR_LOOKUP_MPRS_SET, 
+                    &olsr_lookup_mprs_set, 
+                    sizeof(olsr_lookup_mprs_set)))
+  {
+    olsr_lookup_mprs_set = NULL;
+    retval = 0;
+  }
+
   /* Olsr debug output function */
   if(!olsr_plugin_io(GETF__OLSR_PRINTF, 
                     &olsr_printf, 
index 9d8d3e6..f3c64c2 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_plugin.h,v 1.5 2004/12/18 22:50:55 kattemat Exp $
+ * $Id: olsrd_plugin.h,v 1.6 2004/12/19 17:16:24 kattemat Exp $
  */
 
 /*
@@ -345,6 +345,15 @@ struct rt_entry *hna_routes;
 
 char ipv6_buf[100]; /* buffer for IPv6 inet_htop */
 
+/* MPR set entry */
+
+struct mpr_selector
+{
+  union olsr_ip_addr MS_main_addr;
+  struct timeval MS_time;
+  struct mpr_selector *next;
+  struct mpr_selector *prev;
+};
 
 /****************************************************************************
  *                Function pointers to functions in olsrd                   *
@@ -357,6 +366,10 @@ int (*olsr_plugin_io)(int, void *, size_t);
 /* Add a socket to the main olsrd select loop */
 void (*add_olsr_socket)(int, void(*)(int));
 
+/* Lookup MPR entry */
+struct mpr_selector *(*olsr_lookup_mprs_set)(union olsr_ip_addr *);
+
+
 /* olsrd printf wrapper */
 int (*olsr_printf)(int, char *, ...);