Restructuring for haeder inclusion from olsrd src
authorAndreas Tonnesen <andreto@olsr.org>
Fri, 25 Feb 2005 22:35:53 +0000 (22:35 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Fri, 25 Feb 2005 22:35:53 +0000 (22:35 +0000)
lib/powerinfo/Makefile
lib/powerinfo/src/olsrd_plugin.c
lib/powerinfo/src/olsrd_plugin.h

index cc0ff21..1e86abf 100644 (file)
@@ -7,6 +7,7 @@
 
 CC ?= gcc
 STRIP ?= strip
+PLUGINFLAGS =  -fPIC -DOLSR_PLUGIN -I../../src
 
 ifndef OS
 all:           help
@@ -16,9 +17,9 @@ ifeq ($(OS), linux)
 NAME ?= olsrd_power.so.0.3
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 # -fPIC creates position independent code
-MYFLAGS ?= -Wall -fPIC -g # Uncomment -g for debugging
 LIBS ?= -lc -lm
-CFLAGS ?= -fPIC -g -O2
+CFLAGS ?= -Wall -g -O2 $(PLUGINFLAGS)  -Wmissing-prototypes -Wstrict-prototypes
+LDFLAGS ?= -fPIC
 INSTALL_LIB = install -D -m 755 $(NAME) $(LIBDIR)/$(NAME);\
        /sbin/ldconfig -n $(LIBDIR)
 all:   plugin
@@ -27,19 +28,19 @@ ifeq ($(OS), fbsd)
 NAME ?= olsrd_power.so.0.3
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 # -fPIC creates position independent code
-MYFLAGS ?= -Wall -fPIC -g # Uncomment -g for debugging
 LIBS ?= -lc -lm
-CFLAGS ?= -fPIC -g -O2
+CFLAGS ?= -Wall -g -O2 $(PLUGINFLAGS) -Wmissing-prototypes -Wstrict-prototypes
+LDFLAGS ?= -fPIC
 INSTALL_LIB = install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
        /sbin/ldconfig
 all:   plugin
 else
 ifeq ($(OS), win32)
 NAME ?= olsrd_power.dll
-MYFLAGS ?= -g -fPIC -DWIN32 -mno-cygwin -I../../src/win32 -Wall -Wmissing-prototypes -Wstrict-prototypes
+MYFLAGS ?= -g -DWIN32 -mno-cygwin -I../../src/win32 -Wall -Wmissing-prototypes -Wstrict-prototypes $(PLUGINFLAGS)
 CFLAGS ?= -O2
 CFLAGS += $(MYFLAGS)
-LDFLAGS ?= -mno-cygwin -shared
+LDFLAGS ?= -mno-cygwin -shared -fPIC
 LIBS ?= -lws2_32
 INSTALL_LIB =  cp $(NAME) ../..
 else
@@ -65,7 +66,7 @@ HDRS= src/olsrd_plugin.h src/olsrd_power.h src/olsr_plugin_io.h
 # not 100% sure if this is neccesary
 
 plugin: $(OBJS)
-       $(CC) $(LDFLAGS) $(MYFLAGS) -shared -Wl,-soname,$(NAME) \
+       $(CC) $(LDFLAGS) -shared -Wl,-soname,$(NAME) \
        -Wl,--version-script=version-script.txt \
        -o $(NAME) $(OBJS) $(LIBS)
 
index 58f14ac..0195e2b 100644 (file)
@@ -29,7 +29,7 @@
  *
  */
 
-/* $Id: olsrd_plugin.c,v 1.3 2004/11/30 17:04:45 kattemat Exp $ */
+/* $Id: olsrd_plugin.c,v 1.4 2005/02/25 22:35:53 kattemat Exp $ */
 
 
 /*
 
 #include "olsrd_plugin.h"
 #include <stdio.h>
-
-
-/* Data to sent to the plugin with the register_olsr_function call 
- * THIS STRUCT MUST MATCH ITS SIBLING IN plugin_loader.h IN OLSRD
- */
-struct olsr_plugin_data
-{
-  int ipversion;
-  union olsr_ip_addr *main_addr;
-  int (*olsr_plugin_io)(int, void *, size_t);
-};
-
-
-/**
- * "Private" declarations
- */
+#include "plugin_loader.h"
 
 void __attribute__ ((constructor)) 
 my_init(void);
index 70e2558..2b71afa 100644 (file)
@@ -29,7 +29,7 @@
  *
  */
 
-/* $Id: olsrd_plugin.h,v 1.5 2005/01/30 18:06:28 kattemat Exp $ */
+/* $Id: olsrd_plugin.h,v 1.6 2005/02/25 22:35:53 kattemat Exp $ */
 
 /*
  * Dynamic linked library example for UniK OLSRd
@@ -47,6 +47,8 @@
 #include <math.h>
 
 #include "olsr_plugin_io.h"
+#include "olsr_types.h"
+#include "interfaces.h"
 
 /* Use this as PARSER_TYPE to receive ALL messages! */
 #define PROMISCUOUS 0xffffffff
  *           Various datastructures and definitions from olsrd              *
  ****************************************************************************/
 
-/*
- * TYPES SECTION
- */
-
-/* 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;
-};
-
 
 #define MAX_TTL               0xff
 
@@ -136,51 +104,6 @@ union olsr_ip_addr
 #define MAXIFS         8 /* Maximum number of interfaces (from defs.h) in uOLSRd */
 
 
-/****************************************************************************
- *                          INTERFACE SECTION                               *
- ****************************************************************************/
-struct vtimes
-{
-  olsr_u8_t hello;
-  olsr_u8_t tc;
-  olsr_u8_t mid;
-  olsr_u8_t hna;
-};
-
-/**
- *A struct containing all necessary information about each
- *interface participating in the OLSD routing
- */
-struct interface 
-{
-  /* IP version 4 */
-  struct       sockaddr int_addr;              /* address */
-  struct       sockaddr int_netmask;           /* netmask */
-  struct       sockaddr int_broadaddr;         /* broadcast address */
-  /* IP version 6 */
-  struct        sockaddr_in6 int6_addr;         /* Address */
-  struct        sockaddr_in6 int6_multaddr;     /* Multicast */
-  /* IP independent */
-  union         olsr_ip_addr ip_addr;
-  int           olsr_socket;                    /* The broadcast socket for this interface */
-  int          int_metric;                     /* metric of interface */
-  int           int_mtu;                        /* MTU of interface */
-  int          int_flags;                      /* see below */
-  char         *int_name;                      /* from kernel if structure */
-  int           if_index;                       /* Kernels index of this interface */
-  int           if_nr;                          /* This interfaces index internally*/
-  int           is_wireless;                    /* wireless interface or not*/
-  olsr_u16_t    olsr_seqnum;                    /* Olsr message seqno */
-
-  float         hello_etime;
-  struct        vtimes valtimes;
-
-  struct       interface *int_next;
-};
-
-
-
-
 /****************************************************************************
  *                        POWERSTATUS SECTION                               *
  ****************************************************************************/