Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SrvParser.h
Go to the documentation of this file.
1 #ifndef YY_SrvParser_h_included
2 #define YY_SrvParser_h_included
3 #define YY_USE_CLASS
4 
5 #line 1 "../bison++/bison.h"
6 /* before anything */
7 #ifdef c_plusplus
8  #ifndef __cplusplus
9  #define __cplusplus
10  #endif
11 #endif
12 
13 
14  #line 8 "../bison++/bison.h"
15 #line 3 "SrvParser.y"
16 
17 #include <iostream>
18 #include <string>
19 #include <stdint.h>
20 #include <sstream>
21 #include "Portable.h"
22 #include "DHCPConst.h"
23 #include "SmartPtr.h"
24 #include "Container.h"
25 #include "SrvParser.h"
26 #include "SrvParsGlobalOpt.h"
27 #include "SrvParsClassOpt.h"
28 #include "SrvParsIfaceOpt.h"
29 #include "OptAddr.h"
30 #include "OptAddrLst.h"
31 #include "OptDomainLst.h"
32 #include "OptString.h"
33 #include "OptVendorSpecInfo.h"
34 #include "OptRtPrefix.h"
35 #include "SrvOptAddrParams.h"
36 #include "SrvCfgMgr.h"
37 #include "SrvCfgTA.h"
38 #include "SrvCfgPD.h"
39 #include "SrvCfgClientClass.h"
40 #include "SrvCfgAddrClass.h"
41 #include "SrvCfgIface.h"
42 #include "SrvCfgOptions.h"
43 #include "DUID.h"
44 #include "Logger.h"
45 #include "FQDN.h"
46 #include "Key.h"
47 #include "Node.h"
48 #include "NodeConstant.h"
49 #include "NodeClientSpecific.h"
50 #include "NodeOperator.h"
51 
52 using namespace std;
53 
54 #define YY_USE_CLASS
55 #define YY_SrvParser_MEMBERS FlexLexer * lex; \
56 TContainer< SPtr<TSrvParsGlobalOpt> > ParserOptStack; /* list of parsed interfaces/IAs/addrs */ \
57 TContainer< SPtr<TSrvCfgIface> > SrvCfgIfaceLst; /* list of SrvCfg interfaces */ \
58 TContainer< SPtr<TSrvCfgAddrClass> > SrvCfgAddrClassLst; /* list of SrvCfg address classes */ \
59 TContainer< SPtr<TSrvCfgTA> > SrvCfgTALst; /* list of SrvCfg TA objects */ \
60 TContainer< SPtr<TSrvCfgPD> > SrvCfgPDLst; /* list of SrvCfg PD objects */ \
61 TContainer< SPtr<TSrvCfgClientClass> > SrvCfgClientClassLst; /* list of SrvCfgClientClass objs */ \
62 TContainer< SPtr<TIPv6Addr> > PresentAddrLst; /* address list (used for DNS,NTP,etc.)*/ \
63 List(std::string) PresentStringLst; /* string list */ \
64 TContainer< SPtr<Node> > NodeClientClassLst; /* Node list */ \
65 TContainer< SPtr<TFQDN> > PresentFQDNLst; \
66 SPtr<TIPv6Addr> addr; \
67 SPtr<TSIGKey> CurrentKey; \
68 DigestTypesLst DigestLst; \
69 TContainer< SPtr<THostRange> > PresentRangeLst; \
70 TContainer< SPtr<THostRange> > PDLst; \
71 TContainer< SPtr<TSrvCfgOptions> > ClientLst; \
72 int PDPrefix; \
73 bool IfaceDefined(int ifaceNr); \
74 bool IfaceDefined(string ifaceName); \
75 bool StartIfaceDeclaration(string iface); \
76 bool StartIfaceDeclaration(int ifindex); \
77 bool EndIfaceDeclaration(); \
78 void StartClassDeclaration(); \
79 bool EndClassDeclaration(); \
80 SPtr<TIPv6Addr> getRangeMin(char * addrPacked, int prefix); \
81 SPtr<TIPv6Addr> getRangeMax(char * addrPacked, int prefix); \
82 void StartTAClassDeclaration(); \
83 bool EndTAClassDeclaration(); \
84 void StartPDDeclaration(); \
85 bool EndPDDeclaration(); \
86 TSrvCfgMgr * CfgMgr; \
87 SPtr<TOpt> nextHop; \
88 virtual ~SrvParser();
89 #define YY_SrvParser_CONSTRUCTOR_PARAM yyFlexLexer * lex
90 #define YY_SrvParser_CONSTRUCTOR_CODE \
91  ParserOptStack.append(new TSrvParsGlobalOpt()); \
92  this->lex = lex; \
93  CfgMgr = 0; \
94  nextHop.reset(); \
95  yynerrs = 0; \
96  yychar = 0; \
97  PDPrefix = 0;
98 
99 #line 95 "SrvParser.y"
100 typedef union
101 {
102  unsigned int ival;
103  char *strval;
104  struct SDuid
105  {
106  int length;
107  char* duid;
108  } duidval;
109  char addrval[16];
111 #define YY_SrvParser_STYPE yy_SrvParser_stype
112 
113 #line 21 "../bison++/bison.h"
114  /* %{ and %header{ and %union, during decl */
115 #ifndef YY_SrvParser_COMPATIBILITY
116  #ifndef YY_USE_CLASS
117  #define YY_SrvParser_COMPATIBILITY 1
118  #else
119  #define YY_SrvParser_COMPATIBILITY 0
120  #endif
121 #endif
122 
123 #if YY_SrvParser_COMPATIBILITY != 0
124 /* backward compatibility */
125  #ifdef YYLTYPE
126  #ifndef YY_SrvParser_LTYPE
127  #define YY_SrvParser_LTYPE YYLTYPE
128 /* WARNING obsolete !!! user defined YYLTYPE not reported into generated header */
129 /* use %define LTYPE */
130  #endif
131  #endif
132 /*#ifdef YYSTYPE*/
133  #ifndef YY_SrvParser_STYPE
134  #define YY_SrvParser_STYPE YYSTYPE
135  /* WARNING obsolete !!! user defined YYSTYPE not reported into generated header */
136  /* use %define STYPE */
137  #endif
138 /*#endif*/
139  #ifdef YYDEBUG
140  #ifndef YY_SrvParser_DEBUG
141  #define YY_SrvParser_DEBUG YYDEBUG
142  /* WARNING obsolete !!! user defined YYDEBUG not reported into generated header */
143  /* use %define DEBUG */
144  #endif
145  #endif
146  /* use goto to be compatible */
147  #ifndef YY_SrvParser_USE_GOTO
148  #define YY_SrvParser_USE_GOTO 1
149  #endif
150 #endif
151 
152 /* use no goto to be clean in C++ */
153 #ifndef YY_SrvParser_USE_GOTO
154  #define YY_SrvParser_USE_GOTO 0
155 #endif
156 
157 #ifndef YY_SrvParser_PURE
158 
159  #line 65 "../bison++/bison.h"
160 
161 #line 65 "../bison++/bison.h"
162 /* YY_SrvParser_PURE */
163 #endif
164 
165 
166  #line 68 "../bison++/bison.h"
167 
168 #line 68 "../bison++/bison.h"
169 /* prefix */
170 
171 #ifndef YY_SrvParser_DEBUG
172 
173  #line 71 "../bison++/bison.h"
174 #define YY_SrvParser_DEBUG 1
175 
176 #line 71 "../bison++/bison.h"
177 /* YY_SrvParser_DEBUG */
178 #endif
179 
180 #ifndef YY_SrvParser_LSP_NEEDED
181 
182  #line 75 "../bison++/bison.h"
183 
184 #line 75 "../bison++/bison.h"
185  /* YY_SrvParser_LSP_NEEDED*/
186 #endif
187 
188 /* DEFAULT LTYPE*/
189 #ifdef YY_SrvParser_LSP_NEEDED
190  #ifndef YY_SrvParser_LTYPE
191  #ifndef BISON_YYLTYPE_ISDECLARED
192  #define BISON_YYLTYPE_ISDECLARED
193 typedef
194  struct yyltype
195  {
196  int timestamp;
197  int first_line;
198  int first_column;
199  int last_line;
200  int last_column;
201  char *text;
202  }
203  yyltype;
204  #endif
205 
206  #define YY_SrvParser_LTYPE yyltype
207  #endif
208 #endif
209 
210 /* DEFAULT STYPE*/
211 #ifndef YY_SrvParser_STYPE
212  #define YY_SrvParser_STYPE int
213 #endif
214 
215 /* DEFAULT MISCELANEOUS */
216 #ifndef YY_SrvParser_PARSE
217  #define YY_SrvParser_PARSE yyparse
218 #endif
219 
220 #ifndef YY_SrvParser_LEX
221  #define YY_SrvParser_LEX yylex
222 #endif
223 
224 #ifndef YY_SrvParser_LVAL
225  #define YY_SrvParser_LVAL yylval
226 #endif
227 
228 #ifndef YY_SrvParser_LLOC
229  #define YY_SrvParser_LLOC yylloc
230 #endif
231 
232 #ifndef YY_SrvParser_CHAR
233  #define YY_SrvParser_CHAR yychar
234 #endif
235 
236 #ifndef YY_SrvParser_NERRS
237  #define YY_SrvParser_NERRS yynerrs
238 #endif
239 
240 #ifndef YY_SrvParser_DEBUG_FLAG
241  #define YY_SrvParser_DEBUG_FLAG yydebug
242 #endif
243 
244 #ifndef YY_SrvParser_ERROR
245  #define YY_SrvParser_ERROR yyerror
246 #endif
247 
248 #ifndef YY_SrvParser_PARSE_PARAM
249  #ifndef __STDC__
250  #ifndef __cplusplus
251  #ifndef YY_USE_CLASS
252  #define YY_SrvParser_PARSE_PARAM
253  #ifndef YY_SrvParser_PARSE_PARAM_DEF
254  #define YY_SrvParser_PARSE_PARAM_DEF
255  #endif
256  #endif
257  #endif
258  #endif
259  #ifndef YY_SrvParser_PARSE_PARAM
260  #define YY_SrvParser_PARSE_PARAM void
261  #endif
262 #endif
263 
264 /* TOKEN C */
265 #ifndef YY_USE_CLASS
266 
267  #ifndef YY_SrvParser_PURE
268  #ifndef yylval
269  extern YY_SrvParser_STYPE YY_SrvParser_LVAL;
270  #else
271  #if yylval != YY_SrvParser_LVAL
272  extern YY_SrvParser_STYPE YY_SrvParser_LVAL;
273  #else
274  #warning "Namespace conflict, disabling some functionality (bison++ only)"
275  #endif
276  #endif
277  #endif
278 
279 
280  #line 169 "../bison++/bison.h"
281 #define IFACE_ 258
282 #define RELAY_ 259
283 #define IFACE_ID_ 260
284 #define IFACE_ID_ORDER_ 261
285 #define CLASS_ 262
286 #define TACLASS_ 263
287 #define LOGNAME_ 264
288 #define LOGLEVEL_ 265
289 #define LOGMODE_ 266
290 #define LOGCOLORS_ 267
291 #define WORKDIR_ 268
292 #define OPTION_ 269
293 #define DNS_SERVER_ 270
294 #define DOMAIN_ 271
295 #define NTP_SERVER_ 272
296 #define TIME_ZONE_ 273
297 #define SIP_SERVER_ 274
298 #define SIP_DOMAIN_ 275
299 #define NIS_SERVER_ 276
300 #define NIS_DOMAIN_ 277
301 #define NISP_SERVER_ 278
302 #define NISP_DOMAIN_ 279
303 #define LIFETIME_ 280
304 #define FQDN_ 281
305 #define ACCEPT_UNKNOWN_FQDN_ 282
306 #define FQDN_DDNS_ADDRESS_ 283
307 #define DDNS_PROTOCOL_ 284
308 #define DDNS_TIMEOUT_ 285
309 #define ACCEPT_ONLY_ 286
310 #define REJECT_CLIENTS_ 287
311 #define POOL_ 288
312 #define SHARE_ 289
313 #define T1_ 290
314 #define T2_ 291
315 #define PREF_TIME_ 292
316 #define VALID_TIME_ 293
317 #define UNICAST_ 294
318 #define DROP_UNICAST_ 295
319 #define PREFERENCE_ 296
320 #define RAPID_COMMIT_ 297
321 #define IFACE_MAX_LEASE_ 298
322 #define CLASS_MAX_LEASE_ 299
323 #define CLNT_MAX_LEASE_ 300
324 #define STATELESS_ 301
325 #define CACHE_SIZE_ 302
326 #define PDCLASS_ 303
327 #define PD_LENGTH_ 304
328 #define PD_POOL_ 305
329 #define SCRIPT_ 306
330 #define VENDOR_SPEC_ 307
331 #define CLIENT_ 308
332 #define DUID_KEYWORD_ 309
333 #define REMOTE_ID_ 310
334 #define LINK_LOCAL_ 311
335 #define ADDRESS_ 312
336 #define PREFIX_ 313
337 #define GUESS_MODE_ 314
338 #define INACTIVE_MODE_ 315
339 #define EXPERIMENTAL_ 316
340 #define ADDR_PARAMS_ 317
341 #define REMOTE_AUTOCONF_NEIGHBORS_ 318
342 #define AFTR_ 319
343 #define PERFORMANCE_MODE_ 320
344 #define AUTH_PROTOCOL_ 321
345 #define AUTH_ALGORITHM_ 322
346 #define AUTH_REPLAY_ 323
347 #define AUTH_METHODS_ 324
348 #define AUTH_DROP_UNAUTH_ 325
349 #define AUTH_REALM_ 326
350 #define KEY_ 327
351 #define SECRET_ 328
352 #define ALGORITHM_ 329
353 #define FUDGE_ 330
354 #define DIGEST_NONE_ 331
355 #define DIGEST_PLAIN_ 332
356 #define DIGEST_HMAC_MD5_ 333
357 #define DIGEST_HMAC_SHA1_ 334
358 #define DIGEST_HMAC_SHA224_ 335
359 #define DIGEST_HMAC_SHA256_ 336
360 #define DIGEST_HMAC_SHA384_ 337
361 #define DIGEST_HMAC_SHA512_ 338
362 #define ACCEPT_LEASEQUERY_ 339
363 #define BULKLQ_ACCEPT_ 340
364 #define BULKLQ_TCPPORT_ 341
365 #define BULKLQ_MAX_CONNS_ 342
366 #define BULKLQ_TIMEOUT_ 343
367 #define CLIENT_CLASS_ 344
368 #define MATCH_IF_ 345
369 #define EQ_ 346
370 #define AND_ 347
371 #define OR_ 348
372 #define CLIENT_VENDOR_SPEC_ENTERPRISE_NUM_ 349
373 #define CLIENT_VENDOR_SPEC_DATA_ 350
374 #define CLIENT_VENDOR_CLASS_EN_ 351
375 #define CLIENT_VENDOR_CLASS_DATA_ 352
376 #define RECONFIGURE_ENABLED_ 353
377 #define ALLOW_ 354
378 #define DENY_ 355
379 #define SUBSTRING_ 356
380 #define STRING_KEYWORD_ 357
381 #define ADDRESS_LIST_ 358
382 #define CONTAIN_ 359
383 #define NEXT_HOP_ 360
384 #define ROUTE_ 361
385 #define INFINITE_ 362
386 #define SUBNET_ 363
387 #define STRING_ 364
388 #define HEXNUMBER_ 365
389 #define INTNUMBER_ 366
390 #define IPV6ADDR_ 367
391 #define DUID_ 368
392 
393 
394 #line 169 "../bison++/bison.h"
395  /* #defines token */
396 /* after #define tokens, before const tokens S5*/
397 #else
398  #ifndef YY_SrvParser_CLASS
399  #define YY_SrvParser_CLASS SrvParser
400  #endif
401 
402  #ifndef YY_SrvParser_INHERIT
403  #define YY_SrvParser_INHERIT
404  #endif
405 
406  #ifndef YY_SrvParser_MEMBERS
407  #define YY_SrvParser_MEMBERS
408  #endif
409 
410  #ifndef YY_SrvParser_LEX_BODY
411  #define YY_SrvParser_LEX_BODY
412  #endif
413 
414  #ifndef YY_SrvParser_ERROR_BODY
415  #define YY_SrvParser_ERROR_BODY
416  #endif
417 
418  #ifndef YY_SrvParser_CONSTRUCTOR_PARAM
419  #define YY_SrvParser_CONSTRUCTOR_PARAM
420  #endif
421  /* choose between enum and const */
422  #ifndef YY_SrvParser_USE_CONST_TOKEN
423  #define YY_SrvParser_USE_CONST_TOKEN 0
424  /* yes enum is more compatible with flex, */
425  /* so by default we use it */
426  #endif
427  #if YY_SrvParser_USE_CONST_TOKEN != 0
428  #ifndef YY_SrvParser_ENUM_TOKEN
429  #define YY_SrvParser_ENUM_TOKEN yy_SrvParser_enum_token
430  #endif
431  #endif
432 
433 class YY_SrvParser_CLASS YY_SrvParser_INHERIT
434 {
435 public:
436  #if YY_SrvParser_USE_CONST_TOKEN != 0
437  /* static const int token ... */
438 
439  #line 212 "../bison++/bison.h"
440 static const int IFACE_;
441 static const int RELAY_;
442 static const int IFACE_ID_;
443 static const int IFACE_ID_ORDER_;
444 static const int CLASS_;
445 static const int TACLASS_;
446 static const int LOGNAME_;
447 static const int LOGLEVEL_;
448 static const int LOGMODE_;
449 static const int LOGCOLORS_;
450 static const int WORKDIR_;
451 static const int OPTION_;
452 static const int DNS_SERVER_;
453 static const int DOMAIN_;
454 static const int NTP_SERVER_;
455 static const int TIME_ZONE_;
456 static const int SIP_SERVER_;
457 static const int SIP_DOMAIN_;
458 static const int NIS_SERVER_;
459 static const int NIS_DOMAIN_;
460 static const int NISP_SERVER_;
461 static const int NISP_DOMAIN_;
462 static const int LIFETIME_;
463 static const int FQDN_;
464 static const int ACCEPT_UNKNOWN_FQDN_;
465 static const int FQDN_DDNS_ADDRESS_;
466 static const int DDNS_PROTOCOL_;
467 static const int DDNS_TIMEOUT_;
468 static const int ACCEPT_ONLY_;
469 static const int REJECT_CLIENTS_;
470 static const int POOL_;
471 static const int SHARE_;
472 static const int T1_;
473 static const int T2_;
474 static const int PREF_TIME_;
475 static const int VALID_TIME_;
476 static const int UNICAST_;
477 static const int DROP_UNICAST_;
478 static const int PREFERENCE_;
479 static const int RAPID_COMMIT_;
480 static const int IFACE_MAX_LEASE_;
481 static const int CLASS_MAX_LEASE_;
482 static const int CLNT_MAX_LEASE_;
483 static const int STATELESS_;
484 static const int CACHE_SIZE_;
485 static const int PDCLASS_;
486 static const int PD_LENGTH_;
487 static const int PD_POOL_;
488 static const int SCRIPT_;
489 static const int VENDOR_SPEC_;
490 static const int CLIENT_;
491 static const int DUID_KEYWORD_;
492 static const int REMOTE_ID_;
493 static const int LINK_LOCAL_;
494 static const int ADDRESS_;
495 static const int PREFIX_;
496 static const int GUESS_MODE_;
497 static const int INACTIVE_MODE_;
498 static const int EXPERIMENTAL_;
499 static const int ADDR_PARAMS_;
500 static const int REMOTE_AUTOCONF_NEIGHBORS_;
501 static const int AFTR_;
502 static const int PERFORMANCE_MODE_;
503 static const int AUTH_PROTOCOL_;
504 static const int AUTH_ALGORITHM_;
505 static const int AUTH_REPLAY_;
506 static const int AUTH_METHODS_;
507 static const int AUTH_DROP_UNAUTH_;
508 static const int AUTH_REALM_;
509 static const int KEY_;
510 static const int SECRET_;
511 static const int ALGORITHM_;
512 static const int FUDGE_;
513 static const int DIGEST_NONE_;
514 static const int DIGEST_PLAIN_;
515 static const int DIGEST_HMAC_MD5_;
516 static const int DIGEST_HMAC_SHA1_;
517 static const int DIGEST_HMAC_SHA224_;
518 static const int DIGEST_HMAC_SHA256_;
519 static const int DIGEST_HMAC_SHA384_;
520 static const int DIGEST_HMAC_SHA512_;
521 static const int ACCEPT_LEASEQUERY_;
522 static const int BULKLQ_ACCEPT_;
523 static const int BULKLQ_TCPPORT_;
524 static const int BULKLQ_MAX_CONNS_;
525 static const int BULKLQ_TIMEOUT_;
526 static const int CLIENT_CLASS_;
527 static const int MATCH_IF_;
528 static const int EQ_;
529 static const int AND_;
530 static const int OR_;
531 static const int CLIENT_VENDOR_SPEC_ENTERPRISE_NUM_;
532 static const int CLIENT_VENDOR_SPEC_DATA_;
533 static const int CLIENT_VENDOR_CLASS_EN_;
534 static const int CLIENT_VENDOR_CLASS_DATA_;
535 static const int RECONFIGURE_ENABLED_;
536 static const int ALLOW_;
537 static const int DENY_;
538 static const int SUBSTRING_;
539 static const int STRING_KEYWORD_;
540 static const int ADDRESS_LIST_;
541 static const int CONTAIN_;
542 static const int NEXT_HOP_;
543 static const int ROUTE_;
544 static const int INFINITE_;
545 static const int SUBNET_;
546 static const int STRING_;
547 static const int HEXNUMBER_;
548 static const int INTNUMBER_;
549 static const int IPV6ADDR_;
550 static const int DUID_;
551 
552 
553 #line 212 "../bison++/bison.h"
554  /* decl const */
555  #else
556  enum YY_SrvParser_ENUM_TOKEN { YY_SrvParser_NULL_TOKEN=0
557 
558  #line 215 "../bison++/bison.h"
559  ,IFACE_=258
560  ,RELAY_=259
561  ,IFACE_ID_=260
562  ,IFACE_ID_ORDER_=261
563  ,CLASS_=262
564  ,TACLASS_=263
565  ,LOGNAME_=264
566  ,LOGLEVEL_=265
567  ,LOGMODE_=266
568  ,LOGCOLORS_=267
569  ,WORKDIR_=268
570  ,OPTION_=269
571  ,DNS_SERVER_=270
572  ,DOMAIN_=271
573  ,NTP_SERVER_=272
574  ,TIME_ZONE_=273
575  ,SIP_SERVER_=274
576  ,SIP_DOMAIN_=275
577  ,NIS_SERVER_=276
578  ,NIS_DOMAIN_=277
579  ,NISP_SERVER_=278
580  ,NISP_DOMAIN_=279
581  ,LIFETIME_=280
582  ,FQDN_=281
583  ,ACCEPT_UNKNOWN_FQDN_=282
584  ,FQDN_DDNS_ADDRESS_=283
585  ,DDNS_PROTOCOL_=284
586  ,DDNS_TIMEOUT_=285
587  ,ACCEPT_ONLY_=286
588  ,REJECT_CLIENTS_=287
589  ,POOL_=288
590  ,SHARE_=289
591  ,T1_=290
592  ,T2_=291
593  ,PREF_TIME_=292
594  ,VALID_TIME_=293
595  ,UNICAST_=294
596  ,DROP_UNICAST_=295
597  ,PREFERENCE_=296
598  ,RAPID_COMMIT_=297
599  ,IFACE_MAX_LEASE_=298
600  ,CLASS_MAX_LEASE_=299
601  ,CLNT_MAX_LEASE_=300
602  ,STATELESS_=301
603  ,CACHE_SIZE_=302
604  ,PDCLASS_=303
605  ,PD_LENGTH_=304
606  ,PD_POOL_=305
607  ,SCRIPT_=306
608  ,VENDOR_SPEC_=307
609  ,CLIENT_=308
610  ,DUID_KEYWORD_=309
611  ,REMOTE_ID_=310
612  ,LINK_LOCAL_=311
613  ,ADDRESS_=312
614  ,PREFIX_=313
615  ,GUESS_MODE_=314
616  ,INACTIVE_MODE_=315
617  ,EXPERIMENTAL_=316
618  ,ADDR_PARAMS_=317
619  ,REMOTE_AUTOCONF_NEIGHBORS_=318
620  ,AFTR_=319
621  ,PERFORMANCE_MODE_=320
622  ,AUTH_PROTOCOL_=321
623  ,AUTH_ALGORITHM_=322
624  ,AUTH_REPLAY_=323
625  ,AUTH_METHODS_=324
626  ,AUTH_DROP_UNAUTH_=325
627  ,AUTH_REALM_=326
628  ,KEY_=327
629  ,SECRET_=328
630  ,ALGORITHM_=329
631  ,FUDGE_=330
632  ,DIGEST_NONE_=331
633  ,DIGEST_PLAIN_=332
634  ,DIGEST_HMAC_MD5_=333
635  ,DIGEST_HMAC_SHA1_=334
636  ,DIGEST_HMAC_SHA224_=335
637  ,DIGEST_HMAC_SHA256_=336
638  ,DIGEST_HMAC_SHA384_=337
639  ,DIGEST_HMAC_SHA512_=338
640  ,ACCEPT_LEASEQUERY_=339
641  ,BULKLQ_ACCEPT_=340
642  ,BULKLQ_TCPPORT_=341
643  ,BULKLQ_MAX_CONNS_=342
644  ,BULKLQ_TIMEOUT_=343
645  ,CLIENT_CLASS_=344
646  ,MATCH_IF_=345
647  ,EQ_=346
648  ,AND_=347
649  ,OR_=348
650  ,CLIENT_VENDOR_SPEC_ENTERPRISE_NUM_=349
651  ,CLIENT_VENDOR_SPEC_DATA_=350
652  ,CLIENT_VENDOR_CLASS_EN_=351
653  ,CLIENT_VENDOR_CLASS_DATA_=352
654  ,RECONFIGURE_ENABLED_=353
655  ,ALLOW_=354
656  ,DENY_=355
657  ,SUBSTRING_=356
658  ,STRING_KEYWORD_=357
659  ,ADDRESS_LIST_=358
660  ,CONTAIN_=359
661  ,NEXT_HOP_=360
662  ,ROUTE_=361
663  ,INFINITE_=362
664  ,SUBNET_=363
665  ,STRING_=364
666  ,HEXNUMBER_=365
667  ,INTNUMBER_=366
668  ,IPV6ADDR_=367
669  ,DUID_=368
670 
671 
672 #line 215 "../bison++/bison.h"
673  /* enum token */
674  }; /* end of enum declaration */
675  #endif
676 public:
677  int YY_SrvParser_PARSE(YY_SrvParser_PARSE_PARAM);
678  virtual void YY_SrvParser_ERROR(char *msg) YY_SrvParser_ERROR_BODY;
679  #ifdef YY_SrvParser_PURE
680  #ifdef YY_SrvParser_LSP_NEEDED
681  virtual int YY_SrvParser_LEX(YY_SrvParser_STYPE *YY_SrvParser_LVAL,YY_SrvParser_LTYPE *YY_SrvParser_LLOC) YY_SrvParser_LEX_BODY;
682  #else
683  virtual int YY_SrvParser_LEX(YY_SrvParser_STYPE *YY_SrvParser_LVAL) YY_SrvParser_LEX_BODY;
684  #endif
685  #else
686  virtual int YY_SrvParser_LEX() YY_SrvParser_LEX_BODY;
687  YY_SrvParser_STYPE YY_SrvParser_LVAL;
688  #ifdef YY_SrvParser_LSP_NEEDED
689  YY_SrvParser_LTYPE YY_SrvParser_LLOC;
690  #endif
691  int YY_SrvParser_NERRS;
692  int YY_SrvParser_CHAR;
693  #endif
694  #if YY_SrvParser_DEBUG != 0
695  public:
696  int YY_SrvParser_DEBUG_FLAG; /* nonzero means print parse trace */
697  #endif
698 public:
699  YY_SrvParser_CLASS(YY_SrvParser_CONSTRUCTOR_PARAM);
700 public:
702 };
703 /* other declare folow */
704 #endif
705 
706 
707 #if YY_SrvParser_COMPATIBILITY != 0
708  /* backward compatibility */
709  /* Removed due to bison problems
710  /#ifndef YYSTYPE
711  / #define YYSTYPE YY_SrvParser_STYPE
712  /#endif*/
713 
714  #ifndef YYLTYPE
715  #define YYLTYPE YY_SrvParser_LTYPE
716  #endif
717  #ifndef YYDEBUG
718  #ifdef YY_SrvParser_DEBUG
719  #define YYDEBUG YY_SrvParser_DEBUG
720  #endif
721  #endif
722 
723 #endif
724 /* END */
725 
726  #line 267 "../bison++/bison.h"
727 #endif
728