Various restructuring and compiler warning fixes
authorAndreas Tonnesen <andreto@olsr.org>
Sun, 17 Oct 2004 11:52:41 +0000 (11:52 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Sun, 17 Oct 2004 11:52:41 +0000 (11:52 +0000)
src/cfgparser/Makefile
src/cfgparser/README
src/cfgparser/olsrd_conf.h
src/cfgparser/oparse.c
src/cfgparser/oparse.y
src/cfgparser/oscan.c
src/cfgparser/oscan.lex

index 4079d5b..cd3f0e6 100644 (file)
@@ -8,13 +8,12 @@ ifdef MAKELIB
 NAME ?= $(LDNAME)
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 LDFLAGS ?= -shared -Wl,-soname,$(NAME)
-CFLAGS ?= -Wall -fPIC -g -DMAKELIB -I..
+CFLAGS ?= -Wall -Wall -Wmissing-prototypes -Wstrict-prototypes -fPIC -g -DMAKELIB -I..
 LIBS  ?= -lm -lc
-DEP = libclean
 else 
 NAME ?= olsrd_cfgparser
 LDFLAGS ?=
-CFLAGS ?= -Wall -g -DMAKEBIN -I..
+CFLAGS ?= -Wall -Wall -Wmissing-prototypes -Wstrict-prototypes -g -DMAKEBIN -I..
 endif
 
 BISON ?= bison
@@ -23,8 +22,9 @@ FLEX ?= flex
 
 all:   $(NAME)
 
-$(NAME):       $(DEP) $(OBJS)
+$(NAME):       $(OBJS)
                $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS)
+               rm -f *.o
 
 oscan.c:       oscan.lex oparse.h olsrd_conf.h
                $(FLEX) -ooscan.c oscan.lex
@@ -44,8 +44,4 @@ clean:
                rm -f $(LDNAME)
 
 
-libclean:
-               rm -f *.o
-
-
 
index 1ea876f..4746f05 100644 (file)
@@ -1,3 +1,23 @@
-TODO
+$Id: README,v 1.2 2004/10/17 11:52:41 kattemat Exp $
+
+TODO..
+
+The configparser can be built in three ways.
+
+1. As part of olsrd. This is done when building olsrd.
+
+2. As a binary executable. Just do 'make' in the current
+   directory(src/cfgparser). The binary will be called
+   olsrd_cfgparser
+
+3. As a shared library. Do 'make MAKELIB=1' in the current
+   directory(src/cfgparser).
+
+
+the parser can both parse configfiles and write such files
+based on provided data.
+
+More to come.
+
 
 - Andreas
index e31617c..bdff0de 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: olsrd_conf.h,v 1.2 2004/10/16 23:17:48 kattemat Exp $
+ * $Id: olsrd_conf.h,v 1.3 2004/10/17 11:52:41 kattemat Exp $
  *
  */
 
@@ -51,10 +51,4 @@ set_default_cnf(struct olsrd_config *);
 struct if_config_options *
 find_if_rule_by_name(struct if_config_options *, char *);
 
-struct conf_token *
-get_conf_token();
-
-struct if_config_options *
-get_default_if_config();
-
 #endif
index dfa8751..c79e45f 100644 (file)
 
 
 /* Copy the first part of user declarations.  */
-#line 1 "oparse.y"
+#line 1 "src/cfgparser/oparse.y"
 
 
 /*
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: oparse.c,v 1.1 2004/10/16 23:22:09 kattemat Exp $
+ * $Id: oparse.c,v 1.2 2004/10/17 11:52:41 kattemat Exp $
  *
  */
 
 
 void yyerror(char *);
 int yylex(void);
