libnl  3.2.24-rc1
ematch_syntax.h
1 /* A Bison parser, made by GNU Bison 2.6.4. */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6 
7  This program is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 
20 /* As a special exception, you may create a larger work that contains
21  part or all of the Bison parser skeleton and distribute that work
22  under terms of your choice, so long as that work isn't itself a
23  parser generator using the skeleton or a modified version thereof
24  as a parser skeleton. Alternatively, if you modify or redistribute
25  the parser skeleton itself, you may (at your option) remove this
26  special exception, which will cause the skeleton and the resulting
27  Bison output files to be licensed under the GNU General Public
28  License without this special exception.
29 
30  This special exception was added by the Free Software Foundation in
31  version 2.2 of Bison. */
32 
33 #ifndef YY_EMATCH_ROUTE_CLS_EMATCH_SYNTAX_H_INCLUDED
34 # define YY_EMATCH_ROUTE_CLS_EMATCH_SYNTAX_H_INCLUDED
35 /* Enabling traces. */
36 #ifndef YYDEBUG
37 # define YYDEBUG 0
38 #endif
39 #if YYDEBUG
40 extern int ematch_debug;
41 #endif
42 
43 /* Tokens. */
44 #ifndef YYTOKENTYPE
45 # define YYTOKENTYPE
46  /* Put the tokens into the symbol table, so that GDB and other debuggers
47  know about them. */
48  enum yytokentype {
49  ERROR = 258,
50  LOGIC = 259,
51  NOT = 260,
52  OPERAND = 261,
53  NUMBER = 262,
54  ALIGN = 263,
55  LAYER = 264,
56  KW_OPEN = 265,
57  KW_CLOSE = 266,
58  KW_PLUS = 267,
59  KW_MASK = 268,
60  KW_SHIFT = 269,
61  KW_AT = 270,
62  EMATCH_CMP = 271,
63  EMATCH_NBYTE = 272,
64  EMATCH_TEXT = 273,
65  EMATCH_META = 274,
66  KW_EQ = 275,
67  KW_GT = 276,
68  KW_LT = 277,
69  KW_FROM = 278,
70  KW_TO = 279,
71  META_RANDOM = 280,
72  META_LOADAVG_0 = 281,
73  META_LOADAVG_1 = 282,
74  META_LOADAVG_2 = 283,
75  META_DEV = 284,
76  META_PRIO = 285,
77  META_PROTO = 286,
78  META_PKTTYPE = 287,
79  META_PKTLEN = 288,
80  META_DATALEN = 289,
81  META_MACLEN = 290,
82  META_MARK = 291,
83  META_TCINDEX = 292,
84  META_RTCLASSID = 293,
85  META_RTIIF = 294,
86  META_SK_FAMILY = 295,
87  META_SK_STATE = 296,
88  META_SK_REUSE = 297,
89  META_SK_REFCNT = 298,
90  META_SK_RCVBUF = 299,
91  META_SK_SNDBUF = 300,
92  META_SK_SHUTDOWN = 301,
93  META_SK_PROTO = 302,
94  META_SK_TYPE = 303,
95  META_SK_RMEM_ALLOC = 304,
96  META_SK_WMEM_ALLOC = 305,
97  META_SK_WMEM_QUEUED = 306,
98  META_SK_RCV_QLEN = 307,
99  META_SK_SND_QLEN = 308,
100  META_SK_ERR_QLEN = 309,
101  META_SK_FORWARD_ALLOCS = 310,
102  META_SK_ALLOCS = 311,
103  META_SK_ROUTE_CAPS = 312,
104  META_SK_HASH = 313,
105  META_SK_LINGERTIME = 314,
106  META_SK_ACK_BACKLOG = 315,
107  META_SK_MAX_ACK_BACKLOG = 316,
108  META_SK_PRIO = 317,
109  META_SK_RCVLOWAT = 318,
110  META_SK_RCVTIMEO = 319,
111  META_SK_SNDTIMEO = 320,
112  META_SK_SENDMSG_OFF = 321,
113  META_SK_WRITE_PENDING = 322,
114  META_VLAN = 323,
115  META_RXHASH = 324,
116  META_DEVNAME = 325,
117  META_SK_BOUND_IF = 326,
118  STR = 327,
119  QUOTED = 328
120  };
121 #endif
122 /* Tokens. */
123 #define ERROR 258
124 #define LOGIC 259
125 #define NOT 260
126 #define OPERAND 261
127 #define NUMBER 262
128 #define ALIGN 263
129 #define LAYER 264
130 #define KW_OPEN 265
131 #define KW_CLOSE 266
132 #define KW_PLUS 267
133 #define KW_MASK 268
134 #define KW_SHIFT 269
135 #define KW_AT 270
136 #define EMATCH_CMP 271
137 #define EMATCH_NBYTE 272
138 #define EMATCH_TEXT 273
139 #define EMATCH_META 274
140 #define KW_EQ 275
141 #define KW_GT 276
142 #define KW_LT 277
143 #define KW_FROM 278
144 #define KW_TO 279
145 #define META_RANDOM 280
146 #define META_LOADAVG_0 281
147 #define META_LOADAVG_1 282
148 #define META_LOADAVG_2 283
149 #define META_DEV 284
150 #define META_PRIO 285
151 #define META_PROTO 286
152 #define META_PKTTYPE 287
153 #define META_PKTLEN 288
154 #define META_DATALEN 289
155 #define META_MACLEN 290
156 #define META_MARK 291
157 #define META_TCINDEX 292
158 #define META_RTCLASSID 293
159 #define META_RTIIF 294
160 #define META_SK_FAMILY 295
161 #define META_SK_STATE 296
162 #define META_SK_REUSE 297
163 #define META_SK_REFCNT 298
164 #define META_SK_RCVBUF 299
165 #define META_SK_SNDBUF 300
166 #define META_SK_SHUTDOWN 301
167 #define META_SK_PROTO 302
168 #define META_SK_TYPE 303
169 #define META_SK_RMEM_ALLOC 304
170 #define META_SK_WMEM_ALLOC 305
171 #define META_SK_WMEM_QUEUED 306
172 #define META_SK_RCV_QLEN 307
173 #define META_SK_SND_QLEN 308
174 #define META_SK_ERR_QLEN 309
175 #define META_SK_FORWARD_ALLOCS 310
176 #define META_SK_ALLOCS 311
177 #define META_SK_ROUTE_CAPS 312
178 #define META_SK_HASH 313
179 #define META_SK_LINGERTIME 314
180 #define META_SK_ACK_BACKLOG 315
181 #define META_SK_MAX_ACK_BACKLOG 316
182 #define META_SK_PRIO 317
183 #define META_SK_RCVLOWAT 318
184 #define META_SK_RCVTIMEO 319
185 #define META_SK_SNDTIMEO 320
186 #define META_SK_SENDMSG_OFF 321
187 #define META_SK_WRITE_PENDING 322
188 #define META_VLAN 323
189 #define META_RXHASH 324
190 #define META_DEVNAME 325
191 #define META_SK_BOUND_IF 326
192 #define STR 327
193 #define QUOTED 328
194 
195 
196 
197 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
198 typedef union YYSTYPE
199 {
200 /* Line 2077 of yacc.c */
201 #line 39 "route/cls/ematch_syntax.y"
202 
203  struct tcf_em_cmp cmp;
204  struct ematch_quoted q;
205  struct rtnl_ematch * e;
206  struct rtnl_pktloc * loc;
207  struct rtnl_meta_value *mv;
208  uint32_t i;
209  uint64_t i64;
210  char * s;
211 
212 
213 /* Line 2077 of yacc.c */
214 #line 215 "route/cls/ematch_syntax.h"
215 } YYSTYPE;
216 # define YYSTYPE_IS_TRIVIAL 1
217 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
218 # define YYSTYPE_IS_DECLARED 1
219 #endif
220 
221 
222 #ifdef YYPARSE_PARAM
223 #if defined __STDC__ || defined __cplusplus
224 int ematch_parse (void *YYPARSE_PARAM);
225 #else
226 int ematch_parse ();
227 #endif
228 #else /* ! YYPARSE_PARAM */
229 #if defined __STDC__ || defined __cplusplus
230 int ematch_parse (void *scanner, char **errp, struct nl_list_head *root);
231 #else
232 int ematch_parse ();
233 #endif
234 #endif /* ! YYPARSE_PARAM */
235 
236 #endif /* !YY_EMATCH_ROUTE_CLS_EMATCH_SYNTAX_H_INCLUDED */