From 12f782295090508f67b4686897fce07c09cf7825 Mon Sep 17 00:00:00 2001 From: dmiller Date: Sun, 22 Jul 2018 23:08:31 +0000 Subject: [PATCH] Add libpcap/grammar.h to avoid build problems. Fixes #1275 --- libpcap/Makefile.in | 7 - libpcap/grammar.h | 323 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 323 insertions(+), 7 deletions(-) create mode 100644 libpcap/grammar.h diff --git a/libpcap/Makefile.in b/libpcap/Makefile.in index 04c4608a0..81d962225 100644 --- a/libpcap/Makefile.in +++ b/libpcap/Makefile.in @@ -454,13 +454,6 @@ scanner.o: scanner.c grammar.h pcap.o: pcap_version.h -grammar.h: grammar.c -## Recover from the removal of $@ - @if test -f $@; then :; else \ - rm -f grammar.c; \ - $(MAKE) $(MAKEFLAGS) grammar.c; \ - fi - grammar.o: grammar.c $(CC) $(FULL_CFLAGS) -c grammar.c diff --git a/libpcap/grammar.h b/libpcap/grammar.h new file mode 100644 index 000000000..e81a873ca --- /dev/null +++ b/libpcap/grammar.h @@ -0,0 +1,323 @@ +/* A Bison parser, made by GNU Bison 3.0.4. */ + +/* Bison interface for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2015 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 . */ + +/* 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. */ + +#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, + OR = 374, + AND = 375, + UMINUS = 376 + }; +#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 OR 374 +#define AND 375 +#define UMINUS 376 + +/* Value type. */ +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + +union YYSTYPE +{ +#line 271 "grammar.y" /* yacc.c:1909 */ + + int i; + bpf_u_int32 h; + u_char *e; + char *s; + struct stmt *stmt; + struct arth *a; + struct { + struct qual q; + int atmfieldtype; + int mtp3fieldtype; + struct block *b; + } blk; + struct block *rblk; + +#line 312 "grammar.h" /* yacc.c:1909 */ +}; + +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 */