xref: /aosp_15_r20/external/libpcap/grammar.h (revision 8b26181f966a6af5cf6981a6f474313de533bb28)
1*8b26181fSAndroid Build Coastguard Worker /* A Bison parser, made by GNU Bison 3.8.2.  */
2*8b26181fSAndroid Build Coastguard Worker 
3*8b26181fSAndroid Build Coastguard Worker /* Bison interface for Yacc-like parsers in C
4*8b26181fSAndroid Build Coastguard Worker 
5*8b26181fSAndroid Build Coastguard Worker    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6*8b26181fSAndroid Build Coastguard Worker    Inc.
7*8b26181fSAndroid Build Coastguard Worker 
8*8b26181fSAndroid Build Coastguard Worker    This program is free software: you can redistribute it and/or modify
9*8b26181fSAndroid Build Coastguard Worker    it under the terms of the GNU General Public License as published by
10*8b26181fSAndroid Build Coastguard Worker    the Free Software Foundation, either version 3 of the License, or
11*8b26181fSAndroid Build Coastguard Worker    (at your option) any later version.
12*8b26181fSAndroid Build Coastguard Worker 
13*8b26181fSAndroid Build Coastguard Worker    This program is distributed in the hope that it will be useful,
14*8b26181fSAndroid Build Coastguard Worker    but WITHOUT ANY WARRANTY; without even the implied warranty of
15*8b26181fSAndroid Build Coastguard Worker    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16*8b26181fSAndroid Build Coastguard Worker    GNU General Public License for more details.
17*8b26181fSAndroid Build Coastguard Worker 
18*8b26181fSAndroid Build Coastguard Worker    You should have received a copy of the GNU General Public License
19*8b26181fSAndroid Build Coastguard Worker    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
20*8b26181fSAndroid Build Coastguard Worker 
21*8b26181fSAndroid Build Coastguard Worker /* As a special exception, you may create a larger work that contains
22*8b26181fSAndroid Build Coastguard Worker    part or all of the Bison parser skeleton and distribute that work
23*8b26181fSAndroid Build Coastguard Worker    under terms of your choice, so long as that work isn't itself a
24*8b26181fSAndroid Build Coastguard Worker    parser generator using the skeleton or a modified version thereof
25*8b26181fSAndroid Build Coastguard Worker    as a parser skeleton.  Alternatively, if you modify or redistribute
26*8b26181fSAndroid Build Coastguard Worker    the parser skeleton itself, you may (at your option) remove this
27*8b26181fSAndroid Build Coastguard Worker    special exception, which will cause the skeleton and the resulting
28*8b26181fSAndroid Build Coastguard Worker    Bison output files to be licensed under the GNU General Public
29*8b26181fSAndroid Build Coastguard Worker    License without this special exception.
30*8b26181fSAndroid Build Coastguard Worker 
31*8b26181fSAndroid Build Coastguard Worker    This special exception was added by the Free Software Foundation in
32*8b26181fSAndroid Build Coastguard Worker    version 2.2 of Bison.  */
33*8b26181fSAndroid Build Coastguard Worker 
34*8b26181fSAndroid Build Coastguard Worker /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35*8b26181fSAndroid Build Coastguard Worker    especially those whose name start with YY_ or yy_.  They are
36*8b26181fSAndroid Build Coastguard Worker    private implementation details that can be changed or removed.  */
37*8b26181fSAndroid Build Coastguard Worker 
38*8b26181fSAndroid Build Coastguard Worker #ifndef YY_PCAP_GRAMMAR_H_INCLUDED
39*8b26181fSAndroid Build Coastguard Worker # define YY_PCAP_GRAMMAR_H_INCLUDED
40*8b26181fSAndroid Build Coastguard Worker /* Debug traces.  */
41*8b26181fSAndroid Build Coastguard Worker #ifndef YYDEBUG
42*8b26181fSAndroid Build Coastguard Worker # define YYDEBUG 0
43*8b26181fSAndroid Build Coastguard Worker #endif
44*8b26181fSAndroid Build Coastguard Worker #if YYDEBUG
45*8b26181fSAndroid Build Coastguard Worker extern int pcap_debug;
46*8b26181fSAndroid Build Coastguard Worker #endif
47*8b26181fSAndroid Build Coastguard Worker 
48*8b26181fSAndroid Build Coastguard Worker /* Token kinds.  */
49*8b26181fSAndroid Build Coastguard Worker #ifndef YYTOKENTYPE
50*8b26181fSAndroid Build Coastguard Worker # define YYTOKENTYPE
51*8b26181fSAndroid Build Coastguard Worker   enum yytokentype
52*8b26181fSAndroid Build Coastguard Worker   {
53*8b26181fSAndroid Build Coastguard Worker     YYEMPTY = -2,
54*8b26181fSAndroid Build Coastguard Worker     YYEOF = 0,                     /* "end of file"  */
55*8b26181fSAndroid Build Coastguard Worker     YYerror = 256,                 /* error  */
56*8b26181fSAndroid Build Coastguard Worker     YYUNDEF = 257,                 /* "invalid token"  */
57*8b26181fSAndroid Build Coastguard Worker     DST = 258,                     /* DST  */
58*8b26181fSAndroid Build Coastguard Worker     SRC = 259,                     /* SRC  */
59*8b26181fSAndroid Build Coastguard Worker     HOST = 260,                    /* HOST  */
60*8b26181fSAndroid Build Coastguard Worker     GATEWAY = 261,                 /* GATEWAY  */
61*8b26181fSAndroid Build Coastguard Worker     NET = 262,                     /* NET  */
62*8b26181fSAndroid Build Coastguard Worker     NETMASK = 263,                 /* NETMASK  */
63*8b26181fSAndroid Build Coastguard Worker     PORT = 264,                    /* PORT  */
64*8b26181fSAndroid Build Coastguard Worker     PORTRANGE = 265,               /* PORTRANGE  */
65*8b26181fSAndroid Build Coastguard Worker     LESS = 266,                    /* LESS  */
66*8b26181fSAndroid Build Coastguard Worker     GREATER = 267,                 /* GREATER  */
67*8b26181fSAndroid Build Coastguard Worker     PROTO = 268,                   /* PROTO  */
68*8b26181fSAndroid Build Coastguard Worker     PROTOCHAIN = 269,              /* PROTOCHAIN  */
69*8b26181fSAndroid Build Coastguard Worker     CBYTE = 270,                   /* CBYTE  */
70*8b26181fSAndroid Build Coastguard Worker     ARP = 271,                     /* ARP  */
71*8b26181fSAndroid Build Coastguard Worker     RARP = 272,                    /* RARP  */
72*8b26181fSAndroid Build Coastguard Worker     IP = 273,                      /* IP  */
73*8b26181fSAndroid Build Coastguard Worker     SCTP = 274,                    /* SCTP  */
74*8b26181fSAndroid Build Coastguard Worker     TCP = 275,                     /* TCP  */
75*8b26181fSAndroid Build Coastguard Worker     UDP = 276,                     /* UDP  */
76*8b26181fSAndroid Build Coastguard Worker     ICMP = 277,                    /* ICMP  */
77*8b26181fSAndroid Build Coastguard Worker     IGMP = 278,                    /* IGMP  */
78*8b26181fSAndroid Build Coastguard Worker     IGRP = 279,                    /* IGRP  */
79*8b26181fSAndroid Build Coastguard Worker     PIM = 280,                     /* PIM  */
80*8b26181fSAndroid Build Coastguard Worker     VRRP = 281,                    /* VRRP  */
81*8b26181fSAndroid Build Coastguard Worker     CARP = 282,                    /* CARP  */
82*8b26181fSAndroid Build Coastguard Worker     ATALK = 283,                   /* ATALK  */
83*8b26181fSAndroid Build Coastguard Worker     AARP = 284,                    /* AARP  */
84*8b26181fSAndroid Build Coastguard Worker     DECNET = 285,                  /* DECNET  */
85*8b26181fSAndroid Build Coastguard Worker     LAT = 286,                     /* LAT  */
86*8b26181fSAndroid Build Coastguard Worker     SCA = 287,                     /* SCA  */
87*8b26181fSAndroid Build Coastguard Worker     MOPRC = 288,                   /* MOPRC  */
88*8b26181fSAndroid Build Coastguard Worker     MOPDL = 289,                   /* MOPDL  */
89*8b26181fSAndroid Build Coastguard Worker     TK_BROADCAST = 290,            /* TK_BROADCAST  */
90*8b26181fSAndroid Build Coastguard Worker     TK_MULTICAST = 291,            /* TK_MULTICAST  */
91*8b26181fSAndroid Build Coastguard Worker     NUM = 292,                     /* NUM  */
92*8b26181fSAndroid Build Coastguard Worker     INBOUND = 293,                 /* INBOUND  */
93*8b26181fSAndroid Build Coastguard Worker     OUTBOUND = 294,                /* OUTBOUND  */
94*8b26181fSAndroid Build Coastguard Worker     IFINDEX = 295,                 /* IFINDEX  */
95*8b26181fSAndroid Build Coastguard Worker     PF_IFNAME = 296,               /* PF_IFNAME  */
96*8b26181fSAndroid Build Coastguard Worker     PF_RSET = 297,                 /* PF_RSET  */
97*8b26181fSAndroid Build Coastguard Worker     PF_RNR = 298,                  /* PF_RNR  */
98*8b26181fSAndroid Build Coastguard Worker     PF_SRNR = 299,                 /* PF_SRNR  */
99*8b26181fSAndroid Build Coastguard Worker     PF_REASON = 300,               /* PF_REASON  */
100*8b26181fSAndroid Build Coastguard Worker     PF_ACTION = 301,               /* PF_ACTION  */
101*8b26181fSAndroid Build Coastguard Worker     TYPE = 302,                    /* TYPE  */
102*8b26181fSAndroid Build Coastguard Worker     SUBTYPE = 303,                 /* SUBTYPE  */
103*8b26181fSAndroid Build Coastguard Worker     DIR = 304,                     /* DIR  */
104*8b26181fSAndroid Build Coastguard Worker     ADDR1 = 305,                   /* ADDR1  */
105*8b26181fSAndroid Build Coastguard Worker     ADDR2 = 306,                   /* ADDR2  */
106*8b26181fSAndroid Build Coastguard Worker     ADDR3 = 307,                   /* ADDR3  */
107*8b26181fSAndroid Build Coastguard Worker     ADDR4 = 308,                   /* ADDR4  */
108*8b26181fSAndroid Build Coastguard Worker     RA = 309,                      /* RA  */
109*8b26181fSAndroid Build Coastguard Worker     TA = 310,                      /* TA  */
110*8b26181fSAndroid Build Coastguard Worker     LINK = 311,                    /* LINK  */
111*8b26181fSAndroid Build Coastguard Worker     GEQ = 312,                     /* GEQ  */
112*8b26181fSAndroid Build Coastguard Worker     LEQ = 313,                     /* LEQ  */
113*8b26181fSAndroid Build Coastguard Worker     NEQ = 314,                     /* NEQ  */
114*8b26181fSAndroid Build Coastguard Worker     ID = 315,                      /* ID  */
115*8b26181fSAndroid Build Coastguard Worker     EID = 316,                     /* EID  */
116*8b26181fSAndroid Build Coastguard Worker     HID = 317,                     /* HID  */
117*8b26181fSAndroid Build Coastguard Worker     HID6 = 318,                    /* HID6  */
118*8b26181fSAndroid Build Coastguard Worker     AID = 319,                     /* AID  */
119*8b26181fSAndroid Build Coastguard Worker     LSH = 320,                     /* LSH  */
120*8b26181fSAndroid Build Coastguard Worker     RSH = 321,                     /* RSH  */
121*8b26181fSAndroid Build Coastguard Worker     LEN = 322,                     /* LEN  */
122*8b26181fSAndroid Build Coastguard Worker     IPV6 = 323,                    /* IPV6  */
123*8b26181fSAndroid Build Coastguard Worker     ICMPV6 = 324,                  /* ICMPV6  */
124*8b26181fSAndroid Build Coastguard Worker     AH = 325,                      /* AH  */
125*8b26181fSAndroid Build Coastguard Worker     ESP = 326,                     /* ESP  */
126*8b26181fSAndroid Build Coastguard Worker     VLAN = 327,                    /* VLAN  */
127*8b26181fSAndroid Build Coastguard Worker     MPLS = 328,                    /* MPLS  */
128*8b26181fSAndroid Build Coastguard Worker     PPPOED = 329,                  /* PPPOED  */
129*8b26181fSAndroid Build Coastguard Worker     PPPOES = 330,                  /* PPPOES  */
130*8b26181fSAndroid Build Coastguard Worker     GENEVE = 331,                  /* GENEVE  */
131*8b26181fSAndroid Build Coastguard Worker     ISO = 332,                     /* ISO  */
132*8b26181fSAndroid Build Coastguard Worker     ESIS = 333,                    /* ESIS  */
133*8b26181fSAndroid Build Coastguard Worker     CLNP = 334,                    /* CLNP  */
134*8b26181fSAndroid Build Coastguard Worker     ISIS = 335,                    /* ISIS  */
135*8b26181fSAndroid Build Coastguard Worker     L1 = 336,                      /* L1  */
136*8b26181fSAndroid Build Coastguard Worker     L2 = 337,                      /* L2  */
137*8b26181fSAndroid Build Coastguard Worker     IIH = 338,                     /* IIH  */
138*8b26181fSAndroid Build Coastguard Worker     LSP = 339,                     /* LSP  */
139*8b26181fSAndroid Build Coastguard Worker     SNP = 340,                     /* SNP  */
140*8b26181fSAndroid Build Coastguard Worker     CSNP = 341,                    /* CSNP  */
141*8b26181fSAndroid Build Coastguard Worker     PSNP = 342,                    /* PSNP  */
142*8b26181fSAndroid Build Coastguard Worker     STP = 343,                     /* STP  */
143*8b26181fSAndroid Build Coastguard Worker     IPX = 344,                     /* IPX  */
144*8b26181fSAndroid Build Coastguard Worker     NETBEUI = 345,                 /* NETBEUI  */
145*8b26181fSAndroid Build Coastguard Worker     LANE = 346,                    /* LANE  */
146*8b26181fSAndroid Build Coastguard Worker     LLC = 347,                     /* LLC  */
147*8b26181fSAndroid Build Coastguard Worker     METAC = 348,                   /* METAC  */
148*8b26181fSAndroid Build Coastguard Worker     BCC = 349,                     /* BCC  */
149*8b26181fSAndroid Build Coastguard Worker     SC = 350,                      /* SC  */
150*8b26181fSAndroid Build Coastguard Worker     ILMIC = 351,                   /* ILMIC  */
151*8b26181fSAndroid Build Coastguard Worker     OAMF4EC = 352,                 /* OAMF4EC  */
152*8b26181fSAndroid Build Coastguard Worker     OAMF4SC = 353,                 /* OAMF4SC  */
153*8b26181fSAndroid Build Coastguard Worker     OAM = 354,                     /* OAM  */
154*8b26181fSAndroid Build Coastguard Worker     OAMF4 = 355,                   /* OAMF4  */
155*8b26181fSAndroid Build Coastguard Worker     CONNECTMSG = 356,              /* CONNECTMSG  */
156*8b26181fSAndroid Build Coastguard Worker     METACONNECT = 357,             /* METACONNECT  */
157*8b26181fSAndroid Build Coastguard Worker     VPI = 358,                     /* VPI  */
158*8b26181fSAndroid Build Coastguard Worker     VCI = 359,                     /* VCI  */
159*8b26181fSAndroid Build Coastguard Worker     RADIO = 360,                   /* RADIO  */
160*8b26181fSAndroid Build Coastguard Worker     FISU = 361,                    /* FISU  */
161*8b26181fSAndroid Build Coastguard Worker     LSSU = 362,                    /* LSSU  */
162*8b26181fSAndroid Build Coastguard Worker     MSU = 363,                     /* MSU  */
163*8b26181fSAndroid Build Coastguard Worker     HFISU = 364,                   /* HFISU  */
164*8b26181fSAndroid Build Coastguard Worker     HLSSU = 365,                   /* HLSSU  */
165*8b26181fSAndroid Build Coastguard Worker     HMSU = 366,                    /* HMSU  */
166*8b26181fSAndroid Build Coastguard Worker     SIO = 367,                     /* SIO  */
167*8b26181fSAndroid Build Coastguard Worker     OPC = 368,                     /* OPC  */
168*8b26181fSAndroid Build Coastguard Worker     DPC = 369,                     /* DPC  */
169*8b26181fSAndroid Build Coastguard Worker     SLS = 370,                     /* SLS  */
170*8b26181fSAndroid Build Coastguard Worker     HSIO = 371,                    /* HSIO  */
171*8b26181fSAndroid Build Coastguard Worker     HOPC = 372,                    /* HOPC  */
172*8b26181fSAndroid Build Coastguard Worker     HDPC = 373,                    /* HDPC  */
173*8b26181fSAndroid Build Coastguard Worker     HSLS = 374,                    /* HSLS  */
174*8b26181fSAndroid Build Coastguard Worker     LEX_ERROR = 375,               /* LEX_ERROR  */
175*8b26181fSAndroid Build Coastguard Worker     OR = 376,                      /* OR  */
176*8b26181fSAndroid Build Coastguard Worker     AND = 377,                     /* AND  */
177*8b26181fSAndroid Build Coastguard Worker     UMINUS = 378                   /* UMINUS  */
178*8b26181fSAndroid Build Coastguard Worker   };
179*8b26181fSAndroid Build Coastguard Worker   typedef enum yytokentype yytoken_kind_t;
180*8b26181fSAndroid Build Coastguard Worker #endif
181*8b26181fSAndroid Build Coastguard Worker 
182*8b26181fSAndroid Build Coastguard Worker /* Value type.  */
183*8b26181fSAndroid Build Coastguard Worker #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
184*8b26181fSAndroid Build Coastguard Worker union YYSTYPE
185*8b26181fSAndroid Build Coastguard Worker {
186*8b26181fSAndroid Build Coastguard Worker #line 349 "grammar.y"
187*8b26181fSAndroid Build Coastguard Worker 
188*8b26181fSAndroid Build Coastguard Worker 	int i;
189*8b26181fSAndroid Build Coastguard Worker 	bpf_u_int32 h;
190*8b26181fSAndroid Build Coastguard Worker 	char *s;
191*8b26181fSAndroid Build Coastguard Worker 	struct stmt *stmt;
192*8b26181fSAndroid Build Coastguard Worker 	struct arth *a;
193*8b26181fSAndroid Build Coastguard Worker 	struct {
194*8b26181fSAndroid Build Coastguard Worker 		struct qual q;
195*8b26181fSAndroid Build Coastguard Worker 		int atmfieldtype;
196*8b26181fSAndroid Build Coastguard Worker 		int mtp3fieldtype;
197*8b26181fSAndroid Build Coastguard Worker 		struct block *b;
198*8b26181fSAndroid Build Coastguard Worker 	} blk;
199*8b26181fSAndroid Build Coastguard Worker 	struct block *rblk;
200*8b26181fSAndroid Build Coastguard Worker 
201*8b26181fSAndroid Build Coastguard Worker #line 202 "grammar.h"
202*8b26181fSAndroid Build Coastguard Worker 
203*8b26181fSAndroid Build Coastguard Worker };
204*8b26181fSAndroid Build Coastguard Worker typedef union YYSTYPE YYSTYPE;
205*8b26181fSAndroid Build Coastguard Worker # define YYSTYPE_IS_TRIVIAL 1
206*8b26181fSAndroid Build Coastguard Worker # define YYSTYPE_IS_DECLARED 1
207*8b26181fSAndroid Build Coastguard Worker #endif
208*8b26181fSAndroid Build Coastguard Worker 
209*8b26181fSAndroid Build Coastguard Worker 
210*8b26181fSAndroid Build Coastguard Worker 
211*8b26181fSAndroid Build Coastguard Worker 
212*8b26181fSAndroid Build Coastguard Worker int pcap_parse (void *yyscanner, compiler_state_t *cstate);
213*8b26181fSAndroid Build Coastguard Worker 
214*8b26181fSAndroid Build Coastguard Worker 
215*8b26181fSAndroid Build Coastguard Worker #endif /* !YY_PCAP_GRAMMAR_H_INCLUDED  */
216