summaryrefslogtreecommitdiffstats
path: root/freebsd/contrib/libpcap/grammar.c
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/contrib/libpcap/grammar.c')
-rw-r--r--freebsd/contrib/libpcap/grammar.c1782
1 files changed, 972 insertions, 810 deletions
diff --git a/freebsd/contrib/libpcap/grammar.c b/freebsd/contrib/libpcap/grammar.c
index a0853614..a04f770c 100644
--- a/freebsd/contrib/libpcap/grammar.c
+++ b/freebsd/contrib/libpcap/grammar.c
@@ -5,7 +5,7 @@
#define YYBYACC 1
#define YYMAJOR 1
#define YYMINOR 9
-#define YYPATCH 20160324
+#define YYPATCH 20170201
#define YYEMPTY (-1)
#define yyclearin (yychar = YYEMPTY)
@@ -15,89 +15,89 @@
#define YYEOF 0
#ifndef yyparse
-#define yyparse pcapparse
+#define yyparse pcap_parse
#endif /* yyparse */
#ifndef yylex
-#define yylex pcaplex
+#define yylex pcap_lex
#endif /* yylex */
#ifndef yyerror
-#define yyerror pcaperror
+#define yyerror pcap_error
#endif /* yyerror */
#ifndef yychar
-#define yychar pcapchar
+#define yychar pcap_char
#endif /* yychar */
#ifndef yyval
-#define yyval pcapval
+#define yyval pcap_val
#endif /* yyval */
#ifndef yylval
-#define yylval pcaplval
+#define yylval pcap_lval
#endif /* yylval */
#ifndef yydebug
-#define yydebug pcapdebug
+#define yydebug pcap_debug
#endif /* yydebug */
#ifndef yynerrs
-#define yynerrs pcapnerrs
+#define yynerrs pcap_nerrs
#endif /* yynerrs */
#ifndef yyerrflag
-#define yyerrflag pcaperrflag
+#define yyerrflag pcap_errflag
#endif /* yyerrflag */
#ifndef yylhs
-#define yylhs pcaplhs
+#define yylhs pcap_lhs
#endif /* yylhs */
#ifndef yylen
-#define yylen pcaplen
+#define yylen pcap_len
#endif /* yylen */
#ifndef yydefred
-#define yydefred pcapdefred
+#define yydefred pcap_defred
#endif /* yydefred */
#ifndef yydgoto
-#define yydgoto pcapdgoto
+#define yydgoto pcap_dgoto
#endif /* yydgoto */
#ifndef yysindex
-#define yysindex pcapsindex
+#define yysindex pcap_sindex
#endif /* yysindex */
#ifndef yyrindex
-#define yyrindex pcaprindex
+#define yyrindex pcap_rindex
#endif /* yyrindex */
#ifndef yygindex
-#define yygindex pcapgindex
+#define yygindex pcap_gindex
#endif /* yygindex */
#ifndef yytable
-#define yytable pcaptable
+#define yytable pcap_table
#endif /* yytable */
#ifndef yycheck
-#define yycheck pcapcheck
+#define yycheck pcap_check
#endif /* yycheck */
#ifndef yyname
-#define yyname pcapname
+#define yyname pcap_name
#endif /* yyname */
#ifndef yyrule
-#define yyrule pcaprule
+#define yyrule pcap_rule
#endif /* yyrule */
-#define YYPREFIX "pcap"
+#define YYPREFIX "pcap_"
-#define YYPURE 0
+#define YYPURE 1
-#line 2 "../../freebsd/contrib/libpcap/grammar.y"
+#line 27 "grammar.y"
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996
* The Regents of the University of California. All rights reserved.
@@ -120,25 +120,21 @@
*
* $FreeBSD$
*/
-#ifndef lint
-static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/libpcap/grammar.y,v 1.101 2007-11-18 02:03:52 guy Exp $ (LBL)";
-#endif
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-#ifdef WIN32
+#ifdef _WIN32
#include <pcap-stdinc.h>
-#else /* WIN32 */
+#else /* _WIN32 */
#include <sys/types.h>
#include <sys/socket.h>
-#endif /* WIN32 */
+#endif /* _WIN32 */
#include <stdlib.h>
-#ifndef WIN32
+#ifndef _WIN32
#if __STDC__
struct mbuf;
struct rtentry;
@@ -146,18 +142,22 @@ struct rtentry;
#include <netinet/in.h>
#include <arpa/inet.h>
-#endif /* WIN32 */
+#endif /* _WIN32 */
#include <stdio.h>
#include "pcap-int.h"
#include "gencode.h"
+#include "grammar.h"
+#include "scanner.h"
+
#ifdef HAVE_NET_PFVAR_H
#include <net/if.h>
-#include <net/pfvar.h>
+#include <netpfil/pf/pf.h>
#include <net/if_pflog.h>
#endif
+#include "llc.h"
#include "ieee80211.h"
#include <pcap/namedb.h>
@@ -232,6 +232,23 @@ static const struct tok ieee80211_data_subtypes[] = {
{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_NODATA_CF_ACPL, "qos-cf-ack-poll" },
{ 0, NULL }
};
+static const struct tok llc_s_subtypes[] = {
+ { LLC_RR, "rr" },
+ { LLC_RNR, "rnr" },
+ { LLC_REJ, "rej" },
+ { 0, NULL }
+};
+static const struct tok llc_u_subtypes[] = {
+ { LLC_UI, "ui" },
+ { LLC_UA, "ua" },
+ { LLC_DISC, "disc" },
+ { LLC_DM, "dm" },
+ { LLC_SABME, "sabme" },
+ { LLC_TEST, "test" },
+ { LLC_XID, "xid" },
+ { LLC_FRMR, "frmr" },
+ { 0, NULL }
+};
struct type2tok {
int type;
const struct tok *tok;
@@ -255,31 +272,18 @@ str2tok(const char *str, const struct tok *toks)
return (-1);
}
-int n_errors = 0;
-
static struct qual qerr = { Q_UNDEF, Q_UNDEF, Q_UNDEF, Q_UNDEF };
static void
-yyerror(const char *msg)
+yyerror(void *yyscanner, compiler_state_t *cstate, const char *msg)
{
- ++n_errors;
- bpf_error("%s", msg);
+ bpf_syntax_error(cstate, msg);
/* NOTREACHED */
}
-#ifdef NEED_YYPARSE_WRAPPER
-int yyparse(void);
-
-int
-pcap_parse()
-{
- return (yyparse());
-}
-#endif
-
#ifdef HAVE_NET_PFVAR_H
static int
-pfreason_to_num(const char *reason)
+pfreason_to_num(compiler_state_t *cstate, const char *reason)
{
const char *reasons[] = PFRES_NAMES;
int i;
@@ -288,12 +292,12 @@ pfreason_to_num(const char *reason)
if (pcap_strcasecmp(reason, reasons[i]) == 0)
return (i);
}
- bpf_error("unknown PF reason");
+ bpf_error(cstate, "unknown PF reason");
/*NOTREACHED*/
}
static int
-pfaction_to_num(const char *action)
+pfaction_to_num(compiler_state_t *cstate, const char *action)
{
if (pcap_strcasecmp(action, "pass") == 0 ||
pcap_strcasecmp(action, "accept") == 0)
@@ -312,15 +316,15 @@ pfaction_to_num(const char *action)
return (PF_NORDR);
#endif
else {
- bpf_error("unknown PF action");
+ bpf_error(cstate, "unknown PF action");
/*NOTREACHED*/
}
}
#else /* !HAVE_NET_PFVAR_H */
static int
-pfreason_to_num(const char *reason)
+pfreason_to_num(compiler_state_t *cstate, const char *reason)
{
- bpf_error("libpcap was compiled on a machine without pf support");
+ bpf_error(cstate, "libpcap was compiled on a machine without pf support");
/*NOTREACHED*/
/* this is to make the VC compiler happy */
@@ -328,22 +332,22 @@ pfreason_to_num(const char *reason)
}
static int
-pfaction_to_num(const char *action)
+pfaction_to_num(compiler_state_t *cstate, const char *action)
{
- bpf_error("libpcap was compiled on a machine without pf support");
+ bpf_error(cstate, "libpcap was compiled on a machine without pf support");
/*NOTREACHED*/
/* this is to make the VC compiler happy */
return -1;
}
#endif /* HAVE_NET_PFVAR_H */
-#line 243 "../../freebsd/contrib/libpcap/grammar.y"
#ifdef YYSTYPE
#undef YYSTYPE_IS_DECLARED
#define YYSTYPE_IS_DECLARED 1
#endif
#ifndef YYSTYPE_IS_DECLARED
#define YYSTYPE_IS_DECLARED 1
+#line 272 "grammar.y"
typedef union {
int i;
bpf_u_int32 h;
@@ -360,7 +364,7 @@ typedef union {
struct block *rblk;
} YYSTYPE;
#endif /* !YYSTYPE_IS_DECLARED */
-#line 364 "pcap.tab.c"
+#line 368 "grammar.c"
/* compatibility with bison */
#ifdef YYPARSE_PARAM
@@ -371,24 +375,28 @@ typedef union {
# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
# endif
#else
-# define YYPARSE_DECL() yyparse(void)
+# define YYPARSE_DECL() yyparse(void *yyscanner, compiler_state_t *cstate)
#endif
/* Parameters sent to lex. */
#ifdef YYLEX_PARAM
-# define YYLEX_DECL() yylex(void *YYLEX_PARAM)
-# define YYLEX yylex(YYLEX_PARAM)
+# ifdef YYLEX_PARAM_TYPE
+# define YYLEX_DECL() yylex(YYSTYPE *yylval, YYLEX_PARAM_TYPE YYLEX_PARAM)
+# else
+# define YYLEX_DECL() yylex(YYSTYPE *yylval, void * YYLEX_PARAM)
+# endif
+# define YYLEX yylex(&yylval, YYLEX_PARAM)
#else
-# define YYLEX_DECL() yylex(void)
-# define YYLEX yylex()
+# define YYLEX_DECL() yylex(YYSTYPE *yylval, void *yyscanner)
+# define YYLEX yylex(&yylval, yyscanner)
#endif
/* Parameters sent to yyerror. */
#ifndef YYERROR_DECL
-#define YYERROR_DECL() yyerror(const char *s)
+#define YYERROR_DECL() yyerror(void *yyscanner, compiler_state_t *cstate, const char *s)
#endif
#ifndef YYERROR_CALL
-#define YYERROR_CALL(msg) yyerror(msg)
+#define YYERROR_CALL(msg) yyerror(yyscanner, cstate, msg)
#endif
extern int YYPARSE_DECL();
@@ -465,48 +473,56 @@ extern int YYPARSE_DECL();
#define MPLS 326
#define PPPOED 327
#define PPPOES 328
-#define ISO 329
-#define ESIS 330
-#define CLNP 331
-#define ISIS 332
-#define L1 333
-#define L2 334
-#define IIH 335
-#define LSP 336
-#define SNP 337
-#define CSNP 338
-#define PSNP 339
-#define STP 340
-#define IPX 341
-#define NETBEUI 342
-#define LANE 343
-#define LLC 344
-#define METAC 345
-#define BCC 346
-#define SC 347
-#define ILMIC 348
-#define OAMF4EC 349
-#define OAMF4SC 350
-#define OAM 351
-#define OAMF4 352
-#define CONNECTMSG 353
-#define METACONNECT 354
-#define VPI 355
-#define VCI 356
-#define RADIO 357
-#define FISU 358
-#define LSSU 359
-#define MSU 360
-#define SIO 361
-#define OPC 362
-#define DPC 363
-#define SLS 364
-#define OR 365
-#define AND 366
-#define UMINUS 367
+#define GENEVE 329
+#define ISO 330
+#define ESIS 331
+#define CLNP 332
+#define ISIS 333
+#define L1 334
+#define L2 335
+#define IIH 336
+#define LSP 337
+#define SNP 338
+#define CSNP 339
+#define PSNP 340
+#define STP 341
+#define IPX 342
+#define NETBEUI 343
+#define LANE 344
+#define LLC 345
+#define METAC 346
+#define BCC 347
+#define SC 348
+#define ILMIC 349
+#define OAMF4EC 350
+#define OAMF4SC 351
+#define OAM 352
+#define OAMF4 353
+#define CONNECTMSG 354
+#define METACONNECT 355
+#define VPI 356
+#define VCI 357
+#define RADIO 358
+#define FISU 359
+#define LSSU 360
+#define MSU 361
+#define HFISU 362
+#define HLSSU 363
+#define HMSU 364
+#define SIO 365
+#define OPC 366
+#define DPC 367
+#define SLS 368
+#define HSIO 369
+#define HOPC 370
+#define HDPC 371
+#define HSLS 372
+#define OR 373
+#define AND 374
+#define UMINUS 375
#define YYERRCODE 256
typedef int YYINT;
-static const YYINT pcaplhs[] = { -1,
+static const YYINT pcap_lhs[] = { -1,
0, 0, 24, 1, 1, 1, 1, 1, 20, 21,
2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
3, 3, 23, 22, 4, 4, 4, 7, 7, 5,
@@ -519,17 +535,18 @@ static const YYINT pcaplhs[] = { -1,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 26, 26, 26, 26, 26, 26, 27, 27, 27,
- 27, 41, 41, 42, 42, 43, 44, 44, 40, 40,
- 39, 18, 18, 18, 19, 19, 19, 13, 13, 14,
+ 25, 25, 25, 25, 25, 26, 26, 26, 26, 26,
+ 26, 27, 27, 27, 27, 42, 42, 43, 43, 44,
+ 28, 28, 28, 45, 45, 41, 41, 40, 18, 18,
+ 18, 19, 19, 19, 13, 13, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 15, 15, 15, 15, 15, 17, 17, 28,
- 28, 28, 28, 28, 28, 28, 28, 29, 29, 29,
- 29, 30, 30, 32, 32, 32, 32, 31, 33, 33,
- 34, 34, 34, 35, 35, 35, 35, 37, 37, 37,
- 37, 36, 38, 38,
+ 14, 15, 15, 15, 15, 15, 17, 17, 29, 29,
+ 29, 29, 29, 29, 29, 30, 30, 30, 30, 31,
+ 31, 33, 33, 33, 33, 32, 34, 34, 35, 35,
+ 35, 35, 35, 35, 36, 36, 36, 36, 36, 36,
+ 36, 36, 38, 38, 38, 38, 37, 39, 39,
};
-static const YYINT pcaplen[] = { 2,
+static const YYINT pcap_len[] = { 2,
2, 1, 0, 1, 3, 3, 3, 3, 1, 1,
1, 1, 3, 1, 3, 3, 1, 3, 1, 1,
1, 2, 1, 1, 1, 3, 3, 1, 1, 1,
@@ -541,374 +558,426 @@ static const YYINT pcaplen[] = { 2,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
- 4, 1, 1, 2, 1, 2, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 2, 2, 4, 2, 2,
- 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
- 6, 3, 3, 3, 3, 3, 3, 3, 3, 2,
- 3, 1, 1, 1, 1, 1, 1, 1, 3, 1,
+ 4, 1, 1, 2, 1, 2, 1, 1, 2, 1,
+ 2, 1, 1, 2, 1, 2, 2, 2, 2, 2,
+ 2, 4, 2, 2, 2, 1, 1, 1, 1, 1,
+ 1, 2, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 4, 6, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 2, 3,
+ 1, 1, 1, 1, 1, 1, 1, 3, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 2, 2, 3, 1, 1, 3,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
- 3, 1, 1, 3,
+ 1, 1, 2, 2, 3, 1, 1, 3, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 2, 2, 3, 1, 1, 3,
};
-static const YYINT pcapdefred[] = { 3,
+static const YYINT pcap_defred[] = { 3,
0, 0, 0, 0, 0, 70, 71, 69, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 87, 86, 168, 112, 113, 0, 0, 0,
- 0, 0, 0, 68, 162, 88, 89, 90, 91, 0,
- 0, 118, 119, 92, 93, 102, 94, 95, 96, 97,
- 98, 99, 101, 100, 103, 104, 105, 170, 171, 172,
- 173, 176, 177, 174, 175, 178, 179, 180, 181, 182,
- 183, 106, 191, 192, 193, 194, 195, 196, 197, 23,
- 0, 24, 0, 4, 30, 0, 0, 0, 149, 0,
- 148, 0, 0, 43, 120, 44, 45, 0, 47, 0,
- 109, 110, 0, 122, 123, 124, 125, 139, 140, 126,
- 141, 127, 114, 0, 116, 160, 0, 0, 10, 9,
- 0, 0, 14, 20, 0, 0, 21, 38, 11, 12,
- 0, 0, 0, 0, 63, 67, 64, 65, 66, 35,
- 36, 107, 108, 0, 0, 0, 57, 58, 59, 60,
- 61, 62, 0, 34, 37, 121, 143, 145, 147, 0,
- 0, 0, 0, 0, 0, 0, 0, 142, 144, 146,
- 0, 0, 0, 0, 0, 0, 31, 188, 0, 0,
- 0, 184, 46, 202, 0, 0, 0, 198, 48, 164,
- 163, 166, 167, 165, 0, 0, 0, 6, 5, 0,
- 0, 0, 8, 7, 0, 0, 0, 25, 0, 0,
- 0, 22, 0, 0, 0, 0, 132, 133, 0, 136,
- 130, 137, 138, 131, 32, 0, 0, 0, 0, 0,
- 0, 154, 155, 0, 0, 0, 39, 161, 169, 185,
- 186, 189, 0, 199, 200, 203, 0, 111, 0, 16,
- 15, 18, 13, 0, 0, 54, 56, 53, 55, 0,
- 150, 0, 187, 0, 201, 0, 26, 27, 134, 135,
- 128, 0, 190, 204, 151,
+ 84, 85, 87, 86, 177, 112, 113, 0, 0, 0,
+ 0, 0, 0, 68, 171, 88, 89, 90, 91, 0,
+ 0, 118, 0, 0, 92, 93, 102, 94, 95, 96,
+ 97, 98, 99, 101, 100, 103, 104, 105, 179, 0,
+ 180, 181, 184, 185, 182, 183, 186, 187, 188, 189,
+ 190, 191, 106, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 23, 0, 24,
+ 0, 4, 30, 0, 0, 0, 156, 0, 155, 0,
+ 0, 43, 123, 125, 44, 45, 0, 47, 0, 109,
+ 110, 0, 126, 127, 128, 129, 146, 147, 130, 148,
+ 131, 114, 0, 116, 119, 121, 143, 142, 0, 0,
+ 0, 10, 9, 0, 0, 14, 20, 0, 0, 21,
+ 38, 11, 12, 0, 0, 0, 0, 63, 67, 64,
+ 65, 66, 35, 36, 107, 108, 0, 0, 0, 57,
+ 58, 59, 60, 61, 62, 0, 34, 37, 124, 150,
+ 152, 154, 0, 0, 0, 0, 0, 0, 0, 0,
+ 149, 151, 153, 0, 0, 0, 0, 0, 0, 0,
+ 0, 31, 196, 0, 0, 0, 192, 46, 217, 0,
+ 0, 0, 213, 48, 173, 172, 175, 176, 174, 0,
+ 0, 0, 6, 5, 0, 0, 0, 8, 7, 0,
+ 0, 0, 25, 0, 0, 0, 22, 0, 0, 0,
+ 0, 136, 137, 0, 140, 134, 144, 145, 135, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 39, 170, 178, 193, 194, 197, 0,
+ 214, 215, 218, 0, 111, 0, 16, 15, 18, 13,
+ 0, 0, 54, 56, 53, 55, 0, 157, 0, 195,
+ 0, 216, 0, 26, 27, 138, 139, 132, 0, 198,
+ 219, 158,
};
-static const YYINT pcapdgoto[] = { 1,
- 174, 212, 129, 209, 84, 85, 210, 86, 87, 153,
- 154, 155, 88, 89, 195, 117, 91, 171, 172, 121,
- 122, 118, 132, 2, 94, 95, 156, 96, 97, 98,
- 182, 183, 243, 99, 100, 188, 189, 247, 112, 110,
- 219, 271, 221, 224,
+static const YYINT pcap_dgoto[] = { 1,
+ 189, 227, 142, 224, 92, 93, 225, 94, 95, 166,
+ 167, 168, 96, 97, 210, 130, 99, 186, 187, 134,
+ 135, 131, 145, 2, 102, 103, 169, 104, 105, 106,
+ 107, 197, 198, 260, 108, 109, 203, 204, 264, 121,
+ 119, 234, 288, 236, 239,
};
-static const YYINT pcapsindex[] = { 0,
- 0, 296, -268, -231, -223, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -216, -204, -174,
- -169, -284, -193, 0, 0, 0, 0, 0, 0, -40,
- -40, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+static const YYINT pcap_sindex[] = { 0,
+ 0, 431, -281, -278, -273, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -279, -259, -221,
+ -186, -286, -216, 0, 0, 0, 0, 0, 0, -24,
+ -24, 0, -24, -24, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -274,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 396, 0, -334, 0, 0, -19, 611, 647, 0, 34,
- 0, 296, 296, 0, 0, 0, 0, 42, 0, 651,
- 0, 0, 96, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, -40, 0, 0, 34, 396, 0, 0,
- 185, 185, 0, 0, -38, 88, 0, 0, 0, 0,
- -19, -19, -236, -233, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, -258, -172, -251, 0, 0, 0, 0,
- 0, 0, -85, 0, 0, 0, 0, 0, 0, 396,
- 396, 396, 396, 396, 396, 396, 396, 0, 0, 0,
- 396, 396, 396, -39, 113, 126, 0, 0, -122, -121,
- -118, 0, 0, 0, -99, -98, -91, 0, 0, 0,
- 0, 0, 0, 0, -86, 126, 236, 0, 0, 0,
- 185, 185, 0, 0, -140, -84, -81, 0, 165, -334,
- 126, 0, -42, -36, -34, -31, 0, 0, -82, 0,
- 0, 0, 0, 0, 0, 170, 170, -8, 108, -23,
- -23, 0, 0, 236, 236, 156, 0, 0, 0, 0,
- 0, 0, -37, 0, 0, 0, -35, 0, 126, 0,
- 0, 0, 0, -19, -19, 0, 0, 0, 0, -221,
- 0, -70, 0, -118, 0, -91, 0, 0, 0, 0,
- 0, 134, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 653, 0,
+ -336, 0, 0, -21, 936, 855, 0, 16, 0, 431,
+ 431, 0, 0, 0, 0, 0, 237, 0, 782, 0,
+ 0, 114, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -24, 0, 0, 0, 0, 0, -14, 16,
+ 653, 0, 0, 320, 320, 0, 0, -30, 64, 0,
+ 0, 0, 0, -21, -21, -245, -194, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -280, -191, -270, 0,
+ 0, 0, 0, 0, 0, -118, 0, 0, 0, 0,
+ 0, 0, 653, 653, 653, 653, 653, 653, 653, 653,
+ 0, 0, 0, 653, 653, 653, 653, 653, -37, 85,
+ 90, 0, 0, -153, -141, -135, 0, 0, 0, -128,
+ -125, -122, 0, 0, 0, 0, 0, 0, 0, -114,
+ 90, 159, 0, 0, 0, 320, 320, 0, 0, -142,
+ -110, -100, 0, 152, -336, 90, 0, -63, -58, -52,
+ -49, 0, 0, -76, 0, 0, 0, 0, 0, 0,
+ 443, 443, 184, 529, 336, 336, -14, -14, 159, 159,
+ 159, 159, 972, 0, 0, 0, 0, 0, 0, -41,
+ 0, 0, 0, -34, 0, 90, 0, 0, 0, 0,
+ -21, -21, 0, 0, 0, 0, -262, 0, -61, 0,
+ -135, 0, -122, 0, 0, 0, 0, 0, 135, 0,
+ 0, 0,
};
-static const YYINT pcaprindex[] = { 0,
- 0, 488, 0, 0, 0, 0, 0, 0, 0, 0,
+static const YYINT pcap_rindex[] = { 0,
+ 0, 573, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
- 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
+ 8, 0, 25, 28, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 228, 0, 0, 0, 0, 0, 0, 1,
- 0, 686, 686, 0, 0, 0, 0, 0, 0, 0,
+ 233, 0, 0, 0, 0, 0, 0, 1, 0, 992,
+ 992, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0,
+ 0, 0, 0, 992, 992, 0, 0, 67, 72, 0,
+ 0, 0, 0, 0, 0, 248, 591, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 686, 686, 0, 0, 16, 18, 0, 0, 0, 0,
- 0, 0, -28, 520, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 53, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 132, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 905,
+ 960, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 725, 759, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 992, 992, 0, 0, 0,
+ 0, 0, 0, -185, 0, -159, 0, 0, 0, 0,
+ 0, 0, 0, 79, 0, 0, 0, 0, 0, 0,
+ 30, 124, 158, 149, 99, 110, 40, 74, 183, 194,
+ 84, 89, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 767, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 686, 686, 0, 0, 0, 0, 0, 0, -222, 0,
- -205, 0, 0, 0, 0, 0, 0, 0, 20, 0,
- 0, 0, 0, 0, 0, 28, 53, 87, 78, 13,
- 38, 0, 0, 26, 36, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 121, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
+ 0, 0,
};
-static const YYINT pcapgindex[] = { 0,
- 227, -14, -116, 0, 2, 0, 0, 0, 0, 0,
- 79, 0, 24, -75, 0, 116, 724, -73, 12, 29,
- -163, 767, 722, 0, 0, 0, 0, 0, 0, 0,
- -171, 0, 0, 0, 0, -165, 0, 0, 0, 0,
- 0, 0, 0, 0,
+static const YYINT pcap_gindex[] = { 0,
+ 234, 229, -113, 0, -99, 0, 0, 0, 0, 0,
+ 71, 0, 944, 47, 0, 112, 1012, -83, -3, 14,
+ -205, 1004, 811, 0, 0, 0, 0, 0, 0, 0,
+ 0, -187, 0, 0, 0, 0, -188, 0, 0, 0,
+ 0, 0, 0, 0, 0,
};
-#define YYTABLESIZE 1078
-static const YYINT pcaptable[] = { 82,
- 40, 237, 12, 263, 52, 265, 108, 115, 206, 242,
- 117, 52, 152, 80, 208, 17, 175, 19, 166, 129,
- 82, 246, 101, 167, 179, 41, 185, 158, 109, 163,
- 119, 120, 217, 166, 164, 42, 165, 153, 167, 222,
- 148, 40, 175, 12, 148, 148, 255, 148, 115, 148,
- 152, 117, 159, 152, 218, 152, 17, 152, 19, 102,
- 129, 223, 148, 148, 148, 158, 41, 103, 158, 269,
- 152, 128, 152, 152, 152, 153, 42, 156, 153, 264,
- 153, 82, 153, 266, 208, 158, 157, 158, 158, 158,
- 159, 270, 273, 159, 177, 153, 104, 153, 153, 153,
- 274, 170, 169, 168, 116, 152, 198, 203, 105, 180,
- 159, 186, 159, 159, 159, 156, 106, 90, 156, 111,
- 158, 107, 199, 204, 173, 175, 148, 157, 213, 214,
- 153, 215, 216, 191, 207, 156, 152, 156, 156, 156,
- 220, 197, 29, 29, 157, 159, 157, 157, 157, 166,
- 164, 158, 165, 238, 167, 194, 193, 192, 148, 28,
- 28, 153, 148, 148, 33, 148, 239, 148, 240, 241,
- 156, 33, 178, 135, 250, 137, 159, 138, 139, 157,
- 148, 148, 148, 226, 227, 228, 229, 230, 231, 232,
- 233, 244, 245, 163, 234, 235, 236, 166, 164, 184,
- 165, 156, 167, 177, 248, 253, 251, 90, 90, 252,
- 157, 166, 164, 262, 165, 256, 167, 80, 260, 190,
- 272, 257, 258, 205, 82, 259, 275, 1, 83, 81,
- 52, 225, 52, 0, 52, 52, 90, 90, 254, 267,
- 268, 0, 0, 0, 148, 0, 0, 0, 261, 0,
- 25, 0, 0, 0, 0, 0, 0, 49, 49, 49,
- 49, 49, 52, 49, 49, 0, 0, 49, 49, 0,
- 0, 25, 0, 163, 0, 0, 0, 166, 164, 162,
- 165, 0, 167, 0, 52, 52, 52, 52, 52, 49,
- 49, 0, 0, 123, 124, 125, 126, 127, 0, 0,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 160,
- 161, 0, 148, 148, 148, 0, 90, 90, 0, 0,
- 148, 148, 152, 152, 152, 119, 120, 119, 80, 119,
- 152, 152, 178, 0, 0, 82, 0, 158, 158, 158,
- 81, 0, 0, 0, 0, 158, 158, 153, 153, 153,
- 0, 157, 158, 159, 0, 153, 153, 0, 0, 162,
- 0, 0, 159, 159, 159, 40, 40, 12, 12, 0,
- 159, 159, 115, 115, 0, 117, 117, 152, 152, 0,
- 17, 17, 19, 19, 129, 129, 0, 156, 156, 156,
- 41, 41, 158, 158, 0, 0, 157, 157, 157, 0,
- 42, 42, 153, 153, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 159, 159, 0,
- 0, 0, 33, 0, 0, 160, 161, 0, 0, 0,
- 148, 148, 148, 0, 0, 82, 0, 0, 148, 148,
- 81, 0, 156, 156, 33, 33, 33, 33, 33, 3,
- 4, 157, 157, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 160, 161, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 0, 28, 28, 2, 0, 0,
- 0, 0, 0, 34, 0, 0, 0, 123, 124, 125,
- 126, 127, 0, 0, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 0,
- 0, 0, 51, 160, 161, 0, 0, 0, 0, 51,
- 3, 4, 0, 0, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 0, 0, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 0, 0, 0, 0, 0, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 163, 0, 25, 0, 166, 164,
- 82, 165, 0, 167, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34, 0, 170, 169, 168, 0,
- 170, 169, 168, 0, 0, 35, 36, 37, 38, 39,
- 0, 0, 0, 93, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 0, 0,
- 0, 0, 0, 0, 50, 50, 50, 50, 50, 0,
- 50, 50, 72, 0, 50, 50, 0, 0, 0, 0,
- 0, 0, 149, 113, 115, 0, 149, 149, 92, 149,
- 162, 149, 0, 0, 0, 0, 50, 50, 51, 0,
- 51, 0, 51, 51, 149, 149, 149, 50, 50, 50,
- 50, 50, 50, 50, 50, 50, 148, 0, 0, 0,
- 148, 148, 0, 148, 0, 148, 114, 114, 0, 130,
- 51, 0, 0, 93, 93, 176, 0, 0, 148, 148,
- 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 51, 51, 51, 51, 51, 196, 0, 0,
- 0, 176, 202, 202, 200, 200, 0, 0, 149, 0,
- 0, 0, 131, 0, 211, 130, 0, 0, 92, 92,
- 0, 0, 0, 0, 181, 0, 187, 133, 134, 135,
- 136, 137, 0, 138, 139, 0, 0, 140, 141, 0,
- 114, 0, 148, 0, 0, 0, 0, 201, 201, 0,
- 0, 0, 0, 0, 0, 0, 0, 114, 131, 142,
- 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 144, 145, 146, 147, 148, 149, 150, 151, 152, 0,
- 0, 0, 202, 202, 249, 200, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 184, 50, 50, 50, 50, 50, 0, 50, 50,
- 0, 0, 50, 50, 0, 0, 157, 158, 159, 0,
- 157, 158, 159, 0, 160, 161, 0, 92, 201, 0,
- 0, 0, 0, 0, 50, 50, 0, 130, 130, 0,
- 0, 0, 0, 0, 0, 50, 50, 50, 50, 50,
- 50, 50, 50, 50, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+#define YYTABLESIZE 1300
+static const YYINT pcap_table[] = { 280,
+ 40, 192, 169, 254, 117, 115, 282, 117, 259, 110,
+ 232, 88, 111, 263, 12, 90, 221, 112, 90, 272,
+ 237, 127, 184, 194, 120, 200, 118, 122, 286, 167,
+ 223, 141, 233, 113, 214, 219, 132, 133, 128, 161,
+ 169, 40, 238, 169, 169, 169, 115, 169, 117, 169,
+ 287, 155, 155, 114, 281, 12, 155, 155, 283, 155,
+ 169, 155, 169, 169, 169, 120, 17, 167, 122, 115,
+ 167, 19, 141, 162, 155, 155, 155, 161, 133, 185,
+ 161, 161, 161, 41, 161, 33, 161, 167, 42, 167,
+ 167, 167, 33, 290, 291, 169, 120, 161, 159, 161,
+ 161, 161, 223, 195, 116, 201, 188, 17, 155, 160,
+ 222, 162, 19, 98, 162, 162, 162, 192, 162, 133,
+ 162, 235, 167, 168, 41, 255, 169, 228, 229, 42,
+ 256, 162, 161, 162, 162, 162, 159, 257, 155, 159,
+ 148, 159, 150, 159, 151, 152, 190, 160, 164, 258,
+ 160, 206, 160, 167, 160, 193, 159, 165, 159, 159,
+ 159, 168, 261, 161, 168, 262, 162, 160, 199, 160,
+ 160, 160, 267, 209, 208, 207, 265, 190, 230, 231,
+ 268, 168, 163, 168, 168, 168, 164, 29, 29, 164,
+ 269, 159, 270, 166, 273, 184, 176, 162, 165, 274,
+ 179, 177, 160, 178, 275, 180, 164, 276, 164, 164,
+ 164, 98, 98, 28, 28, 165, 168, 165, 165, 165,
+ 184, 176, 159, 163, 277, 179, 177, 292, 178, 289,
+ 180, 220, 1, 160, 166, 91, 240, 205, 271, 0,
+ 163, 164, 163, 163, 163, 98, 98, 168, 0, 0,
+ 165, 166, 185, 166, 166, 166, 0, 49, 49, 49,
+ 49, 49, 190, 49, 49, 0, 25, 49, 49, 25,
+ 0, 0, 164, 0, 0, 163, 90, 185, 0, 0,
+ 52, 165, 175, 0, 0, 0, 166, 52, 0, 49,
+ 49, 136, 137, 138, 139, 140, 183, 182, 181, 0,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 0,
+ 0, 0, 169, 169, 169, 0, 0, 0, 0, 0,
+ 169, 169, 141, 0, 155, 155, 155, 98, 98, 0,
+ 0, 132, 155, 155, 0, 132, 133, 0, 132, 167,
+ 167, 167, 0, 33, 0, 0, 0, 167, 167, 161,
+ 161, 161, 88, 0, 0, 0, 0, 161, 161, 90,
+ 0, 0, 213, 218, 89, 33, 33, 33, 33, 33,
+ 0, 0, 184, 40, 40, 169, 169, 179, 115, 115,
+ 117, 117, 180, 162, 162, 162, 0, 12, 12, 0,
+ 0, 162, 162, 0, 0, 0, 0, 120, 120, 0,
+ 122, 122, 167, 167, 141, 141, 0, 0, 159, 159,
+ 159, 0, 161, 161, 0, 0, 159, 159, 0, 160,
+ 160, 160, 0, 0, 0, 0, 0, 160, 160, 185,
+ 0, 0, 0, 168, 168, 168, 0, 0, 0, 17,
+ 17, 168, 168, 0, 19, 19, 162, 162, 0, 0,
+ 0, 133, 133, 0, 0, 0, 41, 41, 164, 164,
+ 164, 42, 42, 88, 0, 0, 0, 165, 165, 165,
+ 90, 159, 159, 0, 0, 89, 173, 174, 0, 184,
+ 0, 0, 160, 160, 179, 177, 0, 178, 0, 180,
+ 0, 0, 163, 163, 163, 0, 168, 168, 0, 284,
+ 285, 173, 174, 166, 166, 166, 52, 0, 52, 0,
+ 52, 52, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 164, 164, 0, 0, 0, 0, 193, 0, 0,
+ 165, 165, 0, 0, 0, 0, 185, 0, 52, 0,
+ 0, 0, 0, 0, 0, 0, 170, 171, 172, 0,
+ 0, 0, 0, 0, 0, 163, 163, 0, 0, 0,
+ 52, 52, 52, 52, 52, 184, 166, 166, 0, 0,
+ 179, 177, 2, 178, 0, 180, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 4, 0, 0, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 0, 0,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 0,
+ 0, 0, 185, 51, 0, 0, 0, 0, 34, 0,
+ 51, 0, 136, 137, 138, 139, 140, 0, 0, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 90, 0, 0, 3, 4, 89, 0, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 0,
+ 0, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 131, 131, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 149, 149, 149, 0, 0, 0,
- 0, 0, 149, 149, 0, 0, 0, 0, 0, 0,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 155, 155, 0, 0, 0, 155, 155,
+ 0, 155, 101, 155, 0, 0, 0, 0, 0, 0,
+ 0, 90, 0, 0, 0, 0, 155, 155, 155, 50,
+ 50, 50, 50, 50, 0, 50, 50, 0, 0, 50,
+ 50, 183, 182, 181, 0, 0, 173, 174, 0, 51,
+ 0, 51, 0, 51, 51, 0, 0, 0, 0, 0,
+ 155, 50, 50, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 155, 184, 176, 0, 0, 0, 179, 177, 0, 178,
+ 0, 180, 0, 51, 51, 51, 51, 51, 0, 0,
+ 101, 101, 0, 0, 183, 182, 181, 0, 0, 0,
+ 0, 0, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 156, 156, 25, 217, 217, 156, 156, 185, 156,
+ 0, 156, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 34, 0, 0, 156, 156, 156, 0, 0, 0,
+ 0, 0, 35, 36, 37, 38, 39, 0, 175, 0,
+ 0, 0, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 155, 155, 156, 0,
+ 0, 155, 155, 0, 155, 100, 155, 0, 184, 176,
+ 73, 0, 0, 179, 177, 0, 178, 0, 180, 155,
+ 155, 155, 0, 0, 0, 0, 217, 217, 156, 279,
+ 0, 0, 129, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 123, 123, 0, 123, 123, 0, 0,
+ 0, 122, 124, 155, 125, 126, 0, 0, 0, 0,
+ 0, 0, 0, 0, 278, 185, 0, 0, 0, 0,
+ 0, 0, 199, 0, 212, 0, 155, 155, 155, 0,
+ 0, 0, 0, 155, 155, 155, 0, 0, 0, 0,
+ 0, 170, 171, 172, 0, 175, 0, 144, 0, 0,
+ 0, 0, 0, 100, 100, 143, 0, 0, 0, 0,
+ 196, 191, 202, 0, 0, 0, 241, 242, 243, 244,
+ 245, 246, 247, 248, 0, 0, 123, 249, 250, 251,
+ 252, 253, 0, 0, 211, 0, 0, 216, 216, 28,
+ 28, 0, 191, 0, 0, 215, 215, 123, 144, 0,
+ 0, 0, 0, 0, 0, 226, 143, 0, 0, 0,
+ 0, 0, 0, 0, 170, 171, 172, 0, 0, 0,
+ 0, 0, 173, 174, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 148, 148,
- 148, 0, 0, 0, 0, 0, 148, 148,
+ 0, 0, 146, 147, 148, 149, 150, 0, 151, 152,
+ 0, 0, 153, 154, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 156, 156, 156, 0, 0, 100,
+ 216, 0, 156, 156, 155, 156, 0, 266, 215, 0,
+ 0, 0, 0, 0, 0, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 0, 0, 0, 0, 50, 50,
+ 50, 50, 50, 0, 50, 50, 0, 0, 50, 50,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 155,
+ 155, 155, 0, 0, 144, 144, 0, 155, 155, 0,
+ 50, 50, 143, 143, 0, 0, 0, 0, 0, 173,
+ 174, 50, 50, 50, 50, 50, 50, 50, 50, 50,
};
-static const YYINT pcapcheck[] = { 40,
- 0, 41, 0, 41, 33, 41, 291, 0, 47, 181,
- 0, 40, 0, 33, 131, 0, 92, 0, 42, 0,
- 40, 187, 291, 47, 98, 0, 100, 0, 313, 38,
- 365, 366, 291, 42, 43, 0, 45, 0, 47, 291,
- 38, 41, 118, 41, 42, 43, 210, 45, 41, 47,
- 38, 41, 0, 41, 313, 43, 41, 45, 41, 291,
- 41, 313, 60, 61, 62, 38, 41, 291, 41, 291,
- 58, 86, 60, 61, 62, 38, 41, 0, 41, 243,
- 43, 40, 45, 247, 201, 58, 0, 60, 61, 62,
- 38, 313, 264, 41, 93, 58, 313, 60, 61, 62,
- 266, 60, 61, 62, 81, 93, 121, 122, 313, 98,
- 58, 100, 60, 61, 62, 38, 291, 2, 41, 313,
- 93, 291, 121, 122, 91, 201, 124, 41, 365, 366,
- 93, 365, 366, 38, 47, 58, 124, 60, 61, 62,
- 313, 118, 365, 366, 58, 93, 60, 61, 62, 42,
- 43, 124, 45, 41, 47, 60, 61, 62, 38, 365,
- 366, 124, 42, 43, 33, 45, 41, 47, 291, 291,
- 93, 40, 291, 259, 315, 261, 124, 263, 264, 93,
- 60, 61, 62, 160, 161, 162, 163, 164, 165, 166,
- 167, 291, 291, 38, 171, 172, 173, 42, 43, 291,
- 45, 124, 47, 202, 291, 41, 291, 92, 93, 291,
- 124, 42, 43, 58, 45, 258, 47, 33, 301, 124,
- 291, 258, 257, 262, 40, 257, 93, 0, 2, 45,
- 259, 153, 261, -1, 263, 264, 121, 122, 210, 254,
- 255, -1, -1, -1, 124, -1, -1, -1, 93, -1,
- 291, -1, -1, -1, -1, -1, -1, 257, 258, 259,
- 260, 261, 291, 263, 264, -1, -1, 267, 268, -1,
- -1, 291, -1, 38, -1, -1, -1, 42, 43, 124,
- 45, -1, 47, -1, 313, 314, 315, 316, 317, 289,
- 290, -1, -1, 313, 314, 315, 316, 317, -1, -1,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 318,
- 319, -1, 310, 311, 312, -1, 201, 202, -1, -1,
- 318, 319, 310, 311, 312, 365, 366, 365, 33, 365,
- 318, 319, 291, -1, -1, 40, -1, 310, 311, 312,
- 45, -1, -1, -1, -1, 318, 319, 310, 311, 312,
- -1, 310, 311, 312, -1, 318, 319, -1, -1, 124,
- -1, -1, 310, 311, 312, 365, 366, 365, 366, -1,
- 318, 319, 365, 366, -1, 365, 366, 365, 366, -1,
- 365, 366, 365, 366, 365, 366, -1, 310, 311, 312,
- 365, 366, 365, 366, -1, -1, 310, 311, 312, -1,
- 365, 366, 365, 366, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 365, 366, -1,
- -1, -1, 291, -1, -1, 318, 319, -1, -1, -1,
- 310, 311, 312, -1, -1, 40, -1, -1, 318, 319,
- 45, -1, 365, 366, 313, 314, 315, 316, 317, 265,
- 266, 365, 366, 269, 270, 271, 272, 273, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 318, 319, 291, 292, 293, 294, 295,
- 296, 297, 298, 299, -1, 365, 366, 0, -1, -1,
- -1, -1, -1, 309, -1, -1, -1, 313, 314, 315,
- 316, 317, -1, -1, 320, 321, 322, 323, 324, 325,
- 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
- 356, 357, 358, 359, 360, 361, 362, 363, 364, -1,
- -1, -1, 33, 318, 319, -1, -1, -1, -1, 40,
- 265, 266, -1, -1, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, -1, -1, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 309, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 320, 321, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- -1, -1, -1, -1, -1, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 38, -1, 291, -1, 42, 43,
- 40, 45, -1, 47, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 309, -1, 60, 61, 62, -1,
- 60, 61, 62, -1, -1, 320, 321, 322, 323, 324,
- -1, -1, -1, 2, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 342, -1, -1,
- -1, -1, -1, -1, 257, 258, 259, 260, 261, -1,
- 263, 264, 357, -1, 267, 268, -1, -1, -1, -1,
- -1, -1, 38, 40, 41, -1, 42, 43, 2, 45,
- 124, 47, -1, -1, -1, -1, 289, 290, 259, -1,
- 261, -1, 263, 264, 60, 61, 62, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 38, -1, -1, -1,
- 42, 43, -1, 45, -1, 47, 40, 41, -1, 86,
- 291, -1, -1, 92, 93, 92, -1, -1, 60, 61,
- 62, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 313, 314, 315, 316, 317, 114, -1, -1,
- -1, 118, 121, 122, 121, 122, -1, -1, 124, -1,
- -1, -1, 86, -1, 131, 132, -1, -1, 92, 93,
- -1, -1, -1, -1, 98, -1, 100, 257, 258, 259,
- 260, 261, -1, 263, 264, -1, -1, 267, 268, -1,
- 114, -1, 124, -1, -1, -1, -1, 121, 122, -1,
- -1, -1, -1, -1, -1, -1, -1, 131, 132, 289,
- 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+static const YYINT pcap_check[] = { 41,
+ 0, 101, 0, 41, 291, 0, 41, 0, 196, 291,
+ 291, 33, 291, 202, 0, 40, 47, 291, 40, 225,
+ 291, 296, 37, 107, 0, 109, 313, 0, 291, 0,
+ 144, 0, 313, 313, 134, 135, 373, 374, 313, 0,
+ 38, 41, 313, 41, 42, 43, 41, 45, 41, 47,
+ 313, 37, 38, 313, 260, 41, 42, 43, 264, 45,
+ 58, 47, 60, 61, 62, 41, 0, 38, 41, 291,
+ 41, 0, 41, 0, 60, 61, 62, 38, 0, 94,
+ 41, 42, 43, 0, 45, 33, 47, 58, 0, 60,
+ 61, 62, 40, 281, 283, 93, 313, 58, 0, 60,
+ 61, 62, 216, 107, 291, 109, 91, 41, 94, 0,
+ 47, 38, 41, 2, 41, 42, 43, 217, 45, 41,
+ 47, 313, 93, 0, 41, 41, 124, 373, 374, 41,
+ 41, 58, 93, 60, 61, 62, 38, 291, 124, 41,
+ 259, 43, 261, 45, 263, 264, 100, 38, 0, 291,
+ 41, 38, 43, 124, 45, 291, 58, 0, 60, 61,
+ 62, 38, 291, 124, 41, 291, 93, 58, 291, 60,
+ 61, 62, 315, 60, 61, 62, 291, 131, 373, 374,
+ 291, 58, 0, 60, 61, 62, 38, 373, 374, 41,
+ 291, 93, 41, 0, 258, 37, 38, 124, 41, 258,
+ 42, 43, 93, 45, 257, 47, 58, 257, 60, 61,
+ 62, 100, 101, 373, 374, 58, 93, 60, 61, 62,
+ 37, 38, 124, 41, 301, 42, 43, 93, 45, 291,
+ 47, 262, 0, 124, 41, 2, 166, 124, 225, -1,
+ 58, 93, 60, 61, 62, 134, 135, 124, -1, -1,
+ 93, 58, 94, 60, 61, 62, -1, 257, 258, 259,
+ 260, 261, 216, 263, 264, -1, 291, 267, 268, 291,
+ -1, -1, 124, -1, -1, 93, 40, 94, -1, -1,
+ 33, 124, 124, -1, -1, -1, 93, 40, -1, 289,
+ 290, 313, 314, 315, 316, 317, 60, 61, 62, -1,
300, 301, 302, 303, 304, 305, 306, 307, 308, -1,
- -1, -1, 201, 202, 201, 202, -1, -1, -1, -1,
+ -1, -1, 310, 311, 312, -1, -1, -1, -1, -1,
+ 318, 319, 94, -1, 310, 311, 312, 216, 217, -1,
+ -1, 373, 318, 319, -1, 373, 374, -1, 373, 310,
+ 311, 312, -1, 291, -1, -1, -1, 318, 319, 310,
+ 311, 312, 33, -1, -1, -1, -1, 318, 319, 40,
+ -1, -1, 134, 135, 45, 313, 314, 315, 316, 317,
+ -1, -1, 37, 373, 374, 373, 374, 42, 373, 374,
+ 373, 374, 47, 310, 311, 312, -1, 373, 374, -1,
+ -1, 318, 319, -1, -1, -1, -1, 373, 374, -1,
+ 373, 374, 373, 374, 373, 374, -1, -1, 310, 311,
+ 312, -1, 373, 374, -1, -1, 318, 319, -1, 310,
+ 311, 312, -1, -1, -1, -1, -1, 318, 319, 94,
+ -1, -1, -1, 310, 311, 312, -1, -1, -1, 373,
+ 374, 318, 319, -1, 373, 374, 373, 374, -1, -1,
+ -1, 373, 374, -1, -1, -1, 373, 374, 310, 311,
+ 312, 373, 374, 33, -1, -1, -1, 310, 311, 312,
+ 40, 373, 374, -1, -1, 45, 318, 319, -1, 37,
+ -1, -1, 373, 374, 42, 43, -1, 45, -1, 47,
+ -1, -1, 310, 311, 312, -1, 373, 374, -1, 271,
+ 272, 318, 319, 310, 311, 312, 259, -1, 261, -1,
+ 263, 264, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 373, 374, -1, -1, -1, -1, 291, -1, -1,
+ 373, 374, -1, -1, -1, -1, 94, -1, 291, -1,
+ -1, -1, -1, -1, -1, -1, 310, 311, 312, -1,
+ -1, -1, -1, -1, -1, 373, 374, -1, -1, -1,
+ 313, 314, 315, 316, 317, 37, 373, 374, -1, -1,
+ 42, 43, 0, 45, -1, 47, -1, -1, -1, -1,
+ -1, -1, -1, -1, 265, 266, -1, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, -1, -1,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, -1,
+ -1, -1, 94, 33, -1, -1, -1, -1, 309, -1,
+ 40, -1, 313, 314, 315, 316, 317, -1, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 40, -1, -1, 265, 266, 45, -1, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, -1,
+ -1, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 309,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 291, 257, 258, 259, 260, 261, -1, 263, 264,
- -1, -1, 267, 268, -1, -1, 310, 311, 312, -1,
- 310, 311, 312, -1, 318, 319, -1, 201, 202, -1,
- -1, -1, -1, -1, 289, 290, -1, 254, 255, -1,
- -1, -1, -1, -1, -1, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 254, 255, -1, -1, -1, -1, -1, -1, -1, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 37, 38, -1, -1, -1, 42, 43,
+ -1, 45, 2, 47, -1, -1, -1, -1, -1, -1,
+ -1, 40, -1, -1, -1, -1, 60, 61, 62, 257,
+ 258, 259, 260, 261, -1, 263, 264, -1, -1, 267,
+ 268, 60, 61, 62, -1, -1, 318, 319, -1, 259,
+ -1, 261, -1, 263, 264, -1, -1, -1, -1, -1,
+ 94, 289, 290, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 291, -1, -1, -1, -1, -1, -1, -1, -1,
+ 124, 37, 38, -1, -1, -1, 42, 43, -1, 45,
+ -1, 47, -1, 313, 314, 315, 316, 317, -1, -1,
+ 100, 101, -1, -1, 60, 61, 62, -1, -1, -1,
+ -1, -1, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 37, 38, 291, 134, 135, 42, 43, 94, 45,
+ -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 309, -1, -1, 60, 61, 62, -1, -1, -1,
+ -1, -1, 320, 321, 322, 323, 324, -1, 124, -1,
+ -1, -1, 330, 331, 332, 333, 334, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 37, 38, 94, -1,
+ -1, 42, 43, -1, 45, 2, 47, -1, 37, 38,
+ 358, -1, -1, 42, 43, -1, 45, -1, 47, 60,
+ 61, 62, -1, -1, -1, -1, 216, 217, 124, 58,
+ -1, -1, 89, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, -1, 43, 44, -1, -1,
+ -1, 40, 41, 94, 43, 44, -1, -1, -1, -1,
+ -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
+ -1, -1, 291, -1, 131, -1, 310, 311, 312, -1,
+ -1, -1, -1, 124, 318, 319, -1, -1, -1, -1,
+ -1, 310, 311, 312, -1, 124, -1, 94, -1, -1,
+ -1, -1, -1, 100, 101, 94, -1, -1, -1, -1,
+ 107, 100, 109, -1, -1, -1, 173, 174, 175, 176,
+ 177, 178, 179, 180, -1, -1, 123, 184, 185, 186,
+ 187, 188, -1, -1, 123, -1, -1, 134, 135, 373,
+ 374, -1, 131, -1, -1, 134, 135, 144, 145, -1,
+ -1, -1, -1, -1, -1, 144, 145, -1, -1, -1,
-1, -1, -1, -1, 310, 311, 312, -1, -1, -1,
-1, -1, 318, 319, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 310, 311,
- 312, -1, -1, -1, -1, -1, 318, 319,
+ -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
+ -1, -1, 267, 268, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 310, 311, 312, -1, -1, 216,
+ 217, -1, 318, 319, 289, 290, -1, 216, 217, -1,
+ -1, -1, -1, -1, -1, 300, 301, 302, 303, 304,
+ 305, 306, 307, 308, -1, -1, -1, -1, 257, 258,
+ 259, 260, 261, -1, 263, 264, -1, -1, 267, 268,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 310,
+ 311, 312, -1, -1, 271, 272, -1, 318, 319, -1,
+ 289, 290, 271, 272, -1, -1, -1, -1, -1, 318,
+ 319, 300, 301, 302, 303, 304, 305, 306, 307, 308,
};
#define YYFINAL 1
#ifndef YYDEBUG
#define YYDEBUG 0
#endif
-#define YYMAXTOKEN 367
-#define YYUNDFTOKEN 414
+#define YYMAXTOKEN 375
+#define YYUNDFTOKEN 423
#define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a))
#if YYDEBUG
-static const char *const pcapname[] = {
+static const char *const pcap_name[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-"'!'",0,0,0,0,"'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0,0,0,
-0,"':'",0,"'<'","'='","'>'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-"'|'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+"'!'",0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0,
+0,0,0,"':'",0,"'<'","'='","'>'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,"'|'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"DST","SRC","HOST","GATEWAY","NET","NETMASK",
-"PORT","PORTRANGE","LESS","GREATER","PROTO","PROTOCHAIN","CBYTE","ARP","RARP",
-"IP","SCTP","TCP","UDP","ICMP","IGMP","IGRP","PIM","VRRP","CARP","ATALK","AARP",
-"DECNET","LAT","SCA","MOPRC","MOPDL","TK_BROADCAST","TK_MULTICAST","NUM",
-"INBOUND","OUTBOUND","PF_IFNAME","PF_RSET","PF_RNR","PF_SRNR","PF_REASON",
-"PF_ACTION","TYPE","SUBTYPE","DIR","ADDR1","ADDR2","ADDR3","ADDR4","RA","TA",
-"LINK","GEQ","LEQ","NEQ","ID","EID","HID","HID6","AID","LSH","RSH","LEN","IPV6",
-"ICMPV6","AH","ESP","VLAN","MPLS","PPPOED","PPPOES","ISO","ESIS","CLNP","ISIS",
-"L1","L2","IIH","LSP","SNP","CSNP","PSNP","STP","IPX","NETBEUI","LANE","LLC",
-"METAC","BCC","SC","ILMIC","OAMF4EC","OAMF4SC","OAM","OAMF4","CONNECTMSG",
-"METACONNECT","VPI","VCI","RADIO","FISU","LSSU","MSU","SIO","OPC","DPC","SLS",
-"OR","AND","UMINUS",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"illegal-symbol",
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"DST","SRC","HOST","GATEWAY","NET",
+"NETMASK","PORT","PORTRANGE","LESS","GREATER","PROTO","PROTOCHAIN","CBYTE",
+"ARP","RARP","IP","SCTP","TCP","UDP","ICMP","IGMP","IGRP","PIM","VRRP","CARP",
+"ATALK","AARP","DECNET","LAT","SCA","MOPRC","MOPDL","TK_BROADCAST",
+"TK_MULTICAST","NUM","INBOUND","OUTBOUND","PF_IFNAME","PF_RSET","PF_RNR",
+"PF_SRNR","PF_REASON","PF_ACTION","TYPE","SUBTYPE","DIR","ADDR1","ADDR2",
+"ADDR3","ADDR4","RA","TA","LINK","GEQ","LEQ","NEQ","ID","EID","HID","HID6",
+"AID","LSH","RSH","LEN","IPV6","ICMPV6","AH","ESP","VLAN","MPLS","PPPOED",
+"PPPOES","GENEVE","ISO","ESIS","CLNP","ISIS","L1","L2","IIH","LSP","SNP","CSNP",
+"PSNP","STP","IPX","NETBEUI","LANE","LLC","METAC","BCC","SC","ILMIC","OAMF4EC",
+"OAMF4SC","OAM","OAMF4","CONNECTMSG","METACONNECT","VPI","VCI","RADIO","FISU",
+"LSSU","MSU","HFISU","HLSSU","HMSU","SIO","OPC","DPC","SLS","HSIO","HOPC",
+"HDPC","HSLS","OR","AND","UMINUS",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"illegal-symbol",
};
-static const char *const pcaprule[] = {
+static const char *const pcap_rule[] = {
"$accept : prog",
"prog : null expr",
"prog : null",
@@ -1028,9 +1097,13 @@ static const char *const pcaprule[] = {
"other : MPLS pnum",
"other : MPLS",
"other : PPPOED",
+"other : PPPOES pnum",
"other : PPPOES",
+"other : GENEVE pnum",
+"other : GENEVE",
"other : pfvar",
"other : pqual p80211",
+"other : pllc",
"pfvar : PF_IFNAME ID",
"pfvar : PF_RSET ID",
"pfvar : PF_RNR NUM",
@@ -1046,6 +1119,9 @@ static const char *const pcaprule[] = {
"subtype : NUM",
"subtype : ID",
"type_subtype : ID",
+"pllc : LLC",
+"pllc : LLC ID",
+"pllc : LLC PF_RNR",
"dir : NUM",
"dir : ID",
"reason : NUM",
@@ -1065,8 +1141,10 @@ static const char *const pcaprule[] = {
"narth : arth '-' arth",
"narth : arth '*' arth",
"narth : arth '/' arth",
+"narth : arth '%' arth",
"narth : arth '&' arth",
"narth : arth '|' arth",
+"narth : arth '^' arth",
"narth : arth LSH arth",
"narth : arth RSH arth",
"narth : '-' arth",
@@ -1080,7 +1158,6 @@ static const char *const pcaprule[] = {
"pnum : NUM",
"pnum : paren pnum ')'",
"atmtype : LANE",
-"atmtype : LLC",
"atmtype : METAC",
"atmtype : BCC",
"atmtype : OAMF4EC",
@@ -1103,10 +1180,17 @@ static const char *const pcaprule[] = {
"mtp2type : FISU",
"mtp2type : LSSU",
"mtp2type : MSU",
+"mtp2type : HFISU",
+"mtp2type : HLSSU",
+"mtp2type : HMSU",
"mtp3field : SIO",
"mtp3field : OPC",
"mtp3field : DPC",
"mtp3field : SLS",
+"mtp3field : HSIO",
+"mtp3field : HOPC",
+"mtp3field : HDPC",
+"mtp3field : HSLS",
"mtp3value : mtp3fieldvalue",
"mtp3value : relop NUM",
"mtp3value : irelop NUM",
@@ -1121,11 +1205,6 @@ static const char *const pcaprule[] = {
int yydebug;
int yynerrs;
-int yyerrflag;
-int yychar;
-YYSTYPE yyval;
-YYSTYPE yylval;
-
/* define the initial stack-sizes */
#ifdef YYSTACKSIZE
#undef YYMAXDEPTH
@@ -1149,11 +1228,9 @@ typedef struct {
YYSTYPE *l_base;
YYSTYPE *l_mark;
} YYSTACKDATA;
-/* variables for the parser stack */
-static YYSTACKDATA yystack;
#if YYDEBUG
-#include <stdio.h> /* needed for printf */
+#include <stdio.h> /* needed for printf */
#endif
#include <stdlib.h> /* needed for malloc, etc */
@@ -1213,6 +1290,13 @@ static void yyfreestack(YYSTACKDATA *data)
int
YYPARSE_DECL()
{
+ int yyerrflag;
+ int yychar;
+ YYSTYPE yyval;
+ YYSTYPE yylval;
+
+ /* variables for the parser stack */
+ YYSTACKDATA yystack;
int yym, yyn, yystate;
#if YYDEBUG
const char *yys;
@@ -1225,6 +1309,8 @@ YYPARSE_DECL()
}
#endif
+ yym = 0;
+ yyn = 0;
yynerrs = 0;
yyerrflag = 0;
yychar = YYEMPTY;
@@ -1244,28 +1330,26 @@ yyloop:
if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
if (yychar < 0)
{
- if ((yychar = YYLEX) < 0) yychar = YYEOF;
+ yychar = YYLEX;
+ if (yychar < 0) yychar = YYEOF;
#if YYDEBUG
if (yydebug)
{
- yys = yyname[YYTRANSLATE(yychar)];
+ if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
printf("%sdebug: state %d, reading %d (%s)\n",
YYPREFIX, yystate, yychar, yys);
}
#endif
}
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ if (((yyn = yysindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
{
#if YYDEBUG
if (yydebug)
printf("%sdebug: state %d, shifting to state %d\n",
YYPREFIX, yystate, yytable[yyn]);
#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM)
- {
- goto yyoverflow;
- }
+ if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
yystate = yytable[yyn];
*++yystack.s_mark = yytable[yyn];
*++yystack.l_mark = yylval;
@@ -1273,18 +1357,17 @@ yyloop:
if (yyerrflag > 0) --yyerrflag;
goto yyloop;
}
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ if (((yyn = yyrindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
{
yyn = yytable[yyn];
goto yyreduce;
}
- if (yyerrflag) goto yyinrecovery;
+ if (yyerrflag != 0) goto yyinrecovery;
YYERROR_CALL("syntax error");
- goto yyerrlab;
-
+ goto yyerrlab; /* redundant goto avoids 'unused label' warning */
yyerrlab:
++yynerrs;
@@ -1294,18 +1377,15 @@ yyinrecovery:
yyerrflag = 3;
for (;;)
{
- if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
+ if (((yyn = yysindex[*yystack.s_mark]) != 0) && (yyn += YYERRCODE) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) YYERRCODE)
{
#if YYDEBUG
if (yydebug)
printf("%sdebug: state %d, error recovery shifting\
to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]);
#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM)
- {
- goto yyoverflow;
- }
+ if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
yystate = yytable[yyn];
*++yystack.s_mark = yytable[yyn];
*++yystack.l_mark = yylval;
@@ -1330,7 +1410,7 @@ yyinrecovery:
#if YYDEBUG
if (yydebug)
{
- yys = yyname[YYTRANSLATE(yychar)];
+ if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
YYPREFIX, yystate, yychar, yys);
}
@@ -1346,113 +1426,114 @@ yyreduce:
YYPREFIX, yystate, yyn, yyrule[yyn]);
#endif
yym = yylen[yyn];
- if (yym)
+ if (yym > 0)
yyval = yystack.l_mark[1-yym];
else
memset(&yyval, 0, sizeof yyval);
+
switch (yyn)
{
case 1:
-#line 317 "../../freebsd/contrib/libpcap/grammar.y"
+#line 347 "grammar.y"
{
- finish_parse(yystack.l_mark[0].blk.b);
+ finish_parse(cstate, yystack.l_mark[0].blk.b);
}
break;
case 3:
-#line 322 "../../freebsd/contrib/libpcap/grammar.y"
+#line 352 "grammar.y"
{ yyval.blk.q = qerr; }
break;
case 5:
-#line 325 "../../freebsd/contrib/libpcap/grammar.y"
+#line 355 "grammar.y"
{ gen_and(yystack.l_mark[-2].blk.b, yystack.l_mark[0].blk.b); yyval.blk = yystack.l_mark[0].blk; }
break;
case 6:
-#line 326 "../../freebsd/contrib/libpcap/grammar.y"
+#line 356 "grammar.y"
{ gen_and(yystack.l_mark[-2].blk.b, yystack.l_mark[0].blk.b); yyval.blk = yystack.l_mark[0].blk; }
break;
case 7:
-#line 327 "../../freebsd/contrib/libpcap/grammar.y"
+#line 357 "grammar.y"
{ gen_or(yystack.l_mark[-2].blk.b, yystack.l_mark[0].blk.b); yyval.blk = yystack.l_mark[0].blk; }
break;
case 8:
-#line 328 "../../freebsd/contrib/libpcap/grammar.y"
+#line 358 "grammar.y"
{ gen_or(yystack.l_mark[-2].blk.b, yystack.l_mark[0].blk.b); yyval.blk = yystack.l_mark[0].blk; }
break;
case 9:
-#line 330 "../../freebsd/contrib/libpcap/grammar.y"
+#line 360 "grammar.y"
{ yyval.blk = yystack.l_mark[-1].blk; }
break;
case 10:
-#line 332 "../../freebsd/contrib/libpcap/grammar.y"
+#line 362 "grammar.y"
{ yyval.blk = yystack.l_mark[-1].blk; }
break;
case 12:
-#line 335 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_ncode(NULL, (bpf_u_int32)yystack.l_mark[0].i,
+#line 365 "grammar.y"
+ { yyval.blk.b = gen_ncode(cstate, NULL, (bpf_u_int32)yystack.l_mark[0].i,
yyval.blk.q = yystack.l_mark[-1].blk.q); }
break;
case 13:
-#line 337 "../../freebsd/contrib/libpcap/grammar.y"
+#line 367 "grammar.y"
{ yyval.blk = yystack.l_mark[-1].blk; }
break;
case 14:
-#line 339 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_scode(yystack.l_mark[0].s, yyval.blk.q = yystack.l_mark[-1].blk.q); }
+#line 369 "grammar.y"
+ { yyval.blk.b = gen_scode(cstate, yystack.l_mark[0].s, yyval.blk.q = yystack.l_mark[-1].blk.q); }
break;
case 15:
-#line 340 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_mcode(yystack.l_mark[-2].s, NULL, yystack.l_mark[0].i,
+#line 370 "grammar.y"
+ { yyval.blk.b = gen_mcode(cstate, yystack.l_mark[-2].s, NULL, yystack.l_mark[0].i,
yyval.blk.q = yystack.l_mark[-3].blk.q); }
break;
case 16:
-#line 342 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_mcode(yystack.l_mark[-2].s, yystack.l_mark[0].s, 0,
+#line 372 "grammar.y"
+ { yyval.blk.b = gen_mcode(cstate, yystack.l_mark[-2].s, yystack.l_mark[0].s, 0,
yyval.blk.q = yystack.l_mark[-3].blk.q); }
break;
case 17:
-#line 344 "../../freebsd/contrib/libpcap/grammar.y"
+#line 374 "grammar.y"
{
/* Decide how to parse HID based on proto */
yyval.blk.q = yystack.l_mark[-1].blk.q;
if (yyval.blk.q.addr == Q_PORT)
- bpf_error("'port' modifier applied to ip host");
+ bpf_error(cstate, "'port' modifier applied to ip host");
else if (yyval.blk.q.addr == Q_PORTRANGE)
- bpf_error("'portrange' modifier applied to ip host");
+ bpf_error(cstate, "'portrange' modifier applied to ip host");
else if (yyval.blk.q.addr == Q_PROTO)
- bpf_error("'proto' modifier applied to ip host");
+ bpf_error(cstate, "'proto' modifier applied to ip host");
else if (yyval.blk.q.addr == Q_PROTOCHAIN)
- bpf_error("'protochain' modifier applied to ip host");
- yyval.blk.b = gen_ncode(yystack.l_mark[0].s, 0, yyval.blk.q);
+ bpf_error(cstate, "'protochain' modifier applied to ip host");
+ yyval.blk.b = gen_ncode(cstate, yystack.l_mark[0].s, 0, yyval.blk.q);
}
break;
case 18:
-#line 357 "../../freebsd/contrib/libpcap/grammar.y"
+#line 387 "grammar.y"
{
#ifdef INET6
- yyval.blk.b = gen_mcode6(yystack.l_mark[-2].s, NULL, yystack.l_mark[0].i,
+ yyval.blk.b = gen_mcode6(cstate, yystack.l_mark[-2].s, NULL, yystack.l_mark[0].i,
yyval.blk.q = yystack.l_mark[-3].blk.q);
#else
- bpf_error("'ip6addr/prefixlen' not supported "
+ bpf_error(cstate, "'ip6addr/prefixlen' not supported "
"in this configuration");
#endif /*INET6*/
}
break;
case 19:
-#line 366 "../../freebsd/contrib/libpcap/grammar.y"
+#line 396 "grammar.y"
{
#ifdef INET6
- yyval.blk.b = gen_mcode6(yystack.l_mark[0].s, 0, 128,
+ yyval.blk.b = gen_mcode6(cstate, yystack.l_mark[0].s, 0, 128,
yyval.blk.q = yystack.l_mark[-1].blk.q);
#else
- bpf_error("'ip6addr' not supported "
+ bpf_error(cstate, "'ip6addr' not supported "
"in this configuration");
#endif /*INET6*/
}
break;
case 20:
-#line 375 "../../freebsd/contrib/libpcap/grammar.y"
- {
- yyval.blk.b = gen_ecode(yystack.l_mark[0].e, yyval.blk.q = yystack.l_mark[-1].blk.q);
+#line 405 "grammar.y"
+ {
+ yyval.blk.b = gen_ecode(cstate, yystack.l_mark[0].e, yyval.blk.q = yystack.l_mark[-1].blk.q);
/*
* $1 was allocated by "pcap_ether_aton()",
* so we must free it now that we're done
@@ -1462,9 +1543,9 @@ case 20:
}
break;
case 21:
-#line 384 "../../freebsd/contrib/libpcap/grammar.y"
+#line 414 "grammar.y"
{
- yyval.blk.b = gen_acode(yystack.l_mark[0].e, yyval.blk.q = yystack.l_mark[-1].blk.q);
+ yyval.blk.b = gen_acode(cstate, yystack.l_mark[0].e, yyval.blk.q = yystack.l_mark[-1].blk.q);
/*
* $1 was allocated by "pcap_ether_aton()",
* so we must free it now that we're done
@@ -1474,455 +1555,471 @@ case 21:
}
break;
case 22:
-#line 393 "../../freebsd/contrib/libpcap/grammar.y"
+#line 423 "grammar.y"
{ gen_not(yystack.l_mark[0].blk.b); yyval.blk = yystack.l_mark[0].blk; }
break;
case 23:
-#line 395 "../../freebsd/contrib/libpcap/grammar.y"
+#line 425 "grammar.y"
{ yyval.blk = yystack.l_mark[-1].blk; }
break;
case 24:
-#line 397 "../../freebsd/contrib/libpcap/grammar.y"
+#line 427 "grammar.y"
{ yyval.blk = yystack.l_mark[-1].blk; }
break;
case 26:
-#line 400 "../../freebsd/contrib/libpcap/grammar.y"
+#line 430 "grammar.y"
{ gen_and(yystack.l_mark[-2].blk.b, yystack.l_mark[0].blk.b); yyval.blk = yystack.l_mark[0].blk; }
break;
case 27:
-#line 401 "../../freebsd/contrib/libpcap/grammar.y"
+#line 431 "grammar.y"
{ gen_or(yystack.l_mark[-2].blk.b, yystack.l_mark[0].blk.b); yyval.blk = yystack.l_mark[0].blk; }
break;
case 28:
-#line 403 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_ncode(NULL, (bpf_u_int32)yystack.l_mark[0].i,
+#line 433 "grammar.y"
+ { yyval.blk.b = gen_ncode(cstate, NULL, (bpf_u_int32)yystack.l_mark[0].i,
yyval.blk.q = yystack.l_mark[-1].blk.q); }
break;
case 31:
-#line 408 "../../freebsd/contrib/libpcap/grammar.y"
+#line 438 "grammar.y"
{ gen_not(yystack.l_mark[0].blk.b); yyval.blk = yystack.l_mark[0].blk; }
break;
case 32:
-#line 410 "../../freebsd/contrib/libpcap/grammar.y"
+#line 440 "grammar.y"
{ QSET(yyval.blk.q, yystack.l_mark[-2].i, yystack.l_mark[-1].i, yystack.l_mark[0].i); }
break;
case 33:
-#line 411 "../../freebsd/contrib/libpcap/grammar.y"
+#line 441 "grammar.y"
{ QSET(yyval.blk.q, yystack.l_mark[-1].i, yystack.l_mark[0].i, Q_DEFAULT); }
break;
case 34:
-#line 412 "../../freebsd/contrib/libpcap/grammar.y"
+#line 442 "grammar.y"
{ QSET(yyval.blk.q, yystack.l_mark[-1].i, Q_DEFAULT, yystack.l_mark[0].i); }
break;
case 35:
-#line 413 "../../freebsd/contrib/libpcap/grammar.y"
+#line 443 "grammar.y"
{ QSET(yyval.blk.q, yystack.l_mark[-1].i, Q_DEFAULT, Q_PROTO); }
break;
case 36:
-#line 414 "../../freebsd/contrib/libpcap/grammar.y"
+#line 444 "grammar.y"
{ QSET(yyval.blk.q, yystack.l_mark[-1].i, Q_DEFAULT, Q_PROTOCHAIN); }
break;
case 37:
-#line 415 "../../freebsd/contrib/libpcap/grammar.y"
+#line 445 "grammar.y"
{ QSET(yyval.blk.q, yystack.l_mark[-1].i, Q_DEFAULT, yystack.l_mark[0].i); }
break;
case 38:
-#line 417 "../../freebsd/contrib/libpcap/grammar.y"
+#line 447 "grammar.y"
{ yyval.blk = yystack.l_mark[0].blk; }
break;
case 39:
-#line 418 "../../freebsd/contrib/libpcap/grammar.y"
+#line 448 "grammar.y"
{ yyval.blk.b = yystack.l_mark[-1].blk.b; yyval.blk.q = yystack.l_mark[-2].blk.q; }
break;
case 40:
-#line 419 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_proto_abbrev(yystack.l_mark[0].i); yyval.blk.q = qerr; }
+#line 449 "grammar.y"
+ { yyval.blk.b = gen_proto_abbrev(cstate, yystack.l_mark[0].i); yyval.blk.q = qerr; }
break;
case 41:
-#line 420 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_relation(yystack.l_mark[-1].i, yystack.l_mark[-2].a, yystack.l_mark[0].a, 0);
+#line 450 "grammar.y"
+ { yyval.blk.b = gen_relation(cstate, yystack.l_mark[-1].i, yystack.l_mark[-2].a, yystack.l_mark[0].a, 0);
yyval.blk.q = qerr; }
break;
case 42:
-#line 422 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_relation(yystack.l_mark[-1].i, yystack.l_mark[-2].a, yystack.l_mark[0].a, 1);
+#line 452 "grammar.y"
+ { yyval.blk.b = gen_relation(cstate, yystack.l_mark[-1].i, yystack.l_mark[-2].a, yystack.l_mark[0].a, 1);
yyval.blk.q = qerr; }
break;
case 43:
-#line 424 "../../freebsd/contrib/libpcap/grammar.y"
+#line 454 "grammar.y"
{ yyval.blk.b = yystack.l_mark[0].rblk; yyval.blk.q = qerr; }
break;
case 44:
-#line 425 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_atmtype_abbrev(yystack.l_mark[0].i); yyval.blk.q = qerr; }
+#line 455 "grammar.y"
+ { yyval.blk.b = gen_atmtype_abbrev(cstate, yystack.l_mark[0].i); yyval.blk.q = qerr; }
break;
case 45:
-#line 426 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_atmmulti_abbrev(yystack.l_mark[0].i); yyval.blk.q = qerr; }
+#line 456 "grammar.y"
+ { yyval.blk.b = gen_atmmulti_abbrev(cstate, yystack.l_mark[0].i); yyval.blk.q = qerr; }
break;
case 46:
-#line 427 "../../freebsd/contrib/libpcap/grammar.y"
+#line 457 "grammar.y"
{ yyval.blk.b = yystack.l_mark[0].blk.b; yyval.blk.q = qerr; }
break;
case 47:
-#line 428 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_mtp2type_abbrev(yystack.l_mark[0].i); yyval.blk.q = qerr; }
+#line 458 "grammar.y"
+ { yyval.blk.b = gen_mtp2type_abbrev(cstate, yystack.l_mark[0].i); yyval.blk.q = qerr; }
break;
case 48:
-#line 429 "../../freebsd/contrib/libpcap/grammar.y"
+#line 459 "grammar.y"
{ yyval.blk.b = yystack.l_mark[0].blk.b; yyval.blk.q = qerr; }
break;
case 50:
-#line 433 "../../freebsd/contrib/libpcap/grammar.y"
+#line 463 "grammar.y"
{ yyval.i = Q_DEFAULT; }
break;
case 51:
-#line 436 "../../freebsd/contrib/libpcap/grammar.y"
+#line 466 "grammar.y"
{ yyval.i = Q_SRC; }
break;
case 52:
-#line 437 "../../freebsd/contrib/libpcap/grammar.y"
+#line 467 "grammar.y"
{ yyval.i = Q_DST; }
break;
case 53:
-#line 438 "../../freebsd/contrib/libpcap/grammar.y"
+#line 468 "grammar.y"
{ yyval.i = Q_OR; }
break;
case 54:
-#line 439 "../../freebsd/contrib/libpcap/grammar.y"
+#line 469 "grammar.y"
{ yyval.i = Q_OR; }
break;
case 55:
-#line 440 "../../freebsd/contrib/libpcap/grammar.y"
+#line 470 "grammar.y"
{ yyval.i = Q_AND; }
break;
case 56:
-#line 441 "../../freebsd/contrib/libpcap/grammar.y"
+#line 471 "grammar.y"
{ yyval.i = Q_AND; }
break;
case 57:
-#line 442 "../../freebsd/contrib/libpcap/grammar.y"
+#line 472 "grammar.y"
{ yyval.i = Q_ADDR1; }
break;
case 58:
-#line 443 "../../freebsd/contrib/libpcap/grammar.y"
+#line 473 "grammar.y"
{ yyval.i = Q_ADDR2; }
break;
case 59:
-#line 444 "../../freebsd/contrib/libpcap/grammar.y"
+#line 474 "grammar.y"
{ yyval.i = Q_ADDR3; }
break;
case 60:
-#line 445 "../../freebsd/contrib/libpcap/grammar.y"
+#line 475 "grammar.y"
{ yyval.i = Q_ADDR4; }
break;
case 61:
-#line 446 "../../freebsd/contrib/libpcap/grammar.y"
+#line 476 "grammar.y"
{ yyval.i = Q_RA; }
break;
case 62:
-#line 447 "../../freebsd/contrib/libpcap/grammar.y"
+#line 477 "grammar.y"
{ yyval.i = Q_TA; }
break;
case 63:
-#line 450 "../../freebsd/contrib/libpcap/grammar.y"
+#line 480 "grammar.y"
{ yyval.i = Q_HOST; }
break;
case 64:
-#line 451 "../../freebsd/contrib/libpcap/grammar.y"
+#line 481 "grammar.y"
{ yyval.i = Q_NET; }
break;
case 65:
-#line 452 "../../freebsd/contrib/libpcap/grammar.y"
+#line 482 "grammar.y"
{ yyval.i = Q_PORT; }
break;
case 66:
-#line 453 "../../freebsd/contrib/libpcap/grammar.y"
+#line 483 "grammar.y"
{ yyval.i = Q_PORTRANGE; }
break;
case 67:
-#line 456 "../../freebsd/contrib/libpcap/grammar.y"
+#line 486 "grammar.y"
{ yyval.i = Q_GATEWAY; }
break;
case 68:
-#line 458 "../../freebsd/contrib/libpcap/grammar.y"
+#line 488 "grammar.y"
{ yyval.i = Q_LINK; }
break;
case 69:
-#line 459 "../../freebsd/contrib/libpcap/grammar.y"
+#line 489 "grammar.y"
{ yyval.i = Q_IP; }
break;
case 70:
-#line 460 "../../freebsd/contrib/libpcap/grammar.y"
+#line 490 "grammar.y"
{ yyval.i = Q_ARP; }
break;
case 71:
-#line 461 "../../freebsd/contrib/libpcap/grammar.y"
+#line 491 "grammar.y"
{ yyval.i = Q_RARP; }
break;
case 72:
-#line 462 "../../freebsd/contrib/libpcap/grammar.y"
+#line 492 "grammar.y"
{ yyval.i = Q_SCTP; }
break;
case 73:
-#line 463 "../../freebsd/contrib/libpcap/grammar.y"
+#line 493 "grammar.y"
{ yyval.i = Q_TCP; }
break;
case 74:
-#line 464 "../../freebsd/contrib/libpcap/grammar.y"
+#line 494 "grammar.y"
{ yyval.i = Q_UDP; }
break;
case 75:
-#line 465 "../../freebsd/contrib/libpcap/grammar.y"
+#line 495 "grammar.y"
{ yyval.i = Q_ICMP; }
break;
case 76:
-#line 466 "../../freebsd/contrib/libpcap/grammar.y"
+#line 496 "grammar.y"
{ yyval.i = Q_IGMP; }
break;
case 77:
-#line 467 "../../freebsd/contrib/libpcap/grammar.y"
+#line 497 "grammar.y"
{ yyval.i = Q_IGRP; }
break;
case 78:
-#line 468 "../../freebsd/contrib/libpcap/grammar.y"
+#line 498 "grammar.y"
{ yyval.i = Q_PIM; }
break;
case 79:
-#line 469 "../../freebsd/contrib/libpcap/grammar.y"
+#line 499 "grammar.y"
{ yyval.i = Q_VRRP; }
break;
case 80:
-#line 470 "../../freebsd/contrib/libpcap/grammar.y"
+#line 500 "grammar.y"
{ yyval.i = Q_CARP; }
break;
case 81:
-#line 471 "../../freebsd/contrib/libpcap/grammar.y"
+#line 501 "grammar.y"
{ yyval.i = Q_ATALK; }
break;
case 82:
-#line 472 "../../freebsd/contrib/libpcap/grammar.y"
+#line 502 "grammar.y"
{ yyval.i = Q_AARP; }
break;
case 83:
-#line 473 "../../freebsd/contrib/libpcap/grammar.y"
+#line 503 "grammar.y"
{ yyval.i = Q_DECNET; }
break;
case 84:
-#line 474 "../../freebsd/contrib/libpcap/grammar.y"
+#line 504 "grammar.y"
{ yyval.i = Q_LAT; }
break;
case 85:
-#line 475 "../../freebsd/contrib/libpcap/grammar.y"
+#line 505 "grammar.y"
{ yyval.i = Q_SCA; }
break;
case 86:
-#line 476 "../../freebsd/contrib/libpcap/grammar.y"
+#line 506 "grammar.y"
{ yyval.i = Q_MOPDL; }
break;
case 87:
-#line 477 "../../freebsd/contrib/libpcap/grammar.y"
+#line 507 "grammar.y"
{ yyval.i = Q_MOPRC; }
break;
case 88:
-#line 478 "../../freebsd/contrib/libpcap/grammar.y"
+#line 508 "grammar.y"
{ yyval.i = Q_IPV6; }
break;
case 89:
-#line 479 "../../freebsd/contrib/libpcap/grammar.y"
+#line 509 "grammar.y"
{ yyval.i = Q_ICMPV6; }
break;
case 90:
-#line 480 "../../freebsd/contrib/libpcap/grammar.y"
+#line 510 "grammar.y"
{ yyval.i = Q_AH; }
break;
case 91:
-#line 481 "../../freebsd/contrib/libpcap/grammar.y"
+#line 511 "grammar.y"
{ yyval.i = Q_ESP; }
break;
case 92:
-#line 482 "../../freebsd/contrib/libpcap/grammar.y"
+#line 512 "grammar.y"
{ yyval.i = Q_ISO; }
break;
case 93:
-#line 483 "../../freebsd/contrib/libpcap/grammar.y"
+#line 513 "grammar.y"
{ yyval.i = Q_ESIS; }
break;
case 94:
-#line 484 "../../freebsd/contrib/libpcap/grammar.y"
+#line 514 "grammar.y"
{ yyval.i = Q_ISIS; }
break;
case 95:
-#line 485 "../../freebsd/contrib/libpcap/grammar.y"
+#line 515 "grammar.y"
{ yyval.i = Q_ISIS_L1; }
break;
case 96:
-#line 486 "../../freebsd/contrib/libpcap/grammar.y"
+#line 516 "grammar.y"
{ yyval.i = Q_ISIS_L2; }
break;
case 97:
-#line 487 "../../freebsd/contrib/libpcap/grammar.y"
+#line 517 "grammar.y"
{ yyval.i = Q_ISIS_IIH; }
break;
case 98:
-#line 488 "../../freebsd/contrib/libpcap/grammar.y"
+#line 518 "grammar.y"
{ yyval.i = Q_ISIS_LSP; }
break;
case 99:
-#line 489 "../../freebsd/contrib/libpcap/grammar.y"
+#line 519 "grammar.y"
{ yyval.i = Q_ISIS_SNP; }
break;
case 100:
-#line 490 "../../freebsd/contrib/libpcap/grammar.y"
+#line 520 "grammar.y"
{ yyval.i = Q_ISIS_PSNP; }
break;
case 101:
-#line 491 "../../freebsd/contrib/libpcap/grammar.y"
+#line 521 "grammar.y"
{ yyval.i = Q_ISIS_CSNP; }
break;
case 102:
-#line 492 "../../freebsd/contrib/libpcap/grammar.y"
+#line 522 "grammar.y"
{ yyval.i = Q_CLNP; }
break;
case 103:
-#line 493 "../../freebsd/contrib/libpcap/grammar.y"
+#line 523 "grammar.y"
{ yyval.i = Q_STP; }
break;
case 104:
-#line 494 "../../freebsd/contrib/libpcap/grammar.y"
+#line 524 "grammar.y"
{ yyval.i = Q_IPX; }
break;
case 105:
-#line 495 "../../freebsd/contrib/libpcap/grammar.y"
+#line 525 "grammar.y"
{ yyval.i = Q_NETBEUI; }
break;
case 106:
-#line 496 "../../freebsd/contrib/libpcap/grammar.y"
+#line 526 "grammar.y"
{ yyval.i = Q_RADIO; }
break;
case 107:
-#line 498 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_broadcast(yystack.l_mark[-1].i); }
+#line 528 "grammar.y"
+ { yyval.rblk = gen_broadcast(cstate, yystack.l_mark[-1].i); }
break;
case 108:
-#line 499 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_multicast(yystack.l_mark[-1].i); }
+#line 529 "grammar.y"
+ { yyval.rblk = gen_multicast(cstate, yystack.l_mark[-1].i); }
break;
case 109:
-#line 500 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_less(yystack.l_mark[0].i); }
+#line 530 "grammar.y"
+ { yyval.rblk = gen_less(cstate, yystack.l_mark[0].i); }
break;
case 110:
-#line 501 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_greater(yystack.l_mark[0].i); }
+#line 531 "grammar.y"
+ { yyval.rblk = gen_greater(cstate, yystack.l_mark[0].i); }
break;
case 111:
-#line 502 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_byteop(yystack.l_mark[-1].i, yystack.l_mark[-2].i, yystack.l_mark[0].i); }
+#line 532 "grammar.y"
+ { yyval.rblk = gen_byteop(cstate, yystack.l_mark[-1].i, yystack.l_mark[-2].i, yystack.l_mark[0].i); }
break;
case 112:
-#line 503 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_inbound(0); }
+#line 533 "grammar.y"
+ { yyval.rblk = gen_inbound(cstate, 0); }
break;
case 113:
-#line 504 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_inbound(1); }
+#line 534 "grammar.y"
+ { yyval.rblk = gen_inbound(cstate, 1); }
break;
case 114:
-#line 505 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_vlan(yystack.l_mark[0].i); }
+#line 535 "grammar.y"
+ { yyval.rblk = gen_vlan(cstate, yystack.l_mark[0].i); }
break;
case 115:
-#line 506 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_vlan(-1); }
+#line 536 "grammar.y"
+ { yyval.rblk = gen_vlan(cstate, -1); }
break;
case 116:
-#line 507 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_mpls(yystack.l_mark[0].i); }
+#line 537 "grammar.y"
+ { yyval.rblk = gen_mpls(cstate, yystack.l_mark[0].i); }
break;
case 117:
-#line 508 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_mpls(-1); }
+#line 538 "grammar.y"
+ { yyval.rblk = gen_mpls(cstate, -1); }
break;
case 118:
-#line 509 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_pppoed(); }
+#line 539 "grammar.y"
+ { yyval.rblk = gen_pppoed(cstate); }
break;
case 119:
-#line 510 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_pppoes(); }
+#line 540 "grammar.y"
+ { yyval.rblk = gen_pppoes(cstate, yystack.l_mark[0].i); }
break;
case 120:
-#line 511 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = yystack.l_mark[0].rblk; }
+#line 541 "grammar.y"
+ { yyval.rblk = gen_pppoes(cstate, -1); }
break;
case 121:
-#line 512 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = yystack.l_mark[0].rblk; }
+#line 542 "grammar.y"
+ { yyval.rblk = gen_geneve(cstate, yystack.l_mark[0].i); }
break;
case 122:
-#line 515 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_pf_ifname(yystack.l_mark[0].s); }
+#line 543 "grammar.y"
+ { yyval.rblk = gen_geneve(cstate, -1); }
break;
case 123:
-#line 516 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_pf_ruleset(yystack.l_mark[0].s); }
+#line 544 "grammar.y"
+ { yyval.rblk = yystack.l_mark[0].rblk; }
break;
case 124:
-#line 517 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_pf_rnr(yystack.l_mark[0].i); }
+#line 545 "grammar.y"
+ { yyval.rblk = yystack.l_mark[0].rblk; }
break;
case 125:
-#line 518 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_pf_srnr(yystack.l_mark[0].i); }
+#line 546 "grammar.y"
+ { yyval.rblk = yystack.l_mark[0].rblk; }
break;
case 126:
-#line 519 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_pf_reason(yystack.l_mark[0].i); }
+#line 549 "grammar.y"
+ { yyval.rblk = gen_pf_ifname(cstate, yystack.l_mark[0].s); }
break;
case 127:
-#line 520 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_pf_action(yystack.l_mark[0].i); }
+#line 550 "grammar.y"
+ { yyval.rblk = gen_pf_ruleset(cstate, yystack.l_mark[0].s); }
break;
case 128:
-#line 524 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_p80211_type(yystack.l_mark[-2].i | yystack.l_mark[0].i,
+#line 551 "grammar.y"
+ { yyval.rblk = gen_pf_rnr(cstate, yystack.l_mark[0].i); }
+break;
+case 129:
+#line 552 "grammar.y"
+ { yyval.rblk = gen_pf_srnr(cstate, yystack.l_mark[0].i); }
+break;
+case 130:
+#line 553 "grammar.y"
+ { yyval.rblk = gen_pf_reason(cstate, yystack.l_mark[0].i); }
+break;
+case 131:
+#line 554 "grammar.y"
+ { yyval.rblk = gen_pf_action(cstate, yystack.l_mark[0].i); }
+break;
+case 132:
+#line 558 "grammar.y"
+ { yyval.rblk = gen_p80211_type(cstate, yystack.l_mark[-2].i | yystack.l_mark[0].i,
IEEE80211_FC0_TYPE_MASK |
IEEE80211_FC0_SUBTYPE_MASK);
}
break;
-case 129:
-#line 528 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_p80211_type(yystack.l_mark[0].i,
+case 133:
+#line 562 "grammar.y"
+ { yyval.rblk = gen_p80211_type(cstate, yystack.l_mark[0].i,
IEEE80211_FC0_TYPE_MASK);
}
break;
-case 130:
-#line 531 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_p80211_type(yystack.l_mark[0].i,
+case 134:
+#line 565 "grammar.y"
+ { yyval.rblk = gen_p80211_type(cstate, yystack.l_mark[0].i,
IEEE80211_FC0_TYPE_MASK |
IEEE80211_FC0_SUBTYPE_MASK);
}
break;
-case 131:
-#line 535 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.rblk = gen_p80211_fcdir(yystack.l_mark[0].i); }
+case 135:
+#line 569 "grammar.y"
+ { yyval.rblk = gen_p80211_fcdir(cstate, yystack.l_mark[0].i); }
break;
-case 133:
-#line 539 "../../freebsd/contrib/libpcap/grammar.y"
+case 137:
+#line 573 "grammar.y"
{ yyval.i = str2tok(yystack.l_mark[0].s, ieee80211_types);
if (yyval.i == -1)
- bpf_error("unknown 802.11 type name");
+ bpf_error(cstate, "unknown 802.11 type name");
}
break;
-case 135:
-#line 546 "../../freebsd/contrib/libpcap/grammar.y"
+case 139:
+#line 580 "grammar.y"
{ const struct tok *types = NULL;
int i;
for (i = 0;; i++) {
if (ieee80211_type_subtypes[i].tok == NULL) {
/* Ran out of types */
- bpf_error("unknown 802.11 type");
+ bpf_error(cstate, "unknown 802.11 type");
break;
}
if (yystack.l_mark[-2].i == ieee80211_type_subtypes[i].type) {
@@ -1933,16 +2030,16 @@ case 135:
yyval.i = str2tok(yystack.l_mark[0].s, types);
if (yyval.i == -1)
- bpf_error("unknown 802.11 subtype name");
+ bpf_error(cstate, "unknown 802.11 subtype name");
}
break;
-case 136:
-#line 566 "../../freebsd/contrib/libpcap/grammar.y"
+case 140:
+#line 600 "grammar.y"
{ int i;
for (i = 0;; i++) {
if (ieee80211_type_subtypes[i].tok == NULL) {
/* Ran out of types */
- bpf_error("unknown 802.11 type name");
+ bpf_error(cstate, "unknown 802.11 type name");
break;
}
yyval.i = str2tok(yystack.l_mark[0].s, ieee80211_type_subtypes[i].tok);
@@ -1953,8 +2050,39 @@ case 136:
}
}
break;
-case 138:
-#line 583 "../../freebsd/contrib/libpcap/grammar.y"
+case 141:
+#line 616 "grammar.y"
+ { yyval.rblk = gen_llc(cstate); }
+break;
+case 142:
+#line 617 "grammar.y"
+ { if (pcap_strcasecmp(yystack.l_mark[0].s, "i") == 0)
+ yyval.rblk = gen_llc_i(cstate);
+ else if (pcap_strcasecmp(yystack.l_mark[0].s, "s") == 0)
+ yyval.rblk = gen_llc_s(cstate);
+ else if (pcap_strcasecmp(yystack.l_mark[0].s, "u") == 0)
+ yyval.rblk = gen_llc_u(cstate);
+ else {
+ int subtype;
+
+ subtype = str2tok(yystack.l_mark[0].s, llc_s_subtypes);
+ if (subtype != -1)
+ yyval.rblk = gen_llc_s_subtype(cstate, subtype);
+ else {
+ subtype = str2tok(yystack.l_mark[0].s, llc_u_subtypes);
+ if (subtype == -1)
+ bpf_error(cstate, "unknown LLC type name \"%s\"", yystack.l_mark[0].s);
+ yyval.rblk = gen_llc_u_subtype(cstate, subtype);
+ }
+ }
+ }
+break;
+case 143:
+#line 638 "grammar.y"
+ { yyval.rblk = gen_llc_s_subtype(cstate, LLC_RNR); }
+break;
+case 145:
+#line 642 "grammar.y"
{ if (pcap_strcasecmp(yystack.l_mark[0].s, "nods") == 0)
yyval.i = IEEE80211_FC1_DIR_NODS;
else if (pcap_strcasecmp(yystack.l_mark[0].s, "tods") == 0)
@@ -1964,262 +2092,298 @@ case 138:
else if (pcap_strcasecmp(yystack.l_mark[0].s, "dstods") == 0)
yyval.i = IEEE80211_FC1_DIR_DSTODS;
else
- bpf_error("unknown 802.11 direction");
+ bpf_error(cstate, "unknown 802.11 direction");
}
break;
-case 139:
-#line 596 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = yystack.l_mark[0].i; }
-break;
-case 140:
-#line 597 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = pfreason_to_num(yystack.l_mark[0].s); }
-break;
-case 141:
-#line 600 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = pfaction_to_num(yystack.l_mark[0].s); }
-break;
-case 142:
-#line 603 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = BPF_JGT; }
-break;
-case 143:
-#line 604 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = BPF_JGE; }
-break;
-case 144:
-#line 605 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = BPF_JEQ; }
-break;
-case 145:
-#line 607 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = BPF_JGT; }
-break;
case 146:
-#line 608 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = BPF_JGE; }
+#line 655 "grammar.y"
+ { yyval.i = yystack.l_mark[0].i; }
break;
case 147:
-#line 609 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = BPF_JEQ; }
+#line 656 "grammar.y"
+ { yyval.i = pfreason_to_num(cstate, yystack.l_mark[0].s); }
break;
case 148:
-#line 611 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_loadi(yystack.l_mark[0].i); }
+#line 659 "grammar.y"
+ { yyval.i = pfaction_to_num(cstate, yystack.l_mark[0].s); }
+break;
+case 149:
+#line 662 "grammar.y"
+ { yyval.i = BPF_JGT; }
break;
case 150:
-#line 614 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_load(yystack.l_mark[-3].i, yystack.l_mark[-1].a, 1); }
+#line 663 "grammar.y"
+ { yyval.i = BPF_JGE; }
break;
case 151:
-#line 615 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_load(yystack.l_mark[-5].i, yystack.l_mark[-3].a, yystack.l_mark[-1].i); }
+#line 664 "grammar.y"
+ { yyval.i = BPF_JEQ; }
break;
case 152:
-#line 616 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_arth(BPF_ADD, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
+#line 666 "grammar.y"
+ { yyval.i = BPF_JGT; }
break;
case 153:
-#line 617 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_arth(BPF_SUB, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
+#line 667 "grammar.y"
+ { yyval.i = BPF_JGE; }
break;
case 154:
-#line 618 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_arth(BPF_MUL, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
+#line 668 "grammar.y"
+ { yyval.i = BPF_JEQ; }
break;
case 155:
-#line 619 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_arth(BPF_DIV, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
-break;
-case 156:
-#line 620 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_arth(BPF_AND, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
+#line 670 "grammar.y"
+ { yyval.a = gen_loadi(cstate, yystack.l_mark[0].i); }
break;
case 157:
-#line 621 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_arth(BPF_OR, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
+#line 673 "grammar.y"
+ { yyval.a = gen_load(cstate, yystack.l_mark[-3].i, yystack.l_mark[-1].a, 1); }
break;
case 158:
-#line 622 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_arth(BPF_LSH, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
+#line 674 "grammar.y"
+ { yyval.a = gen_load(cstate, yystack.l_mark[-5].i, yystack.l_mark[-3].a, yystack.l_mark[-1].i); }
break;
case 159:
-#line 623 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_arth(BPF_RSH, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
+#line 675 "grammar.y"
+ { yyval.a = gen_arth(cstate, BPF_ADD, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
break;
case 160:
-#line 624 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_neg(yystack.l_mark[0].a); }
+#line 676 "grammar.y"
+ { yyval.a = gen_arth(cstate, BPF_SUB, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
break;
case 161:
-#line 625 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = yystack.l_mark[-1].a; }
+#line 677 "grammar.y"
+ { yyval.a = gen_arth(cstate, BPF_MUL, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
break;
case 162:
-#line 626 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.a = gen_loadlen(); }
+#line 678 "grammar.y"
+ { yyval.a = gen_arth(cstate, BPF_DIV, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
break;
case 163:
-#line 628 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = '&'; }
+#line 679 "grammar.y"
+ { yyval.a = gen_arth(cstate, BPF_MOD, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
break;
case 164:
-#line 629 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = '|'; }
+#line 680 "grammar.y"
+ { yyval.a = gen_arth(cstate, BPF_AND, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
break;
case 165:
-#line 630 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = '<'; }
+#line 681 "grammar.y"
+ { yyval.a = gen_arth(cstate, BPF_OR, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
break;
case 166:
-#line 631 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = '>'; }
+#line 682 "grammar.y"
+ { yyval.a = gen_arth(cstate, BPF_XOR, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
break;
case 167:
-#line 632 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = '='; }
+#line 683 "grammar.y"
+ { yyval.a = gen_arth(cstate, BPF_LSH, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
+break;
+case 168:
+#line 684 "grammar.y"
+ { yyval.a = gen_arth(cstate, BPF_RSH, yystack.l_mark[-2].a, yystack.l_mark[0].a); }
break;
case 169:
-#line 635 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = yystack.l_mark[-1].i; }
+#line 685 "grammar.y"
+ { yyval.a = gen_neg(cstate, yystack.l_mark[0].a); }
break;
case 170:
-#line 637 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_LANE; }
+#line 686 "grammar.y"
+ { yyval.a = yystack.l_mark[-1].a; }
break;
case 171:
-#line 638 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_LLC; }
+#line 687 "grammar.y"
+ { yyval.a = gen_loadlen(cstate); }
break;
case 172:
-#line 639 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_METAC; }
+#line 689 "grammar.y"
+ { yyval.i = '&'; }
break;
case 173:
-#line 640 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_BCC; }
+#line 690 "grammar.y"
+ { yyval.i = '|'; }
break;
case 174:
-#line 641 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_OAMF4EC; }
+#line 691 "grammar.y"
+ { yyval.i = '<'; }
break;
case 175:
-#line 642 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_OAMF4SC; }
+#line 692 "grammar.y"
+ { yyval.i = '>'; }
break;
case 176:
-#line 643 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_SC; }
-break;
-case 177:
-#line 644 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_ILMIC; }
+#line 693 "grammar.y"
+ { yyval.i = '='; }
break;
case 178:
-#line 646 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_OAM; }
+#line 696 "grammar.y"
+ { yyval.i = yystack.l_mark[-1].i; }
break;
case 179:
-#line 647 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_OAMF4; }
+#line 698 "grammar.y"
+ { yyval.i = A_LANE; }
break;
case 180:
-#line 648 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_CONNECTMSG; }
+#line 699 "grammar.y"
+ { yyval.i = A_METAC; }
break;
case 181:
-#line 649 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.i = A_METACONNECT; }
+#line 700 "grammar.y"
+ { yyval.i = A_BCC; }
break;
case 182:
-#line 652 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.atmfieldtype = A_VPI; }
+#line 701 "grammar.y"
+ { yyval.i = A_OAMF4EC; }
break;
case 183:
-#line 653 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.atmfieldtype = A_VCI; }
+#line 702 "grammar.y"
+ { yyval.i = A_OAMF4SC; }
+break;
+case 184:
+#line 703 "grammar.y"
+ { yyval.i = A_SC; }
break;
case 185:
-#line 656 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_atmfield_code(yystack.l_mark[-2].blk.atmfieldtype, (bpf_int32)yystack.l_mark[0].i, (bpf_u_int32)yystack.l_mark[-1].i, 0); }
+#line 704 "grammar.y"
+ { yyval.i = A_ILMIC; }
break;
case 186:
-#line 657 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_atmfield_code(yystack.l_mark[-2].blk.atmfieldtype, (bpf_int32)yystack.l_mark[0].i, (bpf_u_int32)yystack.l_mark[-1].i, 1); }
+#line 706 "grammar.y"
+ { yyval.i = A_OAM; }
break;
case 187:
-#line 658 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = yystack.l_mark[-1].blk.b; yyval.blk.q = qerr; }
+#line 707 "grammar.y"
+ { yyval.i = A_OAMF4; }
break;
case 188:
-#line 660 "../../freebsd/contrib/libpcap/grammar.y"
+#line 708 "grammar.y"
+ { yyval.i = A_CONNECTMSG; }
+break;
+case 189:
+#line 709 "grammar.y"
+ { yyval.i = A_METACONNECT; }
+break;
+case 190:
+#line 712 "grammar.y"
+ { yyval.blk.atmfieldtype = A_VPI; }
+break;
+case 191:
+#line 713 "grammar.y"
+ { yyval.blk.atmfieldtype = A_VCI; }
+break;
+case 193:
+#line 716 "grammar.y"
+ { yyval.blk.b = gen_atmfield_code(cstate, yystack.l_mark[-2].blk.atmfieldtype, (bpf_int32)yystack.l_mark[0].i, (bpf_u_int32)yystack.l_mark[-1].i, 0); }
+break;
+case 194:
+#line 717 "grammar.y"
+ { yyval.blk.b = gen_atmfield_code(cstate, yystack.l_mark[-2].blk.atmfieldtype, (bpf_int32)yystack.l_mark[0].i, (bpf_u_int32)yystack.l_mark[-1].i, 1); }
+break;
+case 195:
+#line 718 "grammar.y"
+ { yyval.blk.b = yystack.l_mark[-1].blk.b; yyval.blk.q = qerr; }
+break;
+case 196:
+#line 720 "grammar.y"
{
yyval.blk.atmfieldtype = yystack.l_mark[-1].blk.atmfieldtype;
if (yyval.blk.atmfieldtype == A_VPI ||
yyval.blk.atmfieldtype == A_VCI)
- yyval.blk.b = gen_atmfield_code(yyval.blk.atmfieldtype, (bpf_int32) yystack.l_mark[0].i, BPF_JEQ, 0);
+ yyval.blk.b = gen_atmfield_code(cstate, yyval.blk.atmfieldtype, (bpf_int32) yystack.l_mark[0].i, BPF_JEQ, 0);
}
break;
-case 190:
-#line 668 "../../freebsd/contrib/libpcap/grammar.y"
+case 198:
+#line 728 "grammar.y"
{ gen_or(yystack.l_mark[-2].blk.b, yystack.l_mark[0].blk.b); yyval.blk = yystack.l_mark[0].blk; }
break;
-case 191:
-#line 671 "../../freebsd/contrib/libpcap/grammar.y"
+case 199:
+#line 731 "grammar.y"
{ yyval.i = M_FISU; }
break;
-case 192:
-#line 672 "../../freebsd/contrib/libpcap/grammar.y"
+case 200:
+#line 732 "grammar.y"
{ yyval.i = M_LSSU; }
break;
-case 193:
-#line 673 "../../freebsd/contrib/libpcap/grammar.y"
+case 201:
+#line 733 "grammar.y"
{ yyval.i = M_MSU; }
break;
-case 194:
-#line 676 "../../freebsd/contrib/libpcap/grammar.y"
+case 202:
+#line 734 "grammar.y"
+ { yyval.i = MH_FISU; }
+break;
+case 203:
+#line 735 "grammar.y"
+ { yyval.i = MH_LSSU; }
+break;
+case 204:
+#line 736 "grammar.y"
+ { yyval.i = MH_MSU; }
+break;
+case 205:
+#line 739 "grammar.y"
{ yyval.blk.mtp3fieldtype = M_SIO; }
break;
-case 195:
-#line 677 "../../freebsd/contrib/libpcap/grammar.y"
+case 206:
+#line 740 "grammar.y"
{ yyval.blk.mtp3fieldtype = M_OPC; }
break;
-case 196:
-#line 678 "../../freebsd/contrib/libpcap/grammar.y"
+case 207:
+#line 741 "grammar.y"
{ yyval.blk.mtp3fieldtype = M_DPC; }
break;
-case 197:
-#line 679 "../../freebsd/contrib/libpcap/grammar.y"
+case 208:
+#line 742 "grammar.y"
{ yyval.blk.mtp3fieldtype = M_SLS; }
break;
-case 199:
-#line 682 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_mtp3field_code(yystack.l_mark[-2].blk.mtp3fieldtype, (u_int)yystack.l_mark[0].i, (u_int)yystack.l_mark[-1].i, 0); }
+case 209:
+#line 743 "grammar.y"
+ { yyval.blk.mtp3fieldtype = MH_SIO; }
break;
-case 200:
-#line 683 "../../freebsd/contrib/libpcap/grammar.y"
- { yyval.blk.b = gen_mtp3field_code(yystack.l_mark[-2].blk.mtp3fieldtype, (u_int)yystack.l_mark[0].i, (u_int)yystack.l_mark[-1].i, 1); }
+case 210:
+#line 744 "grammar.y"
+ { yyval.blk.mtp3fieldtype = MH_OPC; }
break;
-case 201:
-#line 684 "../../freebsd/contrib/libpcap/grammar.y"
+case 211:
+#line 745 "grammar.y"
+ { yyval.blk.mtp3fieldtype = MH_DPC; }
+break;
+case 212:
+#line 746 "grammar.y"
+ { yyval.blk.mtp3fieldtype = MH_SLS; }
+break;
+case 214:
+#line 749 "grammar.y"
+ { yyval.blk.b = gen_mtp3field_code(cstate, yystack.l_mark[-2].blk.mtp3fieldtype, (u_int)yystack.l_mark[0].i, (u_int)yystack.l_mark[-1].i, 0); }
+break;
+case 215:
+#line 750 "grammar.y"
+ { yyval.blk.b = gen_mtp3field_code(cstate, yystack.l_mark[-2].blk.mtp3fieldtype, (u_int)yystack.l_mark[0].i, (u_int)yystack.l_mark[-1].i, 1); }
+break;
+case 216:
+#line 751 "grammar.y"
{ yyval.blk.b = yystack.l_mark[-1].blk.b; yyval.blk.q = qerr; }
break;
-case 202:
-#line 686 "../../freebsd/contrib/libpcap/grammar.y"
+case 217:
+#line 753 "grammar.y"
{
yyval.blk.mtp3fieldtype = yystack.l_mark[-1].blk.mtp3fieldtype;
if (yyval.blk.mtp3fieldtype == M_SIO ||
yyval.blk.mtp3fieldtype == M_OPC ||
yyval.blk.mtp3fieldtype == M_DPC ||
- yyval.blk.mtp3fieldtype == M_SLS )
- yyval.blk.b = gen_mtp3field_code(yyval.blk.mtp3fieldtype, (u_int) yystack.l_mark[0].i, BPF_JEQ, 0);
+ yyval.blk.mtp3fieldtype == M_SLS ||
+ yyval.blk.mtp3fieldtype == MH_SIO ||
+ yyval.blk.mtp3fieldtype == MH_OPC ||
+ yyval.blk.mtp3fieldtype == MH_DPC ||
+ yyval.blk.mtp3fieldtype == MH_SLS)
+ yyval.blk.b = gen_mtp3field_code(cstate, yyval.blk.mtp3fieldtype, (u_int) yystack.l_mark[0].i, BPF_JEQ, 0);
}
break;
-case 204:
-#line 696 "../../freebsd/contrib/libpcap/grammar.y"
+case 219:
+#line 767 "grammar.y"
{ gen_or(yystack.l_mark[-2].blk.b, yystack.l_mark[0].blk.b); yyval.blk = yystack.l_mark[0].blk; }
break;
-#line 2223 "pcap.tab.c"
+#line 2387 "grammar.c"
}
yystack.s_mark -= yym;
yystate = *yystack.s_mark;
@@ -2237,11 +2401,12 @@ break;
*++yystack.l_mark = yyval;
if (yychar < 0)
{
- if ((yychar = YYLEX) < 0) yychar = YYEOF;
+ yychar = YYLEX;
+ if (yychar < 0) yychar = YYEOF;
#if YYDEBUG
if (yydebug)
{
- yys = yyname[YYTRANSLATE(yychar)];
+ if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
printf("%sdebug: state %d, reading %d (%s)\n",
YYPREFIX, YYFINAL, yychar, yys);
}
@@ -2250,8 +2415,8 @@ break;
if (yychar == YYEOF) goto yyaccept;
goto yyloop;
}
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
+ if (((yyn = yygindex[yym]) != 0) && (yyn += yystate) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yystate)
yystate = yytable[yyn];
else
yystate = yydgoto[yym];
@@ -2260,10 +2425,7 @@ break;
printf("%sdebug: after reduction, shifting from state %d \
to state %d\n", YYPREFIX, *yystack.s_mark, yystate);
#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM)
- {
- goto yyoverflow;
- }
+ if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
*++yystack.s_mark = (YYINT) yystate;
*++yystack.l_mark = yyval;
goto yyloop;