Win32 fixes: adapt temporarily to new config parser
authorSven-Ola Tuecke <sven-ola@gmx.de>
Wed, 10 Dec 2008 15:05:20 +0000 (16:05 +0100)
committerSven-Ola Tuecke <sven-ola@gmx.de>
Wed, 10 Dec 2008 15:05:20 +0000 (16:05 +0100)
14 files changed:
gui/win32/Main/MyDialog2.cpp
gui/win32/Main/MyDialog2.h
src/cfgparser/cfgfile_gen.c
src/cfgparser/olsrd_cfgparser.def
src/cfgparser/olsrd_conf.c
src/cfgparser/olsrd_conf.h
src/cfgparser/oparse.y
src/cfgparser/version-script.txt
src/defs.h
src/ipcalc.c
src/main.c
src/olsr_cfg.c
src/olsr_cfg.h
src/olsr_cfg_gen.h

index 6ee1205..421b1c0 100644 (file)
@@ -239,9 +239,9 @@ int MyDialog2::OpenConfigFile(CString PathName)
        CString Conv;
 
        if (Conf != NULL)
-               olsrd_free_cnf(Conf);
+               cfgparser_olsrd_free_cnf(Conf);
 
-       Conf = olsrd_parse_cnf(PathName);
+       Conf = cfgparser_olsrd_parse_cnf(PathName);
 
        if (Conf == NULL)
                return -1;
@@ -395,7 +395,7 @@ static struct olsr_if *AddInterface(struct olsrd_config **Conf, CString Name)
        Int->configured = false;
        Int->interf = NULL;
 
-       Int->cnf = get_default_if_config();
+       Int->cnf = cfgparser_get_default_if_config();
 
        Int->next = (*Conf)->interfaces;
        (*Conf)->interfaces = Int;
@@ -629,7 +629,7 @@ int MyDialog2::SaveConfigFile(CString PathName, int Real)
 
        // write configuration file
 
-       if (olsrd_write_cnf(Conf, PathName) < 0)
+       if (cfgparser_olsrd_write_cnf(Conf, PathName) < 0)
                return -1;
 
        return 0;
index 09b2341..eec87cf 100644 (file)
@@ -49,7 +49,7 @@
 
 #define MAKELIB
 #define OLSR_PLUGIN
-#include <olsr_cfg.h>
+#include <cfgparser/olsrd_conf.h>
 #include "afxwin.h"
 
 class MyDialog2 : public CDialog
index 72fdda9..c5321bc 100644 (file)
@@ -52,7 +52,7 @@
 
 
 int