+
+struct if_config_options *
+get_default_if_config(void);
+
+
+struct if_config_options *
+get_default_if_config()
+{
+  struct if_config_options *io = malloc(sizeof(struct if_config_options));
+  struct in6_addr in6;
  
+  memset(io, 0, sizeof(struct if_config_options));
+
+  io->ipv6_addrtype = 1;
+
+  if(inet_pton(AF_INET6, OLSR_IPV6_MCAST_SITE_LOCAL, &in6) < 0)
+    {
+      fprintf(stderr, "Failed converting IP address %s\n", OLSR_IPV6_MCAST_SITE_LOCAL);
+      exit(EXIT_FAILURE);
+    }
+  memcpy(&io->ipv6_multi_site.v6, &in6, sizeof(struct in6_addr));
+
+  if(inet_pton(AF_INET6, OLSR_IPV6_MCAST_GLOBAL, &in6) < 0)
+    {
+      fprintf(stderr, "Failed converting IP address %s\n", OLSR_IPV6_MCAST_GLOBAL);
+      exit(EXIT_FAILURE);
+    }
+  memcpy(&io->ipv6_multi_glbl.v6, &in6, sizeof(struct in6_addr));
+
+
+  io->hello_params.emission_interval = HELLO_INTERVAL;
+  io->hello_params.validity_time = NEIGHB_HOLD_TIME;
+  io->tc_params.emission_interval = TC_INTERVAL;
+  io->tc_params.validity_time = TOP_HOLD_TIME;
+  io->mid_params.emission_interval = MID_INTERVAL;
+  io->mid_params.validity_time = MID_HOLD_TIME;
+  io->hna_params.emission_interval = HNA_INTERVAL;
+  io->hna_params.validity_time = HNA_HOLD_TIME;
+
+  return io;
+
+}
+
+
+
+
 
 
 /* Enabling traces.  */
@@ -220,7 +265,7 @@ typedef int YYSTYPE;
 
 
 /* Line 214 of yacc.c.  */
-#line 224 "oparse.c"
+#line 269 "y.tab.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
@@ -420,15 +465,15 @@ static const yysigned_char yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned short yyrline[] =
 {
-       0,   100,   100,   101,   102,   105,   106,   107,   108,   109,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   121,
-     122,   123,   124,   125,   128,   131,   131,   134,   137,   137,
-     140,   143,   143,   146,   147,   150,   153,   153,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,   171,   174,   174,   177,   178,   179,   185,   208,   227,
-     235,   255,   273,   280,   287,   294,   301,   308,   315,   322,
-     331,   349,   363,   399,   436,   460,   467,   482,   497,   513,
-     529,   538,   547,   555,   565,   581,   597,   619,   631
+       0,   145,   145,   146,   147,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   166,
+     167,   168,   169,   170,   173,   176,   176,   179,   182,   182,
+     185,   188,   188,   191,   192,   195,   198,   198,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   216,   219,   219,   222,   223,   224,   230,   253,   272,
+     280,   300,   318,   325,   332,   339,   346,   353,   360,   367,
+     376,   394,   408,   444,   481,   505,   512,   527,   542,   558,
+     574,   583,   592,   600,   610,   626,   642,   664,   676
 };
 #endif
 
