This plugin now includes datatypes directly from olsrd source
authorAndreas Tonnesen <andreto@olsr.org>
Sat, 19 Feb 2005 17:51:10 +0000 (17:51 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Sat, 19 Feb 2005 17:51:10 +0000 (17:51 +0000)
lib/dot_draw/Makefile
lib/dot_draw/src/olsrd_plugin.h

index 0895a55..54540d4 100644 (file)
@@ -16,9 +16,9 @@ endif
 ifeq ($(OS), linux)
 NAME ?= olsrd_dot_draw.so.0.3
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 ifeq ($(OS), linux)
 NAME ?= olsrd_dot_draw.so.0.3
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
-MYFLAGS ?= -Wall -fPIC -Dlinux -g # Uncomment -g for debugging
+MYFLAGS ?= -Wall -fPIC -Dlinux -I../../src -g # Uncomment -g for debugging
 LIBS ?= -lc -lm
 LIBS ?= -lc -lm
-CFLAGS ?= -fPIC -g -O2
+CFLAGS ?= -fPIC -g -O2 -I../../src -DOLSR_PLUGIN
 INSTALL_LIB =  install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
        /sbin/ldconfig -n $(LIBDIR)
 all:   plugin
 INSTALL_LIB =  install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
        /sbin/ldconfig -n $(LIBDIR)
 all:   plugin
@@ -28,7 +28,7 @@ NAME ?= olsrd_dot_draw.so.0.3
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 MYFLAGS ?= -Wall -fPIC -g # Uncomment -g for debugging
 LIBS ?= -lc -lm
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 MYFLAGS ?= -Wall -fPIC -g # Uncomment -g for debugging
 LIBS ?= -lc -lm
-CFLAGS ?= -fPIC -g -O2
+CFLAGS ?= -fPIC -g -O2 -I../../src -DOLSR_PLUGIN
 INSTALL_LIB =  install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
        /sbin/ldconfig
 all:   plugin
 INSTALL_LIB =  install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
        /sbin/ldconfig
 all:   plugin
index 182e23f..d2f24be 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_plugin.h,v 1.12 2005/01/22 16:50:37 tlopatic Exp $
+ * $Id: olsrd_plugin.h,v 1.13 2005/02/19 17:51:10 kattemat Exp $
  */
 
 /*
  */
 
 /*
 
 #include "olsr_plugin_io.h"
 
 
 #include "olsr_plugin_io.h"
 
+#include "olsr_protocol.h"
+#include "neighbor_table.h"
+#include "two_hop_neighbor_table.h"
+#include "tc_set.h"
+/* hna_netmask (declared in packet.h) */
+union hna_netmask
+{
+  olsr_u32_t v4;
+  olsr_u16_t v6;
+};
+#include "hna_set.h"
+#include "mid_set.h"
+#include "link_set.h"
 
 /*****************************************************************************
  *                               Plugin data                                 *
 
 /*****************************************************************************
  *                               Plugin data                                 *
 struct in_addr ipc_accept_ip;
 int ipc_port;
 
 struct in_addr ipc_accept_ip;
 int ipc_port;
 
-/****************************************************************************
- *           Various datastructures and definitions from olsrd              *
- ****************************************************************************/
-
-/*
- * TYPES SECTION
- */
-
-typedef enum
-{
-    OLSR_FALSE = 0,
-    OLSR_TRUE
-}olsr_bool;
-
-
-
-/* types */
-#include <sys/types.h>
-
-#ifndef WIN32
-typedef u_int8_t        olsr_u8_t;
-typedef u_int16_t       olsr_u16_t;
-typedef u_int32_t       olsr_u32_t;
-typedef int8_t          olsr_8_t;
-typedef int16_t         olsr_16_t;
-typedef int32_t         olsr_32_t;
-#else
-typedef unsigned char olsr_u8_t;
-typedef unsigned short olsr_u16_t;
-typedef unsigned int olsr_u32_t;
-typedef char olsr_8_t;
-typedef short olsr_16_t;
-typedef int olsr_32_t;
-#endif
-
-
-/*
- * VARIOUS DEFINITIONS
- */
-
-union olsr_ip_addr
-{
-  olsr_u32_t v4;
-  struct in6_addr v6;
-};
-
-union hna_netmask
-{
-  olsr_u32_t v4;
-  olsr_u16_t v6;
-};
-
-/*
- * Hashing
- */
-
-#define        HASHSIZE        32
-#define        HASHMASK        (HASHSIZE - 1)
-
-#define MAXIFS         8 /* Maximum number of interfaces (from defs.h) in uOLSRd */
-
-
-
-/*
- * Neighbor structures
- */
-
-/* One hop neighbor */
-
-struct neighbor_2_list_entry 
-{
-  struct neighbor_2_entry      *neighbor_2;
-  clock_t             neighbor_2_timer;
-  struct neighbor_2_list_entry *next;
-  struct neighbor_2_list_entry *prev;
-};
-
-struct neighbor_entry
-{
-  union olsr_ip_addr           neighbor_main_addr;
-  olsr_u8_t                    status;
-  olsr_u8_t                    willingness;
-  olsr_bool                    is_mpr;
-  olsr_bool                    was_mpr; /* Used to detect changes in MPR */
-  olsr_bool                    skip;
-  int                          neighbor_2_nocov;
-  int                          linkcount;
-  struct neighbor_2_list_entry neighbor_2_list; 
-  struct neighbor_entry        *next;
-  struct neighbor_entry        *prev;
-};
-
-
-/* Two hop neighbor */
-
-
-struct neighbor_list_entry 
-{
-  struct       neighbor_entry *neighbor;
-  double path_link_quality;
-  double saved_path_link_quality;
-  struct       neighbor_list_entry *next;
-  struct       neighbor_list_entry *prev;
-};
-
-struct neighbor_2_entry
-{
-  union olsr_ip_addr         neighbor_2_addr;
-  olsr_u8_t                 mpr_covered_count;    /*used in mpr calculation*/
-  olsr_u8_t                 processed;            /*used in mpr calculation*/
-  olsr_16_t                  neighbor_2_pointer;   /* Neighbor count */
-  struct neighbor_list_entry neighbor_2_nblist; 
-  struct neighbor_2_entry    *prev;
-  struct neighbor_2_entry    *next;
-};
-
-/* Topology entry */
-
-struct topo_dst
-{
-  union olsr_ip_addr T_dest_addr;
-  clock_t T_time;
-  olsr_u16_t T_seq;
-  struct topo_dst *next;
-  struct topo_dst *prev;
-  double link_quality;
-  double inverse_link_quality;
-  double saved_link_quality;
-  double saved_inverse_link_quality;
-};
-
-struct tc_entry
-{
-  union olsr_ip_addr T_last_addr;
-  struct topo_dst destinations;
-  struct tc_entry *next;
-  struct tc_entry *prev;
-};
-
-/* HNA */
-
-/* hna_netmask declared in packet.h */
-
-struct hna_net
-{
-  union olsr_ip_addr A_network_addr;
-  union hna_netmask  A_netmask;
-  clock_t            A_time;
-  struct hna_net     *next;
-  struct hna_net     *prev;
-};
-
-struct hna_entry
-{
-  union olsr_ip_addr A_gateway_addr;
-  struct hna_net     networks;
-  struct hna_entry   *next;
-  struct hna_entry   *prev;
-};
-
-/* Link entry */
-struct link_entry
-{
-  union olsr_ip_addr local_iface_addr;
-  union olsr_ip_addr neighbor_iface_addr;
-  clock_t SYM_time;
-  clock_t ASYM_time;
-  clock_t time;
-  struct neighbor_entry *neighbor;
-
-  /*
-   *Hysteresis
-   */
-  float L_link_quality;
-  int L_link_pending;
-  clock_t L_LOST_LINK_time;
-  clock_t hello_timeout; /* When we should receive a new HELLO */
-  double last_htime;
-  olsr_u16_t olsr_seqno;
-  olsr_bool olsr_seqno_valid;
-
-  /*
-   * packet loss
-   */
-
-  double loss_hello_int;
-  clock_t loss_timeout;
-
-  olsr_u16_t loss_seqno;
-  int loss_seqno_valid;
-  int loss_missed_hellos;
-
-  int lost_packets;
-  int total_packets;
-
-  double loss_link_quality;
-
-  int loss_window_size;
-  int loss_index;
-
-  unsigned char loss_bitmap[16];
-
-  double neigh_link_quality;
-
-  double saved_loss_link_quality;
-  double saved_neigh_link_quality;
-
-  /*
-   * Spy
-   */
-  olsr_u8_t                    spy_activated;
-
-  struct link_entry *next;
-};
-
 /* The lists */
 
 struct neighbor_entry *neighbortable;
 /* The lists */
 
 struct neighbor_entry *neighbortable;