-olsrd_write_cnf(const struct olsrd_config *cnf, const char *fname)
+cfgparser_olsrd_write_cnf(const struct olsrd_config *cnf, const char *fname)
 {
   struct autobuf abuf;
   FILE *fd = fopen(fname, "w");
@@ -64,7 +64,7 @@ olsrd_write_cnf(const struct olsrd_config *cnf, const char *fname)
   printf("Writing config to file \"%s\".... ", fname);
 
   abuf_init(&abuf, 0);
-  olsrd_write_cnf_buf(&abuf, cnf, false);
+  cfgparser_olsrd_write_cnf_buf(&abuf, cnf, false);
   fputs(abuf.buf, fd);
 
   abuf_free(&abuf);
@@ -84,7 +84,7 @@ static INLINE void append_float(struct autobuf *abuf, const char *name, float va
 }
 
 void
-olsrd_write_cnf_buf(struct autobuf *abuf, const struct olsrd_config *cnf, bool write_more_comments)
+cfgparser_olsrd_write_cnf_buf(struct autobuf *abuf, const struct olsrd_config *cnf, bool write_more_comments)
 {
   char ipv6_buf[INET6_ADDRSTRLEN];             /* buffer for IPv6 inet_ntop */
   const char *s;
index 847392f..4642e03 100644 (file)
@@ -1,12 +1,12 @@
 EXPORTS
-       olsrd_parse_cnf
-       olsrd_sanity_check_cnf
-       olsrd_free_cnf
-       olsrd_print_cnf
-       olsrd_write_cnf
-       olsrd_write_cnf_buf
-       get_default_if_config
-       olsrd_get_default_cnf
+       cfgparser_olsrd_parse_cnf
+       cfgparser_olsrd_sanity_check_cnf
+       cfgparser_olsrd_free_cnf
+       cfgparser_olsrd_print_cnf
+       cfgparser_olsrd_write_cnf
+       cfgparser_olsrd_write_cnf_buf
+       cfgparser_get_default_if_config
+       cfgparser_olsrd_get_default_cnf
        win32_stdio_hack
        win32_olsrd_malloc
        win32_olsrd_free
index 4fbaeae..bfbc1af 100644 (file)
@@ -64,12 +64,6 @@ static char copyright_string[] __attribute__((unused)) = "The olsr.org Optimized
 
 int current_line;
 
-#if 0
-/* Global stuff externed in defs.h */
-FILE *debug_handle;             /* Where to send debug(defaults to stdout) */
-struct olsrd_config *olsr_cnf;  /* The global configuration */
-#endif
-
 #ifdef MAKEBIN
 
 /* Build as standalone binary */
@@ -111,7 +105,7 @@ main(int argc, char *argv[])
 #endif
 
 struct olsrd_config *
-olsrd_parse_cnf(const char *filename)
+cfgparser_olsrd_parse_cnf(const char *filename)
 {
   struct olsr_if *in, *new_ifqueue;
   int rc;
@@ -123,7 +117,7 @@ olsrd_parse_cnf(const char *filename)
     return NULL;
   }
 
-  set_default_cnf(olsr_cnf);
+  cfgparser_set_default_cnf(olsr_cnf);
 
   printf("Parsing file: \"%s\"\n", filename);
 
@@ -131,7 +125,7 @@ olsrd_parse_cnf(const char *filename)
   if (yyin == NULL) {
     fprintf(stderr, "Cannot open configuration file '%s': %s.\n",
             filename, strerror(errno));
-    olsrd_free_cnf(olsr_cnf);
+    cfgparser_olsrd_free_cnf(olsr_cnf);
     olsr_cnf = NULL;
     return NULL;
   }
@@ -140,7 +134,7 @@ olsrd_parse_cnf(const char *filename)
   rc = yyparse();
   fclose(yyin);
   if (rc != 0) {
-    olsrd_free_cnf(olsr_cnf);
+    cfgparser_olsrd_free_cnf(olsr_cnf);
     olsr_cnf = NULL;
     return NULL;
   }
@@ -170,7 +164,7 @@ olsrd_parse_cnf(const char *filename)
 
 
 int
-check_pollrate(float *pollrate)
+cfgparser_check_pollrate(float *pollrate)
 {
   if (*pollrate > MAX_POLLRATE) {
     fprintf(stderr, "Pollrate %0.2f is too large\n", *pollrate);
@@ -187,7 +181,7 @@ check_pollrate(float *pollrate)
 }
 
 int
-olsrd_sanity_check_cnf(struct olsrd_config *cnf)
+cfgparser_olsrd_sanity_check_cnf(struct olsrd_config *cnf)
 {
   struct olsr_if           *in = cnf->interfaces;
   struct if_config_options *io;
@@ -385,7 +379,7 @@ olsrd_sanity_check_cnf(struct olsrd_config *cnf)
 
 
 void
-olsrd_free_cnf(struct olsrd_config *cnf)
+cfgparser_olsrd_free_cnf(struct olsrd_config *cnf)
 {
   struct ip_prefix_list   *hd,   *h = cnf->hna_entries;
   struct olsr_if           *ind, *in = cnf->interfaces;
@@ -429,7 +423,7 @@ olsrd_free_cnf(struct olsrd_config *cnf)
 
 
 struct olsrd_config *
-olsrd_get_default_cnf(void)
+cfgparser_olsrd_get_default_cnf(void)
 {
   struct olsrd_config *c = malloc(sizeof(struct olsrd_config));
   if (c == NULL) {
@@ -437,7 +431,7 @@ olsrd_get_default_cnf(void)
     return NULL;
   }
 
-  set_default_cnf(c);
+  cfgparser_set_default_cnf(c);
   return c;
 }
 
@@ -445,7 +439,7 @@ olsrd_get_default_cnf(void)
 
 
 void
-set_default_cnf(struct olsrd_config *cnf)
+cfgparser_set_default_cnf(struct olsrd_config *cnf)
 {
     memset(cnf, 0, sizeof(*cnf));
 
@@ -497,7 +491,7 @@ set_default_cnf(struct olsrd_config *cnf)
 #endif
 }
 
-static void init_default_if_config(struct if_config_options *io)
+static void cfgparser_init_default_if_config(struct if_config_options *io)
 {
   struct in6_addr in6;
 
@@ -529,7 +523,7 @@ static void init_default_if_config(struct if_config_options *io)
   io->autodetect_chg = true;
 }
 
-struct if_config_options *get_default_if_config(void)
+struct if_config_options *cfgparser_get_default_if_config(void)
 {
   struct if_config_options *io = malloc(sizeof(*io));
 
@@ -537,13 +531,13 @@ struct if_config_options *get_default_if_config(void)
     fprintf(stderr, "Out of memory %s\n", __func__);
     return NULL;
   }
-  init_default_if_config(io);
+  cfgparser_init_default_if_config(io);
   return io;
 }
 
 
 void
-olsrd_print_cnf(const struct olsrd_config *cnf)
+cfgparser_olsrd_print_cnf(const struct olsrd_config *cnf)
 {
   struct ip_prefix_list   *h  = cnf->hna_entries;
   struct olsr_if           *in = cnf->interfaces;
@@ -729,8 +723,7 @@ win32_olsrd_free(void* ptr)
 }
 #endif
 
-#if 0
-void ip_prefix_list_add(struct ip_prefix_list **list,
+void cfgparser_ip_prefix_list_add(struct ip_prefix_list **list,
                         const union olsr_ip_addr *net,
                         uint8_t prefix_len)
 {
@@ -744,7 +737,7 @@ void ip_prefix_list_add(struct ip_prefix_list **list,
   *list = new_entry;
 }
 
-int ip_prefix_list_remove(struct ip_prefix_list **list,
+int cfgparser_ip_prefix_list_remove(struct ip_prefix_list **list,
                           const union olsr_ip_addr *net,
                           uint8_t prefix_len)
 {
@@ -767,7 +760,7 @@ int ip_prefix_list_remove(struct ip_prefix_list **list,
   return 0;
 }
 
-struct ip_prefix_list *ip_prefix_list_find(struct ip_prefix_list *list,
+struct ip_prefix_list *cfgparser_ip_prefix_list_find(struct ip_prefix_list *list,
                                            const union olsr_ip_addr *net,
                                            uint8_t prefix_len)
 {
@@ -780,8 +773,6 @@ struct ip_prefix_list *ip_prefix_list_find(struct ip_prefix_list *list,
   return NULL;
 }
 
-#endif
-
 /*
  * Local Variables:
  * c-basic-offset: 2
index 88c224a..721f75a 100644 (file)
@@ -42,7 +42,7 @@
 #ifndef _OLSRD_CONF_H
 #define _OLSRD_CONF_H
 
-#include "olsr_protocol.h"
+#include "olsr_types.h"
 #include "olsr_cfg.h"
 #include "../common/autobuf.h"
 
@@ -59,21 +59,37 @@ struct conf_token {
   char       *string;
 };
 
-void
-set_default_cnf(struct olsrd_config *);
+#if defined __cplusplus
+extern "C" {
+#endif
+
+void cfgparser_set_default_cnf(struct olsrd_config *);
+struct olsrd_config *cfgparser_olsrd_parse_cnf(const char *filename);
+void cfgparser_olsrd_free_cnf(struct olsrd_config *cnf);
+int cfgparser_olsrd_sanity_check_cnf(struct olsrd_config *cnf);
+struct olsrd_config *cfgparser_olsrd_get_default_cnf(void);
+struct if_config_options *cfgparser_get_default_if_config(void);
+void cfgparser_olsrd_print_cnf(const struct olsrd_config *cnf);
+int cfgparser_olsrd_write_cnf(const struct olsrd_config *cnf, const char *fname);
+void cfgparser_olsrd_write_cnf_buf(struct autobuf *abuf, const struct olsrd_config *cnf, bool write_more_comments);
+int cfgparser_check_pollrate(float *pollrate);
 
-struct olsrd_config *olsrd_parse_cnf(const char *filename);
-void olsrd_free_cnf(struct olsrd_config *cnf);
-int olsrd_sanity_check_cnf(struct olsrd_config *cnf);
-struct olsrd_config *olsrd_get_default_cnf(void);
-struct if_config_options *get_default_if_config(void);
-void olsrd_print_cnf(const struct olsrd_config *cnf);
-int olsrd_write_cnf(const struct olsrd_config *cnf, const char *fname);
-void olsrd_write_cnf_buf(struct autobuf *abuf, const struct olsrd_config *cnf, bool write_more_comments);
-int check_pollrate(float *pollrate);
+void cfgparser_ip_prefix_list_add(struct ip_prefix_list **, const union olsr_ip_addr *, uint8_t);
+int cfgparser_ip_prefix_list_remove(struct ip_prefix_list **, const union olsr_ip_addr *, uint8_t);
+struct ip_prefix_list *cfgparser_ip_prefix_list_find(struct ip_prefix_list *, const union olsr_ip_addr *net, uint8_t prefix_len);
 
+#ifdef WIN32
+void win32_stdio_hack(unsigned int);
+void *win32_olsrd_malloc(size_t size);
+void win32_olsrd_free(void *ptr);
 #endif
 
+#if defined __cplusplus
+}
+#endif
+
+#endif /* _OLSRD_CONF_H */
+
 /*
  * Local Variables:
  * c-basic-offset: 2
index 761d906..51bfbeb 100644 (file)
@@ -143,7 +143,7 @@ static int add_ipv6_addr(YYSTYPE ipaddr_arg, YYSTYPE prefixlen_arg)
   }
 
   /* Queue */
-  ip_prefix_list_add(&olsr_cnf->hna_entries, &ipaddr, prefixlen_arg->integer);
+  cfgparser_ip_prefix_list_add(&olsr_cnf->hna_entries, &ipaddr, prefixlen_arg->integer);
 
   free(ipaddr_arg->string);
   free(ipaddr_arg);
@@ -357,7 +357,7 @@ ipchost: TOK_HOSTLABEL TOK_IP4_ADDR
     YYABORT;
   }
 
-  ip_prefix_list_add(&olsr_cnf->ipc_nets, &ipaddr, olsr_cnf->maxplen);
+  cfgparser_ip_prefix_list_add(&olsr_cnf->ipc_nets, &ipaddr, olsr_cnf->maxplen);
 
   free($2->string);
   free($2);
@@ -380,7 +380,7 @@ ipcnet: TOK_NETLABEL TOK_IP4_ADDR TOK_IP4_ADDR
     YYABORT;
   }
 
-  ip_prefix_list_add(&olsr_cnf->ipc_nets, &ipaddr, olsr_netmask_to_prefix(&netmask));
+  cfgparser_ip_prefix_list_add(&olsr_cnf->ipc_nets, &ipaddr, olsr_netmask_to_prefix(&netmask));
 
   free($2->string);
   free($2);
@@ -403,7 +403,7 @@ ipcnet: TOK_NETLABEL TOK_IP4_ADDR TOK_IP4_ADDR
     YYABORT;
   }
 
-  ip_prefix_list_add(&olsr_cnf->ipc_nets, &ipaddr, $4->integer);
+  cfgparser_ip_prefix_list_add(&olsr_cnf->ipc_nets, &ipaddr, $4->integer);
 
   free($2->string);
   free($2);
@@ -771,7 +771,7 @@ ihna4entry:     TOK_IP4_ADDR TOK_IP4_ADDR
   }
 
   /* Queue */
-  ip_prefix_list_add(&olsr_cnf->hna_entries, &ipaddr, olsr_netmask_to_prefix(&netmask));
+  cfgparser_ip_prefix_list_add(&olsr_cnf->hna_entries, &ipaddr, olsr_netmask_to_prefix(&netmask));
 
   free($1->string);
   free($1);
@@ -801,7 +801,7 @@ ihna4entry:     TOK_IP4_ADDR TOK_IP4_ADDR
   }
 
   /* Queue */
-  ip_prefix_list_add(&olsr_cnf->hna_entries, &ipaddr, $3->integer);
+  cfgparser_ip_prefix_list_add(&olsr_cnf->hna_entries, &ipaddr, $3->integer);
 
   free($1->string);
   free($1);
@@ -839,7 +839,7 @@ ifnick: TOK_STRING
     YYABORT;
   }
 
-  in->cnf = get_default_if_config();
+  in->cnf = cfgparser_get_default_if_config();
   if (in->cnf == NULL) {
     fprintf(stderr, "Out of memory(ADD IFRULE)\n");
     YYABORT;
@@ -940,7 +940,7 @@ fhystlower: TOK_HYSTLOWER TOK_FLOAT
 fpollrate: TOK_POLLRATE TOK_FLOAT
 {
   PARSER_DEBUG_PRINTF("Pollrate %0.2f\n", $2->floating);
-  if (check_pollrate(&$2->floating) < 0) {
+  if (cfgparser_check_pollrate(&$2->floating) < 0) {
     YYABORT;
   }
   olsr_cnf->pollrate = conv_pollrate_to_microsecs($2->floating);
index dd888e2..8eab44d 100644 (file)
@@ -1,15 +1,15 @@
 VERS_1.0
 {
   global:
-    olsrd_parse_cnf;
-    olsrd_sanity_check_cnf;
-    olsrd_free_cnf;
-    olsrd_print_cnf;
-    olsrd_write_cnf;
-    olsrd_write_cnf_buf;
-    get_default_if_config;
-    olsrd_get_default_cnf;
-    olsrd_parse_cnf;
+    cfgparser_olsrd_parse_cnf;
+    cfgparser_olsrd_sanity_check_cnf;
+    cfgparser_olsrd_free_cnf;
+    cfgparser_olsrd_print_cnf;
+    cfgparser_olsrd_write_cnf;
+    cfgparser_olsrd_write_cnf_buf;
+    cfgparser_get_default_if_config;
+    cfgparser_olsrd_get_default_cnf;
+    cfgparser_olsrd_parse_cnf;
     win32_stdio_hack;
     win32_olsrd_malloc;
     win32_olsrd_free;
index 404b048..c394c5d 100644 (file)
@@ -88,7 +88,11 @@ extern FILE *debug_handle;
  * too large inline functions, we want to have just "inline" there.
  */
 #ifndef INLINE
+#ifdef __GNUC__
 #define INLINE inline __attribute__((always_inline))
+#else
+#define INLINE inline
+#endif
 #endif
 
 #if defined NODEBUG
index 51479c8..2869f94 100644 (file)
 
 #include "ipcalc.h"
 
+/* Global stuff externed in defs.h */
+FILE *debug_handle;                    /* Where to send debug(defaults to stdout) */
+struct olsrd_config *olsr_cnf;         /* The global configuration */
+
 int
 prefix_to_netmask(uint8_t *a, int len, uint8_t prefixlen)
 {
index 4ff1cd5..8124c39 100644 (file)
@@ -70,7 +70,6 @@
 
 #ifdef WIN32
 int __stdcall SignalHandler(unsigned long signo);
-void ListInterfaces(void);
 void DisableIcmpRedirects(void);
 #else
 static void signal_shutdown(int);
index 560b4df..e040ba1 100644 (file)
@@ -54,9 +54,9 @@
 #include <getopt.h>
 #include <errno.h>
 
-/* Global stuff externed in defs.h */
-FILE *debug_handle;                    /* Where to send debug(defaults to stdout) */
-struct olsrd_config *olsr_cnf;         /* The global configuration */
+#ifdef WIN32
+void ListInterfaces(void);
+#endif
 
 #ifdef DEBUG
 #define PARSER_DEBUG_PRINTF(x, args...)   printf(x, ##args)
index b75d98a..a605d20 100644 (file)
@@ -240,52 +240,33 @@ struct olsrd_config {
  */
 extern struct olsrd_config *olsr_cnf;
 
-#if defined __cplusplus
-extern "C" {
-#endif
-
 /*
  * Interface to parser
  */
-
-  struct olsrd_config *olsr_parse_cnf(int, char **, const char *);
-
-  int olsr_sanity_check_cnf(struct olsrd_config *);
-
-  void olsr_free_cnf(struct olsrd_config *);
-
-  struct olsrd_config *olsr_get_default_cnf(void);
-
-  void olsr_init_default_if_config(struct if_config_options *);
-
-  struct if_config_options *olsr_get_default_if_config(void);
+struct olsrd_config *olsr_parse_cnf(int, char **, const char *);
+int olsr_sanity_check_cnf(struct olsrd_config *);
+void olsr_free_cnf(struct olsrd_config *);
+struct olsrd_config *olsr_get_default_cnf(void);
+void olsr_init_default_if_config(struct if_config_options *);
+struct if_config_options *olsr_get_default_if_config(void);
 
 /*
  * Check pollrate function
  */
-
-  static inline float conv_pollrate_to_secs(uint32_t p) {
-    return p / 1000000.0;
-  }
-  static inline uint32_t conv_pollrate_to_microsecs(float p) {
-    return p * 1000000;
-  }
-
-  int olsr_check_pollrate(float *pollrate);
+static inline float conv_pollrate_to_secs(uint32_t p) {
+  return p / 1000000.0;
+}
+static inline uint32_t conv_pollrate_to_microsecs(float p) {
+  return p * 1000000;
+}
+int olsr_check_pollrate(float *pollrate);
 
 /*
  * List functions
  */
-
-  void ip_prefix_list_add(struct ip_prefix_list **, const union olsr_ip_addr *, uint8_t);
-
-  int ip_prefix_list_remove(struct ip_prefix_list **, const union olsr_ip_addr *, uint8_t);
-
-  struct ip_prefix_list *ip_prefix_list_find(struct ip_prefix_list *, const union olsr_ip_addr *net, uint8_t prefix_len);
-
-#if defined __cplusplus
-}
-#endif
+void ip_prefix_list_add(struct ip_prefix_list **, const union olsr_ip_addr *, uint8_t);
+int ip_prefix_list_remove(struct ip_prefix_list **, const union olsr_ip_addr *, uint8_t);
+struct ip_prefix_list *ip_prefix_list_find(struct ip_prefix_list *, const union olsr_ip_addr *net, uint8_t prefix_len);
 
 #endif /* _OLSRD_CFG_H */
 
index 7a508e7..781a746 100644 (file)
 #include "olsr_cfg.h"
 #include "common/autobuf.h"
 
-#if defined __cplusplus
-extern "C" {
-#endif
-
 /*
  * Interface config generation
  */
+void olsr_print_cnf(const struct olsrd_config *);
+int olsr_write_cnf(const struct olsrd_config *cnf, const char *fname);
+void olsr_write_cnf_buf(struct autobuf *abuf, const struct olsrd_config *cnf, bool write_more_comments);
 
-  void olsr_print_cnf(const struct olsrd_config *);
-
-  int olsr_write_cnf(const struct olsrd_config *cnf, const char *fname);
-
-  void
-    olsr_write_cnf_buf(struct autobuf *abuf, const struct olsrd_config *cnf, bool write_more_comments);
-
-#if defined __cplusplus
-}
-#endif
-#endif                                 /* _OLSRD_CFG_GEN_H */
+#endif /* _OLSRD_CFG_GEN_H */
 
 /*
  * Local Variables: