328 lines
6.4 KiB
C
328 lines
6.4 KiB
C
/* A Bison parser, made by GNU Bison 3.5.1. */
|
|
|
|
/* Bison interface for Yacc-like parsers in C
|
|
|
|
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
|
|
Inc.
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
/* As a special exception, you may create a larger work that contains
|
|
part or all of the Bison parser skeleton and distribute that work
|
|
under terms of your choice, so long as that work isn't itself a
|
|
parser generator using the skeleton or a modified version thereof
|
|
as a parser skeleton. Alternatively, if you modify or redistribute
|
|
the parser skeleton itself, you may (at your option) remove this
|
|
special exception, which will cause the skeleton and the resulting
|
|
Bison output files to be licensed under the GNU General Public
|
|
License without this special exception.
|
|
|
|
This special exception was added by the Free Software Foundation in
|
|
version 2.2 of Bison. */
|
|
|
|
/* Undocumented macros, especially those whose name start with YY_,
|
|
are private implementation details. Do not rely on them. */
|
|
|
|
#ifndef YY_PCAP_GRAMMAR_H_INCLUDED
|
|
# define YY_PCAP_GRAMMAR_H_INCLUDED
|
|
/* Debug traces. */
|
|
#ifndef YYDEBUG
|
|
# define YYDEBUG 0
|
|
#endif
|
|
#if YYDEBUG
|
|
extern int pcap_debug;
|
|
#endif
|
|
|
|
/* Token type. */
|
|
#ifndef YYTOKENTYPE
|
|
# define YYTOKENTYPE
|
|
enum yytokentype
|
|
{
|
|
DST = 258,
|
|
SRC = 259,
|
|
HOST = 260,
|
|
GATEWAY = 261,
|
|
NET = 262,
|
|
NETMASK = 263,
|
|
PORT = 264,
|
|
PORTRANGE = 265,
|
|
LESS = 266,
|
|
GREATER = 267,
|
|
PROTO = 268,
|
|
PROTOCHAIN = 269,
|
|
CBYTE = 270,
|
|
ARP = 271,
|
|
RARP = 272,
|
|
IP = 273,
|
|
SCTP = 274,
|
|
TCP = 275,
|
|
UDP = 276,
|
|
ICMP = 277,
|
|
IGMP = 278,
|
|
IGRP = 279,
|
|
PIM = 280,
|
|
VRRP = 281,
|
|
CARP = 282,
|
|
ATALK = 283,
|
|
AARP = 284,
|
|
DECNET = 285,
|
|
LAT = 286,
|
|
SCA = 287,
|
|
MOPRC = 288,
|
|
MOPDL = 289,
|
|
TK_BROADCAST = 290,
|
|
TK_MULTICAST = 291,
|
|
NUM = 292,
|
|
INBOUND = 293,
|
|
OUTBOUND = 294,
|
|
PF_IFNAME = 295,
|
|
PF_RSET = 296,
|
|
PF_RNR = 297,
|
|
PF_SRNR = 298,
|
|
PF_REASON = 299,
|
|
PF_ACTION = 300,
|
|
TYPE = 301,
|
|
SUBTYPE = 302,
|
|
DIR = 303,
|
|
ADDR1 = 304,
|
|
ADDR2 = 305,
|
|
ADDR3 = 306,
|
|
ADDR4 = 307,
|
|
RA = 308,
|
|
TA = 309,
|
|
LINK = 310,
|
|
GEQ = 311,
|
|
LEQ = 312,
|
|
NEQ = 313,
|
|
ID = 314,
|
|
EID = 315,
|
|
HID = 316,
|
|
HID6 = 317,
|
|
AID = 318,
|
|
LSH = 319,
|
|
RSH = 320,
|
|
LEN = 321,
|
|
IPV6 = 322,
|
|
ICMPV6 = 323,
|
|
AH = 324,
|
|
ESP = 325,
|
|
VLAN = 326,
|
|
MPLS = 327,
|
|
PPPOED = 328,
|
|
PPPOES = 329,
|
|
GENEVE = 330,
|
|
ISO = 331,
|
|
ESIS = 332,
|
|
CLNP = 333,
|
|
ISIS = 334,
|
|
L1 = 335,
|
|
L2 = 336,
|
|
IIH = 337,
|
|
LSP = 338,
|
|
SNP = 339,
|
|
CSNP = 340,
|
|
PSNP = 341,
|
|
STP = 342,
|
|
IPX = 343,
|
|
NETBEUI = 344,
|
|
LANE = 345,
|
|
LLC = 346,
|
|
METAC = 347,
|
|
BCC = 348,
|
|
SC = 349,
|
|
ILMIC = 350,
|
|
OAMF4EC = 351,
|
|
OAMF4SC = 352,
|
|
OAM = 353,
|
|
OAMF4 = 354,
|
|
CONNECTMSG = 355,
|
|
METACONNECT = 356,
|
|
VPI = 357,
|
|
VCI = 358,
|
|
RADIO = 359,
|
|
FISU = 360,
|
|
LSSU = 361,
|
|
MSU = 362,
|
|
HFISU = 363,
|
|
HLSSU = 364,
|
|
HMSU = 365,
|
|
SIO = 366,
|
|
OPC = 367,
|
|
DPC = 368,
|
|
SLS = 369,
|
|
HSIO = 370,
|
|
HOPC = 371,
|
|
HDPC = 372,
|
|
HSLS = 373,
|
|
LEX_ERROR = 374,
|
|
OR = 375,
|
|
AND = 376,
|
|
UMINUS = 377
|
|
};
|
|
#endif
|
|
/* Tokens. */
|
|
#define DST 258
|
|
#define SRC 259
|
|
#define HOST 260
|
|
#define GATEWAY 261
|
|
#define NET 262
|
|
#define NETMASK 263
|
|
#define PORT 264
|
|
#define PORTRANGE 265
|
|
#define LESS 266
|
|
#define GREATER 267
|
|
#define PROTO 268
|
|
#define PROTOCHAIN 269
|
|
#define CBYTE 270
|
|
#define ARP 271
|
|
#define RARP 272
|
|
#define IP 273
|
|
#define SCTP 274
|
|
#define TCP 275
|
|
#define UDP 276
|
|
#define ICMP 277
|
|
#define IGMP 278
|
|
#define IGRP 279
|
|
#define PIM 280
|
|
#define VRRP 281
|
|
#define CARP 282
|
|
#define ATALK 283
|
|
#define AARP 284
|
|
#define DECNET 285
|
|
#define LAT 286
|
|
#define SCA 287
|
|
#define MOPRC 288
|
|
#define MOPDL 289
|
|
#define TK_BROADCAST 290
|
|
#define TK_MULTICAST 291
|
|
#define NUM 292
|
|
#define INBOUND 293
|
|
#define OUTBOUND 294
|
|
#define PF_IFNAME 295
|
|
#define PF_RSET 296
|
|
#define PF_RNR 297
|
|
#define PF_SRNR 298
|
|
#define PF_REASON 299
|
|
#define PF_ACTION 300
|
|
#define TYPE 301
|
|
#define SUBTYPE 302
|
|
#define DIR 303
|
|
#define ADDR1 304
|
|
#define ADDR2 305
|
|
#define ADDR3 306
|
|
#define ADDR4 307
|
|
#define RA 308
|
|
#define TA 309
|
|
#define LINK 310
|
|
#define GEQ 311
|
|
#define LEQ 312
|
|
#define NEQ 313
|
|
#define ID 314
|
|
#define EID 315
|
|
#define HID 316
|
|
#define HID6 317
|
|
#define AID 318
|
|
#define LSH 319
|
|
#define RSH 320
|
|
#define LEN 321
|
|
#define IPV6 322
|
|
#define ICMPV6 323
|
|
#define AH 324
|
|
#define ESP 325
|
|
#define VLAN 326
|
|
#define MPLS 327
|
|
#define PPPOED 328
|
|
#define PPPOES 329
|
|
#define GENEVE 330
|
|
#define ISO 331
|
|
#define ESIS 332
|
|
#define CLNP 333
|
|
#define ISIS 334
|
|
#define L1 335
|
|
#define L2 336
|
|
#define IIH 337
|
|
#define LSP 338
|
|
#define SNP 339
|
|
#define CSNP 340
|
|
#define PSNP 341
|
|
#define STP 342
|
|
#define IPX 343
|
|
#define NETBEUI 344
|
|
#define LANE 345
|
|
#define LLC 346
|
|
#define METAC 347
|
|
#define BCC 348
|
|
#define SC 349
|
|
#define ILMIC 350
|
|
#define OAMF4EC 351
|
|
#define OAMF4SC 352
|
|
#define OAM 353
|
|
#define OAMF4 354
|
|
#define CONNECTMSG 355
|
|
#define METACONNECT 356
|
|
#define VPI 357
|
|
#define VCI 358
|
|
#define RADIO 359
|
|
#define FISU 360
|
|
#define LSSU 361
|
|
#define MSU 362
|
|
#define HFISU 363
|
|
#define HLSSU 364
|
|
#define HMSU 365
|
|
#define SIO 366
|
|
#define OPC 367
|
|
#define DPC 368
|
|
#define SLS 369
|
|
#define HSIO 370
|
|
#define HOPC 371
|
|
#define HDPC 372
|
|
#define HSLS 373
|
|
#define LEX_ERROR 374
|
|
#define OR 375
|
|
#define AND 376
|
|
#define UMINUS 377
|
|
|
|
/* Value type. */
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
union YYSTYPE
|
|
{
|
|
#line 291 "grammar.y"
|
|
|
|
int i;
|
|
bpf_u_int32 h;
|
|
char *s;
|
|
struct stmt *stmt;
|
|
struct arth *a;
|
|
struct {
|
|
struct qual q;
|
|
int atmfieldtype;
|
|
int mtp3fieldtype;
|
|
struct block *b;
|
|
} blk;
|
|
struct block *rblk;
|
|
|
|
#line 316 "grammar.h"
|
|
|
|
};
|
|
typedef union YYSTYPE YYSTYPE;
|
|
# define YYSTYPE_IS_TRIVIAL 1
|
|
# define YYSTYPE_IS_DECLARED 1
|
|
#endif
|
|
|
|
|
|
|
|
int pcap_parse (void *yyscanner, compiler_state_t *cstate);
|
|
|
|
#endif /* !YY_PCAP_GRAMMAR_H_INCLUDED */
|