@@ -1222,7 +1267,7 @@ yyreduce:
   switch (yyn)
     {
         case 57:
-#line 186 "oparse.y"
+#line 231 "src/cfgparser/oparse.y"
     {
   struct if_config_options *io = get_default_if_config();
   if(io == NULL)
@@ -1241,11 +1286,11 @@ yyreduce:
   cnf->if_options = io;
 
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 58:
-#line 209 "oparse.y"
+#line 254 "src/cfgparser/oparse.y"
     {
   struct in_addr in;
 
@@ -1261,20 +1306,20 @@ yyreduce:
 
   free(yyvsp[0]->string);
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 59:
-#line 228 "oparse.y"
+#line 273 "src/cfgparser/oparse.y"
     {
   cnf->if_options->ipv6_addrtype = yyvsp[0]->boolean;
   
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 60:
-#line 236 "oparse.y"
+#line 281 "src/cfgparser/oparse.y"
     {
   struct in6_addr in6;
 
@@ -1290,11 +1335,11 @@ yyreduce:
 
   free(yyvsp[0]->string);
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 61:
-#line 256 "oparse.y"
+#line 301 "src/cfgparser/oparse.y"
     {
   struct in6_addr in6;
 
@@ -1310,83 +1355,83 @@ yyreduce:
 
   free(yyvsp[0]->string);
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 62:
-#line 274 "oparse.y"
+#line 319 "src/cfgparser/oparse.y"
     {
     if(PARSER_DEBUG) printf("\tHELLO interval: %0.2f\n", yyvsp[0]->floating);
     cnf->if_options->hello_params.emission_interval = yyvsp[0]->floating;
     free(yyvsp[0]);
-;}
+}
     break;
 
   case 63:
-#line 281 "oparse.y"
+#line 326 "src/cfgparser/oparse.y"
     {
     if(PARSER_DEBUG) printf("\tHELLO validity: %0.2f\n", yyvsp[0]->floating);
     cnf->if_options->hello_params.validity_time = yyvsp[0]->floating;
     free(yyvsp[0]);
-;}
+}
     break;
 
   case 64:
-#line 288 "oparse.y"
+#line 333 "src/cfgparser/oparse.y"
     {
     if(PARSER_DEBUG) printf("\tTC interval: %0.2f\n", yyvsp[0]->floating);
     cnf->if_options->tc_params.emission_interval = yyvsp[0]->floating;
     free(yyvsp[0]);
-;}
+}
     break;
 
   case 65:
-#line 295 "oparse.y"
+#line 340 "src/cfgparser/oparse.y"
     {
     if(PARSER_DEBUG) printf("\tTC validity: %0.2f\n", yyvsp[0]->floating);
     cnf->if_options->tc_params.validity_time = yyvsp[0]->floating;
     free(yyvsp[0]);
-;}
+}
     break;
 
   case 66:
-#line 302 "oparse.y"
+#line 347 "src/cfgparser/oparse.y"
     {
     if(PARSER_DEBUG) printf("\tMID interval: %0.2f\n", yyvsp[0]->floating);
     cnf->if_options->mid_params.emission_interval = yyvsp[0]->floating;
     free(yyvsp[0]);
-;}
+}
     break;
 
   case 67:
-#line 309 "oparse.y"
+#line 354 "src/cfgparser/oparse.y"
     {
     if(PARSER_DEBUG) printf("\tMID validity: %0.2f\n", yyvsp[0]->floating);
     cnf->if_options->mid_params.validity_time = yyvsp[0]->floating;
     free(yyvsp[0]);
-;}
+}
     break;
 
   case 68:
-#line 316 "oparse.y"
+#line 361 "src/cfgparser/oparse.y"
     {
     if(PARSER_DEBUG) printf("\tHNA interval: %0.2f\n", yyvsp[0]->floating);
     cnf->if_options->hna_params.emission_interval = yyvsp[0]->floating;
     free(yyvsp[0]);
-;}
+}
     break;
 
   case 69:
-#line 323 "oparse.y"
+#line 368 "src/cfgparser/oparse.y"
     {
     if(PARSER_DEBUG) printf("\tHNA validity: %0.2f\n", yyvsp[0]->floating);
     cnf->if_options->hna_params.validity_time = yyvsp[0]->floating;
     free(yyvsp[0]);
-;}
+}
     break;
 
   case 70:
-#line 332 "oparse.y"
+#line 377 "src/cfgparser/oparse.y"
     {
 
   if(yyvsp[0]->boolean == 1)
@@ -1400,11 +1445,11 @@ yyreduce:
     }
 
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 71:
-#line 350 "oparse.y"
+#line 395 "src/cfgparser/oparse.y"
     {
   if((yyvsp[0]->integer != 4) && (yyvsp[0]->integer != 6))
     {
@@ -1414,11 +1459,11 @@ yyreduce:
   cnf->ip_version = yyvsp[0]->integer;
   if(PARSER_DEBUG) printf("IpVersion: %d\n", cnf->ip_version);
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 72:
-#line 364 "oparse.y"
+#line 409 "src/cfgparser/oparse.y"
     {
   struct hna4_entry *h = malloc(sizeof(struct hna4_entry));
   struct in_addr in;
@@ -1452,11 +1497,11 @@ yyreduce:
   free(yyvsp[0]->string);
   free(yyvsp[0]);
 
-;}
+}
     break;
 
   case 73:
-#line 400 "oparse.y"
+#line 445 "src/cfgparser/oparse.y"
     {
   struct hna6_entry *h = malloc(sizeof(struct hna6_entry));
   struct in6_addr in6;
@@ -1491,11 +1536,11 @@ yyreduce:
   free(yyvsp[-1]);
   free(yyvsp[0]);
 
-;}
+}
     break;
 
   case 74:
-#line 437 "oparse.y"
+#line 482 "src/cfgparser/oparse.y"
     {
   struct olsr_if *in = malloc(sizeof(struct olsr_if));
   
@@ -1516,19 +1561,19 @@ yyreduce:
 
   free(yyvsp[-1]);
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 75:
-#line 461 "oparse.y"
+#line 506 "src/cfgparser/oparse.y"
     {
   if(PARSER_DEBUG) printf("Noint set to %d\n", yyvsp[0]->boolean);
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 76:
-#line 468 "oparse.y"
+#line 513 "src/cfgparser/oparse.y"
     {
   if(yyvsp[0]->boolean == 1)
     {
@@ -1540,11 +1585,11 @@ yyreduce:
     }
   free(yyvsp[0]);
 
-;}
+}
     break;
 
   case 77:
-#line 483 "oparse.y"
+#line 528 "src/cfgparser/oparse.y"
     {
   if(yyvsp[0]->boolean == 1)
     {
@@ -1556,11 +1601,11 @@ yyreduce:
     }
   free(yyvsp[0]);
 
-;}
+}
     break;
 
   case 78:
-#line 498 "oparse.y"
+#line 543 "src/cfgparser/oparse.y"
     {
   if(yyvsp[0]->boolean == 1)
     {
@@ -1572,11 +1617,11 @@ yyreduce:
     }
   free(yyvsp[0]);
 
-;}
+}
     break;
 
   case 79:
-#line 514 "oparse.y"
+#line 559 "src/cfgparser/oparse.y"
     {
   if(yyvsp[0]->boolean == 1)
     {
@@ -1588,48 +1633,48 @@ yyreduce:
     }
   free(yyvsp[0]);
 
-;}
+}
     break;
 
   case 80:
-#line 530 "oparse.y"
+#line 575 "src/cfgparser/oparse.y"
     {
   cnf->hysteresis_param.scaling = yyvsp[0]->floating;
   if(PARSER_DEBUG) printf("Hysteresis Scaling: %0.2f\n", yyvsp[0]->floating);
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 81:
-#line 539 "oparse.y"
+#line 584 "src/cfgparser/oparse.y"
     {
   cnf->hysteresis_param.thr_high = yyvsp[0]->floating;
   if(PARSER_DEBUG) printf("Hysteresis UpperThr: %0.2f\n", yyvsp[0]->floating);
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 82:
-#line 548 "oparse.y"
+#line 593 "src/cfgparser/oparse.y"
     {
   cnf->hysteresis_param.thr_low = yyvsp[0]->floating;
   if(PARSER_DEBUG) printf("Hysteresis LowerThr: %0.2f\n", yyvsp[0]->floating);
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 83:
-#line 556 "oparse.y"
+#line 601 "src/cfgparser/oparse.y"
     {
   if(PARSER_DEBUG) printf("Pollrate %0.2f\n", yyvsp[0]->floating);
   cnf->pollrate = yyvsp[0]->floating;
 
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 84:
-#line 566 "oparse.y"
+#line 611 "src/cfgparser/oparse.y"
     {
   if(yyvsp[0]->boolean == 1)
     {
@@ -1642,11 +1687,11 @@ yyreduce:
     }
   free(yyvsp[0]);
 
-;}
+}
     break;
 
   case 85:
-#line 582 "oparse.y"
+#line 627 "src/cfgparser/oparse.y"
     {
   if(yyvsp[0]->boolean == 1)
     {
@@ -1658,11 +1703,11 @@ yyreduce:
       cnf->mpr_coverage = yyvsp[0]->integer;
     }
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 86:
-#line 598 "oparse.y"
+#line 643 "src/cfgparser/oparse.y"
     {
   struct plugin_entry *pe = malloc(sizeof(struct plugin_entry));
   
@@ -1681,11 +1726,11 @@ yyreduce:
   cnf->plugins = pe;
 
   free(yyvsp[0]);
-;}
+}
     break;
 
   case 87:
-#line 620 "oparse.y"
+#line 665 "src/cfgparser/oparse.y"
     {
 
     if(PARSER_DEBUG) printf("Plugin param key:\"%s\" val: \"%s\"\n", yyvsp[-1]->string, yyvsp[0]->string);
@@ -1694,21 +1739,21 @@ yyreduce:
     free(yyvsp[-1]);
     free(yyvsp[0]->string);
     free(yyvsp[0]);
-;}
+}
     break;
 
   case 88:
-#line 632 "oparse.y"
+#line 677 "src/cfgparser/oparse.y"
     {
     //if(PARSER_DEBUG) printf("Comment\n");
-;}
+}
     break;
 
 
     }
 
 /* Line 999 of yacc.c.  */
