libnl 3.5.0

ematch_syntax.h
1 /* A Bison parser, made by GNU Bison 3.0.5. */
2
3 /* Bison interface for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018 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_LIB_ROUTE_CLS_EMATCH_SYNTAX_H_INCLUDED
34 # define YY_EMATCH_LIB_ROUTE_CLS_EMATCH_SYNTAX_H_INCLUDED
35 /* Debug traces. */
36 #ifndef YYDEBUG
37 # define YYDEBUG 0
38 #endif
39 #if YYDEBUG
40 extern int ematch_debug;
41 #endif
42
43 /* Token type. */
44 #ifndef YYTOKENTYPE
45 # define YYTOKENTYPE
46 enum yytokentype
47 {
48 ERROR = 258,
49 LOGIC = 259,
50 NOT = 260,
51 OPERAND = 261,
52 NUMBER = 262,
53 ALIGN = 263,
54 LAYER = 264,
55 KW_OPEN = 265,
56 KW_CLOSE = 266,
57 KW_PLUS = 267,
58 KW_MASK = 268,
59 KW_SHIFT = 269,
60 KW_AT = 270,
61 EMATCH_CMP = 271,
62 EMATCH_NBYTE = 272,
63 EMATCH_TEXT = 273,
64 EMATCH_META = 274,
65 KW_EQ = 275,
66 KW_GT = 276,
67 KW_LT = 277,
68 KW_FROM = 278,
69 KW_TO = 279,
70 META_RANDOM = 280,
71 META_LOADAVG_0 = 281,
72 META_LOADAVG_1 = 282,
73 META_LOADAVG_2 = 283,
74 META_DEV = 284,
75 META_PRIO = 285,
76 META_PROTO = 286,
77 META_PKTTYPE = 287,
78 META_PKTLEN = 288,
79 META_DATALEN = 289,
80 META_MACLEN = 290,
81 META_MARK = 291,
82 META_TCINDEX = 292,
83 META_RTCLASSID = 293,
84 META_RTIIF = 294,
85 META_SK_FAMILY = 295,
86 META_SK_STATE = 296,
87 META_SK_REUSE = 297,
88 META_SK_REFCNT = 298,
89 META_SK_RCVBUF = 299,
90 META_SK_SNDBUF = 300,
91 META_SK_SHUTDOWN = 301,
92 META_SK_PROTO = 302,
93 META_SK_TYPE = 303,
94 META_SK_RMEM_ALLOC = 304,
95 META_SK_WMEM_ALLOC = 305,
96 META_SK_WMEM_QUEUED = 306,
97 META_SK_RCV_QLEN = 307,
98 META_SK_SND_QLEN = 308,
99 META_SK_ERR_QLEN = 309,
100 META_SK_FORWARD_ALLOCS = 310,
101 META_SK_ALLOCS = 311,
102 META_SK_ROUTE_CAPS = 312,
103 META_SK_HASH = 313,
104 META_SK_LINGERTIME = 314,
105 META_SK_ACK_BACKLOG = 315,
106 META_SK_MAX_ACK_BACKLOG = 316,
107 META_SK_PRIO = 317,
108 META_SK_RCVLOWAT = 318,
109 META_SK_RCVTIMEO = 319,
110 META_SK_SNDTIMEO = 320,
111 META_SK_SENDMSG_OFF = 321,
112 META_SK_WRITE_PENDING = 322,
113 META_VLAN = 323,
114 META_RXHASH = 324,
115 META_DEVNAME = 325,
116 META_SK_BOUND_IF = 326,
117 STR = 327,
118 QUOTED = 328
119 };
120 #endif
121 /* Tokens. */
122 #define ERROR 258
123 #define LOGIC 259
124 #define NOT 260
125 #define OPERAND 261
126 #define NUMBER 262
127 #define ALIGN 263
128 #define LAYER 264
129 #define KW_OPEN 265
130 #define KW_CLOSE 266
131 #define KW_PLUS 267
132 #define KW_MASK 268
133 #define KW_SHIFT 269
134 #define KW_AT 270
135 #define EMATCH_CMP 271
136 #define EMATCH_NBYTE 272
137 #define EMATCH_TEXT 273
138 #define EMATCH_META 274
139 #define KW_EQ 275
140 #define KW_GT 276
141 #define KW_LT 277
142 #define KW_FROM 278
143 #define KW_TO 279
144 #define META_RANDOM 280
145 #define META_LOADAVG_0 281
146 #define META_LOADAVG_1 282
147 #define META_LOADAVG_2 283
148 #define META_DEV 284
149 #define META_PRIO 285
150 #define META_PROTO 286
151 #define META_PKTTYPE 287
152 #define META_PKTLEN 288
153 #define META_DATALEN 289
154 #define META_MACLEN 290
155 #define META_MARK 291
156 #define META_TCINDEX 292
157 #define META_RTCLASSID 293
158 #define META_RTIIF 294
159 #define META_SK_FAMILY 295
160 #define META_SK_STATE 296
161 #define META_SK_REUSE 297
162 #define META_SK_REFCNT 298
163 #define META_SK_RCVBUF 299
164 #define META_SK_SNDBUF 300
165 #define META_SK_SHUTDOWN 301
166 #define META_SK_PROTO 302
167 #define META_SK_TYPE 303
168 #define META_SK_RMEM_ALLOC 304
169 #define META_SK_WMEM_ALLOC 305
170 #define META_SK_WMEM_QUEUED 306
171 #define META_SK_RCV_QLEN 307
172 #define META_SK_SND_QLEN 308
173 #define META_SK_ERR_QLEN 309
174 #define META_SK_FORWARD_ALLOCS 310
175 #define META_SK_ALLOCS 311
176 #define META_SK_ROUTE_CAPS 312
177 #define META_SK_HASH 313
178 #define META_SK_LINGERTIME 314
179 #define META_SK_ACK_BACKLOG 315
180 #define META_SK_MAX_ACK_BACKLOG 316
181 #define META_SK_PRIO 317
182 #define META_SK_RCVLOWAT 318
183 #define META_SK_RCVTIMEO 319
184 #define META_SK_SNDTIMEO 320
185 #define META_SK_SENDMSG_OFF 321
186 #define META_SK_WRITE_PENDING 322
187 #define META_VLAN 323
188 #define META_RXHASH 324
189 #define META_DEVNAME 325
190 #define META_SK_BOUND_IF 326
191 #define STR 327
192 #define QUOTED 328
193
194 /* Value type. */
195 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
196
197 union YYSTYPE
198 {
199 #line 41 "lib/route/cls/ematch_syntax.y" /* yacc.c:1910 */
200
201 struct tcf_em_cmp cmp;
202 struct ematch_quoted q;
203 struct rtnl_ematch * e;
204 struct rtnl_pktloc * loc;
205 struct rtnl_meta_value *mv;
206 uint32_t i;
207 uint64_t i64;
208 char * s;
209
210 #line 211 "lib/route/cls/ematch_syntax.h" /* yacc.c:1910 */
211 };
212
213 typedef union YYSTYPE YYSTYPE;
214 # define YYSTYPE_IS_TRIVIAL 1
215 # define YYSTYPE_IS_DECLARED 1
216 #endif
217
218
219
220 int ematch_parse (void *scanner, char **errp, struct nl_list_head *root);
221
222 #endif /* !YY_EMATCH_LIB_ROUTE_CLS_EMATCH_SYNTAX_H_INCLUDED */
rtnl_pktloc
Definition: pktloc.h:25
rtnl_meta_value
Definition: meta.c:26
YYSTYPE
Definition: ematch_syntax.c:275
nl_list_head
Definition: list.h:17