Rename 'struct interface' to 'struct interface_olsr'
[olsrd.git] / lib / bmf / src / Bmf.h
index 180e185..bdfc709 100644 (file)
@@ -3,7 +3,7 @@
 
 /*
  * OLSR Basic Multicast Forwarding (BMF) plugin.
- * Copyright (c) 2005, 2006, Thales Communications, Huizen, The Netherlands.
+ * Copyright (c) 2005 - 2007, Thales Communications, Huizen, The Netherlands.
  * Written by Erik Tromp.
  * All rights reserved.
  *
  * Description: Multicast forwarding functions
  * Created    : 29 Jun 2006
  *
- * $Id: Bmf.h,v 1.2 2007/02/10 17:05:55 bernd67 Exp $ 
  * ------------------------------------------------------------------------- */
 
+#include "olsrd_plugin.h" /* union set_plugin_parameter_addon */ 
+#include "interfaces.h"   /* enum olsr_ifchg_flag */
+
 /* BMF plugin data */
 #define PLUGIN_NAME "OLSRD Basic Multicast Forwarding (BMF) plugin"
 #define PLUGIN_NAME_SHORT "OLSRD BMF"
-#define PLUGIN_VERSION "1.3 (" __DATE__ " " __TIME__ ")"
+#define PLUGIN_VERSION "1.7.0 (" __DATE__ " " __TIME__ ")"
 #define PLUGIN_COPYRIGHT "  (C) Thales Communications Huizen, Netherlands"
-#define PLUGIN_AUTHOR "  Erik Tromp (erik.tromp@nl.thalesgroup.com)"
+#define PLUGIN_AUTHOR "  Erik Tromp (eriktromp@users.sourceforge.net)"
 #define MOD_DESC PLUGIN_NAME " " PLUGIN_VERSION "\n" PLUGIN_COPYRIGHT "\n" PLUGIN_AUTHOR
+#define PLUGIN_INTERFACE_VERSION 5
 
 /* UDP-Port on which multicast packets are encapsulated */
 #define BMF_ENCAP_PORT 50698
 
-struct interface;
+/* Forward declaration of OLSR interface type */
+struct interface_olsr;
+
+extern int FanOutLimit;
+extern int BroadcastRetransmitCount;
+
+void BMF_handle_captureFd(int skfd, void *data, unsigned int);
+void BMF_handle_listeningFd(int skfd, void *data, unsigned int);
+void BMF_handle_encapsulatingFd(int skfd, void *data, unsigned int);
+void BMF_handle_tuntapFd(int, void*, unsigned int);
 
-int InterfaceChange(struct interface* interf, int action);
-int InitBmf(struct interface* skipThisIntf);
+void BmfPError(const char* format, ...) __attribute__((format(printf, 1, 2)));
+union olsr_ip_addr* MainAddressOf(union olsr_ip_addr* ip);
+void InterfaceChange(int, struct interface_olsr * interf, enum olsr_ifchg_flag action);
+int SetFanOutLimit(const char* value, void* data, set_plugin_parameter_addon addon);
+int InitBmf(struct interface_olsr * skipThisIntf);
 void CloseBmf(void);
-int RegisterBmfParameter(char* key, char* value);
 
 #endif /* _BMF_BMF_H */