-#line 1712 "oparse.c"
+#line 1757 "y.tab.c"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -1902,7 +1947,7 @@ yyreturn:
 }
 
 
-#line 639 "oparse.y"
+#line 684 "src/cfgparser/oparse.y"
 
 
 void yyerror (char *string)
@@ -1910,3 +1955,4 @@ void yyerror (char *string)
   fprintf(stderr, "Config line %d: %s\n", current_line, string);
 }
 
+
index 22dff1c..6ef6aaf 100644 (file)
@@ -21,7 +21,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: oparse.y,v 1.2 2004/10/16 23:17:48 kattemat Exp $
+ * $Id: oparse.y,v 1.3 2004/10/17 11:52:41 kattemat Exp $
  *
  */
 
 
 void yyerror(char *);
 int yylex(void);
+
+struct if_config_options *
+get_default_if_config(void);
+
+
+struct if_config_options *
+get_default_if_config()
+{
+  struct if_config_options *io = malloc(sizeof(struct if_config_options));
+  struct in6_addr in6;
  
+  memset(io, 0, sizeof(struct if_config_options));
+
+  io->ipv6_addrtype = 1;
+
+  if(inet_pton(AF_INET6, OLSR_IPV6_MCAST_SITE_LOCAL, &in6) < 0)
+    {
+      fprintf(stderr, "Failed converting IP address %s\n", OLSR_IPV6_MCAST_SITE_LOCAL);
+      exit(EXIT_FAILURE);
+    }
+  memcpy(&io->ipv6_multi_site.v6, &in6, sizeof(struct in6_addr));
+
+  if(inet_pton(AF_INET6, OLSR_IPV6_MCAST_GLOBAL, &in6) < 0)
+    {
+      fprintf(stderr, "Failed converting IP address %s\n", OLSR_IPV6_MCAST_GLOBAL);
+      exit(EXIT_FAILURE);
+    }
+  memcpy(&io->ipv6_multi_glbl.v6, &in6, sizeof(struct in6_addr));
+
+
+  io->hello_params.emission_interval = HELLO_INTERVAL;
+  io->hello_params.validity_time = NEIGHB_HOLD_TIME;
+  io->tc_params.emission_interval = TC_INTERVAL;
+  io->tc_params.validity_time = TOP_HOLD_TIME;
+  io->mid_params.emission_interval = MID_INTERVAL;
+  io->mid_params.validity_time = MID_HOLD_TIME;
+  io->hna_params.emission_interval = HNA_INTERVAL;
+  io->hna_params.validity_time = HNA_HOLD_TIME;
+
+  return io;
+
+}
+
+
+
+
 %}
 
 %token TOK_OPEN
index d67d8a0..6174887 100644 (file)
@@ -1,6 +1,6 @@
-#line 2 "oscan.c"
+#line 2 "src/cfgparser/oscan.c"
 
-#line 4 "oscan.c"
+#line 4 "src/cfgparser/oscan.c"
 
 #define  YY_INT_ALIGNED short int
 
@@ -817,8 +817,8 @@ int yy_flex_debug = 0;
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-#line 1 "oscan.lex"
-#line 2 "oscan.lex"
+#line 1 "src/cfgparser/oscan.lex"
+#line 2 "src/cfgparser/oscan.lex"
 
 /*
  * OLSR ad-hoc routing table management protocol config parser
@@ -841,7 +841,7 @@ char *yytext;
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: oscan.c,v 1.1 2004/10/16 23:22:09 kattemat Exp $
+ * $Id: oscan.c,v 1.2 2004/10/17 11:52:41 kattemat Exp $
  *
  */
 
@@ -858,7 +858,21 @@ char *yytext;
 
 #include "oparse.h"
 
+/* Prototypes */
+int yyget_lineno(void);
+FILE * yyget_in(void);
+FILE* yyget_out(void);
+int yyget_leng(void);
+char *yyget_text(void);
+void yyset_lineno(int);
+void yyset_in(FILE *);
+void yyset_out(FILE *);
+int yyget_debug(void);
+void yyset_debug(int);
+int yylex_destroy(void);
 
+struct conf_token *
+get_conf_token(void);
 
 struct conf_token *
 get_conf_token()
@@ -879,46 +893,7 @@ get_conf_token()
 
 
 
-struct if_config_options *
-get_default_if_config()
-{
-  struct if_config_options *io = malloc(sizeof(struct if_config_options));
-  struct in6_addr in6;
-  memset(io, 0, sizeof(struct if_config_options));
-
-  io->ipv6_addrtype = 1;
-
-  if(inet_pton(AF_INET6, OLSR_IPV6_MCAST_SITE_LOCAL, &in6) < 0)
-    {
-      fprintf(stderr, "Failed converting IP address %s\n", OLSR_IPV6_MCAST_SITE_LOCAL);
-      exit(EXIT_FAILURE);
-    }
-  memcpy(&io->ipv6_multi_site.v6, &in6, sizeof(struct in6_addr));
-
-  if(inet_pton(AF_INET6, OLSR_IPV6_MCAST_GLOBAL, &in6) < 0)
-    {
-      fprintf(stderr, "Failed converting IP address %s\n", OLSR_IPV6_MCAST_GLOBAL);
-      exit(EXIT_FAILURE);
-    }
-  memcpy(&io->ipv6_multi_glbl.v6, &in6, sizeof(struct in6_addr));
-
-
-  io->hello_params.emission_interval = HELLO_INTERVAL;
-  io->hello_params.validity_time = NEIGHB_HOLD_TIME;
-  io->tc_params.emission_interval = TC_INTERVAL;
-  io->tc_params.validity_time = TOP_HOLD_TIME;
-  io->mid_params.emission_interval = MID_INTERVAL;
-  io->mid_params.validity_time = MID_HOLD_TIME;
-  io->hna_params.emission_interval = HNA_INTERVAL;
-  io->hna_params.validity_time = HNA_HOLD_TIME;
-
-  return io;
-
-}
-
-
-#line 922 "oscan.c"
+#line 897 "src/cfgparser/oscan.c"
 
 #define INITIAL 0
 
@@ -1069,10 +1044,10 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
     
-#line 126 "oscan.lex"
+#line 101 "src/cfgparser/oscan.lex"
 
 
-#line 1076 "oscan.c"
+#line 1051 "src/cfgparser/oscan.c"
 
        if ( (yy_init) )
                {
@@ -1158,7 +1133,7 @@ do_action:        /* This label is used only to access EOF actions. */
 case 1:
 /* rule 1 can match eol */
 YY_RULE_SETUP
-#line 128 "oscan.lex"
+#line 103 "src/cfgparser/oscan.lex"
 {
 
   current_line++;
@@ -1167,7 +1142,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 134 "oscan.lex"
+#line 109 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_OPEN;
@@ -1175,7 +1150,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 139 "oscan.lex"
+#line 114 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_CLOSE;
@@ -1183,7 +1158,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 144 "oscan.lex"
+#line 119 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_SEMI;
@@ -1192,7 +1167,7 @@ YY_RULE_SETUP
 case 5:
 /* rule 5 can match eol */
 YY_RULE_SETUP
-#line 149 "oscan.lex"
+#line 124 "src/cfgparser/oscan.lex"
 {
   yylval = get_conf_token();
 
@@ -1213,7 +1188,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 167 "oscan.lex"
+#line 142 "src/cfgparser/oscan.lex"
 {
   yylval = get_conf_token();
 
@@ -1224,7 +1199,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 175 "oscan.lex"
+#line 150 "src/cfgparser/oscan.lex"
 {
   yylval = get_conf_token();
 
@@ -1234,7 +1209,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 182 "oscan.lex"
+#line 157 "src/cfgparser/oscan.lex"
 {
   yylval = get_conf_token();
   
@@ -1254,7 +1229,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 201 "oscan.lex"
+#line 176 "src/cfgparser/oscan.lex"
 {
 
   yylval = get_conf_token();
@@ -1275,7 +1250,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 220 "oscan.lex"
+#line 195 "src/cfgparser/oscan.lex"
 {
 
   yylval = get_conf_token();
@@ -1296,7 +1271,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 239 "oscan.lex"
+#line 214 "src/cfgparser/oscan.lex"
 {
   yylval = get_conf_token();
 
@@ -1311,7 +1286,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 253 "oscan.lex"
+#line 228 "src/cfgparser/oscan.lex"
 {
   yylval = get_conf_token();
 
@@ -1326,7 +1301,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 266 "oscan.lex"
+#line 241 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_DEBUGLEVEL;
@@ -1334,7 +1309,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 271 "oscan.lex"
+#line 246 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_IPVERSION;
@@ -1342,7 +1317,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 276 "oscan.lex"
+#line 251 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_HNA4;
@@ -1350,7 +1325,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 281 "oscan.lex"
+#line 256 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_HNA6;
@@ -1358,7 +1333,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 286 "oscan.lex"
+#line 261 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_PLUGIN;
@@ -1366,7 +1341,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 291 "oscan.lex"
+#line 266 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_PLNAME;
@@ -1374,7 +1349,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 296 "oscan.lex"
+#line 271 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_PLPARAM;
@@ -1382,7 +1357,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 301 "oscan.lex"
+#line 276 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_INTERFACES;
@@ -1390,7 +1365,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 306 "oscan.lex"
+#line 281 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_NOINT;
@@ -1398,7 +1373,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 311 "oscan.lex"
+#line 286 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_TOS;
@@ -1406,7 +1381,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 316 "oscan.lex"
+#line 291 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_WILLINGNESS;
@@ -1414,7 +1389,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 321 "oscan.lex"
+#line 296 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_IPCCON;
@@ -1422,7 +1397,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 326 "oscan.lex"
+#line 301 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_USEHYST;
@@ -1430,7 +1405,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 331 "oscan.lex"
+#line 306 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_HYSTSCALE;
@@ -1438,7 +1413,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 336 "oscan.lex"
+#line 311 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_HYSTUPPER;
@@ -1446,7 +1421,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 341 "oscan.lex"
+#line 316 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_HYSTLOWER;
@@ -1454,7 +1429,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 346 "oscan.lex"
+#line 321 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_POLLRATE;
@@ -1462,7 +1437,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 352 "oscan.lex"
+#line 327 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_TCREDUNDANCY;
@@ -1470,7 +1445,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 357 "oscan.lex"
+#line 332 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_MPRCOVERAGE;
@@ -1478,7 +1453,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 363 "oscan.lex"
+#line 338 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_IFSETUP;
@@ -1486,7 +1461,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 369 "oscan.lex"
+#line 344 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_IP4BROADCAST;
@@ -1494,7 +1469,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 373 "oscan.lex"
+#line 348 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_IP6ADDRTYPE;
@@ -1502,7 +1477,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 377 "oscan.lex"
+#line 352 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_IP6MULTISITE;
@@ -1510,7 +1485,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 381 "oscan.lex"
+#line 356 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_IP6MULTIGLOBAL;
@@ -1518,7 +1493,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 385 "oscan.lex"
+#line 360 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_HELLOINT;
@@ -1526,7 +1501,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 389 "oscan.lex"
+#line 364 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_HELLOVAL;
@@ -1534,7 +1509,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 393 "oscan.lex"
+#line 368 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_TCINT;
@@ -1542,7 +1517,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 397 "oscan.lex"
+#line 372 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_TCVAL;
@@ -1550,7 +1525,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 401 "oscan.lex"
+#line 376 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_MIDINT;
@@ -1558,7 +1533,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 405 "oscan.lex"
+#line 380 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_MIDVAL;
@@ -1566,7 +1541,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 409 "oscan.lex"
+#line 384 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_HNAINT;
@@ -1574,7 +1549,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 413 "oscan.lex"
+#line 388 "src/cfgparser/oscan.lex"
 {
   yylval = NULL;
   return TOK_HNAVAL;
@@ -1583,19 +1558,19 @@ YY_RULE_SETUP
 case 45:
 /* rule 45 can match eol */
 YY_RULE_SETUP
-#line 420 "oscan.lex"
+#line 395 "src/cfgparser/oscan.lex"
 {
   current_line++;
 }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 424 "oscan.lex"
+#line 399 "src/cfgparser/oscan.lex"
 
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 426 "oscan.lex"
+#line 401 "src/cfgparser/oscan.lex"
 {
   /* Do nothing */
   //fprintf(stderr, "Failed to parse line %d of configuration file.\n",
@@ -1610,10 +1585,10 @@ YY_RULE_SETUP
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 438 "oscan.lex"
+#line 413 "src/cfgparser/oscan.lex"
 ECHO;
        YY_BREAK
-#line 1617 "oscan.c"
+#line 1592 "src/cfgparser/oscan.c"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -2579,7 +2554,7 @@ void yyfree (void * ptr )
 #undef YY_DECL_IS_OURS
 #undef YY_DECL
 #endif
-#line 438 "oscan.lex"
+#line 413 "src/cfgparser/oscan.lex"
 
 
 
index 4daaa61..d03519d 100644 (file)
@@ -21,7 +21,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: oscan.lex,v 1.2 2004/10/16 23:17:48 kattemat Exp $
+ * $Id: oscan.lex,v 1.3 2004/10/17 11:52:41 kattemat Exp $
  *
  */
 
 
 #include "oparse.h"
 
+/* Prototypes */
+int yyget_lineno(void);
+FILE * yyget_in(void);
+FILE* yyget_out(void);
+int yyget_leng(void);
+char *yyget_text(void);
+void yyset_lineno(int);
+void yyset_in(FILE *);
+void yyset_out(FILE *);
+int yyget_debug(void);
+void yyset_debug(int);
+int yylex_destroy(void);
 
+struct conf_token *
+get_conf_token(void);
 
 struct conf_token *
 get_conf_token()
@@ -59,45 +73,6 @@ get_conf_token()
 
 
 
-struct if_config_options *
-get_default_if_config()
-{
-  struct if_config_options *io = malloc(sizeof(struct if_config_options));
-  struct in6_addr in6;
-  memset(io, 0, sizeof(struct if_config_options));
-
-  io->ipv6_addrtype = 1;
-
-  if(inet_pton(AF_INET6, OLSR_IPV6_MCAST_SITE_LOCAL, &in6) < 0)
-    {
-      fprintf(stderr, "Failed converting IP address %s\n", OLSR_IPV6_MCAST_SITE_LOCAL);
-      exit(EXIT_FAILURE);
-    }
-  memcpy(&io->ipv6_multi_site.v6, &in6, sizeof(struct in6_addr));
-
-  if(inet_pton(AF_INET6, OLSR_IPV6_MCAST_GLOBAL, &in6) < 0)
-    {
-      fprintf(stderr, "Failed converting IP address %s\n", OLSR_IPV6_MCAST_GLOBAL);
-      exit(EXIT_FAILURE);
-    }
-  memcpy(&io->ipv6_multi_glbl.v6, &in6, sizeof(struct in6_addr));
-
-
-  io->hello_params.emission_interval = HELLO_INTERVAL;
-  io->hello_params.validity_time = NEIGHB_HOLD_TIME;
-  io->tc_params.emission_interval = TC_INTERVAL;
-  io->tc_params.validity_time = TOP_HOLD_TIME;
-  io->mid_params.emission_interval = MID_INTERVAL;
-  io->mid_params.validity_time = MID_HOLD_TIME;
-  io->hna_params.emission_interval = HNA_INTERVAL;
-  io->hna_params.validity_time = HNA_HOLD_TIME;
-
-  return io;
-
-}
-
-
 %}
 
 %option noyywrap