1aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* A Bison parser, made by GNU Bison 2.5.  */
2aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Bison implementation for Yacc-like parsers in C
4aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
5aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
6aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
7aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   This program is free software: you can redistribute it and/or modify
8aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   it under the terms of the GNU General Public License as published by
9aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   the Free Software Foundation, either version 3 of the License, or
10aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   (at your option) any later version.
11aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
12aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   This program is distributed in the hope that it will be useful,
13aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   but WITHOUT ANY WARRANTY; without even the implied warranty of
14aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   GNU General Public License for more details.
16aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
17aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   You should have received a copy of the GNU General Public License
18aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
20aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* As a special exception, you may create a larger work that contains
21aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   part or all of the Bison parser skeleton and distribute that work
22aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   under terms of your choice, so long as that work isn't itself a
23aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   parser generator using the skeleton or a modified version thereof
24aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   as a parser skeleton.  Alternatively, if you modify or redistribute
25aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   the parser skeleton itself, you may (at your option) remove this
26aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   special exception, which will cause the skeleton and the resulting
27aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   Bison output files to be licensed under the GNU General Public
28aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   License without this special exception.
29aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
30aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   This special exception was added by the Free Software Foundation in
31aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   version 2.2 of Bison.  */
32aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
33aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* C LALR(1) parser skeleton written by Richard Stallman, by
34aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   simplifying the original so-called "semantic" parser.  */
35aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
36aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* All symbols defined below should begin with yy or YY, to avoid
37aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   infringing on user name space.  This should be done even for local
38aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   variables, as they might otherwise be expanded by user macros.
39aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   There are some unavoidable exceptions within include files to
40aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   define necessary library symbols; they are noted "INFRINGES ON
41aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   USER NAME SPACE" below.  */
42aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
43aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Identify Bison output.  */
44aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYBISON 1
45aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
46aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Bison version.  */
47aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYBISON_VERSION "2.5"
48aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
49aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Skeleton name.  */
50aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYSKELETON_NAME "yacc.c"
51aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
52aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Pure parsers.  */
53aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYPURE 0
54aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
55aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Push parsers.  */
56aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYPUSH 0
57aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
58aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Pull parsers.  */
59aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYPULL 1
60aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
61aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Using locations.  */
62aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYLSP_NEEDED 0
63aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
64aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Substitute the variable and function names.  */
65aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yyparse         pcap_parse
66aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yylex           pcap_lex
67aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yyerror         pcap_error
68aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yylval          pcap_lval
69aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yychar          pcap_char
70aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yydebug         pcap_debug
71aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yynerrs         pcap_nerrs
72aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
73aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
74aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Copy the first part of user declarations.  */
75aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
76aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Line 268 of yacc.c  */
77aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#line 1 "grammar.y"
78aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
79aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*
80aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996
81aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall *	The Regents of the University of California.  All rights reserved.
82aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall *
83aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * Redistribution and use in source and binary forms, with or without
84aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * modification, are permitted provided that: (1) source code distributions
85aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * retain the above copyright notice and this paragraph in its entirety, (2)
86aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * distributions including binary code include the above copyright notice and
87aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * this paragraph in its entirety in the documentation or other materials
88aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * provided with the distribution, and (3) all advertising materials mentioning
89aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * features or use of this software display the following acknowledgement:
90aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * ``This product includes software developed by the University of California,
91aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
92aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * the University nor the names of its contributors may be used to endorse
93aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * or promote products derived from this software without specific prior
94aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * written permission.
95aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
96aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
97aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
98aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall *
99aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall */
100aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef lint
101aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const char rcsid[] _U_ =
102aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    "@(#) $Header: /tcpdump/master/libpcap/grammar.y,v 1.101 2007-11-18 02:03:52 guy Exp $ (LBL)";
103aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
104aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
105aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef HAVE_CONFIG_H
106aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include "config.h"
107aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
108aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
109aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef WIN32
110aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <pcap-stdinc.h>
111aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else /* WIN32 */
112aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <sys/types.h>
113aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <sys/socket.h>
114aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* WIN32 */
115aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
116aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <stdlib.h>
117aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
118aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef WIN32
119aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if __STDC__
120aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstruct mbuf;
121aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstruct rtentry;
122aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
123aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
124aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <netinet/in.h>
125aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <arpa/inet.h>
126aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* WIN32 */
127aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
128aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <stdio.h>
129aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
130aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include "pcap-int.h"
131aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
132aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include "gencode.h"
133aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef HAVE_NET_PFVAR_H
134aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <net/if.h>
135aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <net/pfvar.h>
136aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <net/if_pflog.h>
137aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
138aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include "ieee80211.h"
139aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <pcap/namedb.h>
140aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
141aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef HAVE_OS_PROTO_H
142aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include "os-proto.h"
143aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
144aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
145aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define QSET(q, p, d, a) (q).proto = (p),\
146aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall			 (q).dir = (d),\
147aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall			 (q).addr = (a)
148aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
149aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstruct tok {
150aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	int v;			/* value */
151aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	const char *s;		/* string */
152aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
153aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
154aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const struct tok ieee80211_types[] = {
155aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_DATA, "data" },
156aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_MGT, "mgt" },
157aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_MGT, "management" },
158aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_CTL, "ctl" },
159aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_CTL, "control" },
160aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ 0, NULL }
161aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
162aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const struct tok ieee80211_mgt_subtypes[] = {
163aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ASSOC_REQ, "assocreq" },
164aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ASSOC_REQ, "assoc-req" },
165aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ASSOC_RESP, "assocresp" },
166aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ASSOC_RESP, "assoc-resp" },
167aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_REASSOC_REQ, "reassocreq" },
168aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_REASSOC_REQ, "reassoc-req" },
169aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_REASSOC_RESP, "reassocresp" },
170aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_REASSOC_RESP, "reassoc-resp" },
171aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_PROBE_REQ, "probereq" },
172aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_PROBE_REQ, "probe-req" },
173aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_PROBE_RESP, "proberesp" },
174aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_PROBE_RESP, "probe-resp" },
175aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_BEACON, "beacon" },
176aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ATIM, "atim" },
177aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_DISASSOC, "disassoc" },
178aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_DISASSOC, "disassociation" },
179aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_AUTH, "auth" },
180aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_AUTH, "authentication" },
181aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_DEAUTH, "deauth" },
182aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_DEAUTH, "deauthentication" },
183aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ 0, NULL }
184aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
185aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const struct tok ieee80211_ctl_subtypes[] = {
186aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_PS_POLL, "ps-poll" },
187aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_RTS, "rts" },
188aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CTS, "cts" },
189aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ACK, "ack" },
190aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CF_END, "cf-end" },
191aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CF_END_ACK, "cf-end-ack" },
192aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ 0, NULL }
193aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
194aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const struct tok ieee80211_data_subtypes[] = {
195aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_DATA, "data" },
196aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CF_ACK, "data-cf-ack" },
197aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CF_POLL, "data-cf-poll" },
198aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CF_ACPL, "data-cf-ack-poll" },
199aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_NODATA, "null" },
200aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_NODATA_CF_ACK, "cf-ack" },
201aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_NODATA_CF_POLL, "cf-poll"  },
202aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_NODATA_CF_ACPL, "cf-ack-poll" },
203aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_DATA, "qos-data" },
204aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_CF_ACK, "qos-data-cf-ack" },
205aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_CF_POLL, "qos-data-cf-poll" },
206aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_CF_ACPL, "qos-data-cf-ack-poll" },
207aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_NODATA, "qos" },
208aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_NODATA_CF_POLL, "qos-cf-poll" },
209aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_NODATA_CF_ACPL, "qos-cf-ack-poll" },
210aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ 0, NULL }
211aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
212aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstruct type2tok {
213aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	int type;
214aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	const struct tok *tok;
215aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
216aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const struct type2tok ieee80211_type_subtypes[] = {
217aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_MGT, ieee80211_mgt_subtypes },
218aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_CTL, ieee80211_ctl_subtypes },
219aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_DATA, ieee80211_data_subtypes },
220aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ 0, NULL }
221aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
222aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
223aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
224aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstr2tok(const char *str, const struct tok *toks)
225aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
226aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	int i;
227aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
228aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	for (i = 0; toks[i].s != NULL; i++) {
229aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		if (pcap_strcasecmp(toks[i].s, str) == 0)
230aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall			return (toks[i].v);
231aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	}
232aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	return (-1);
233aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
234aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
235aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallint n_errors = 0;
236aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
237aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic struct qual qerr = { Q_UNDEF, Q_UNDEF, Q_UNDEF, Q_UNDEF };
238aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
239aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic void
240aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyyerror(const char *msg)
241aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
242aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	++n_errors;
243aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	bpf_error("%s", msg);
244aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/* NOTREACHED */
245aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
246aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
247aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef NEED_YYPARSE_WRAPPER
248aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallint yyparse(void);
249aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
250aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallint
251aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallpcap_parse()
252aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
253aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	return (yyparse());
254aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
255aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
256aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
257aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef HAVE_NET_PFVAR_H
258aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
259aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallpfreason_to_num(const char *reason)
260aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
261aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	const char *reasons[] = PFRES_NAMES;
262aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	int i;
263aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
264aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	for (i = 0; reasons[i]; i++) {
265aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		if (pcap_strcasecmp(reason, reasons[i]) == 0)
266aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall			return (i);
267aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	}
268aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	bpf_error("unknown PF reason");
269aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/*NOTREACHED*/
270aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
271aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
272aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
273aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallpfaction_to_num(const char *action)
274aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
275aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	if (pcap_strcasecmp(action, "pass") == 0 ||
276aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    pcap_strcasecmp(action, "accept") == 0)
277aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_PASS);
278aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else if (pcap_strcasecmp(action, "drop") == 0 ||
279aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		pcap_strcasecmp(action, "block") == 0)
280aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_DROP);
281aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if HAVE_PF_NAT_THROUGH_PF_NORDR
282aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else if (pcap_strcasecmp(action, "rdr") == 0)
283aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_RDR);
284aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else if (pcap_strcasecmp(action, "nat") == 0)
285aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_NAT);
286aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else if (pcap_strcasecmp(action, "binat") == 0)
287aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_BINAT);
288aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else if (pcap_strcasecmp(action, "nordr") == 0)
289aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_NORDR);
290aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
291aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else {
292aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		bpf_error("unknown PF action");
293aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		/*NOTREACHED*/
294aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	}
295aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
296aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else /* !HAVE_NET_PFVAR_H */
297aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
298aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallpfreason_to_num(const char *reason)
299aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
300aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	bpf_error("libpcap was compiled on a machine without pf support");
301aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/*NOTREACHED*/
302aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
303aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/* this is to make the VC compiler happy */
304aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	return -1;
305aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
306aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
307aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
308aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallpfaction_to_num(const char *action)
309aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
310aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	bpf_error("libpcap was compiled on a machine without pf support");
311aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/*NOTREACHED*/
312aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
313aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/* this is to make the VC compiler happy */
314aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	return -1;
315aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
316aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* HAVE_NET_PFVAR_H */
317aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
318aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
319aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Line 268 of yacc.c  */
320aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#line 321 "y.tab.c"
321aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
322aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Enabling traces.  */
323aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef YYDEBUG
324aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYDEBUG 0
325aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
326aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
327aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Enabling verbose error messages.  */
328aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef YYERROR_VERBOSE
329aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# undef YYERROR_VERBOSE
330aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYERROR_VERBOSE 1
331aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
332aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYERROR_VERBOSE 0
333aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
334aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
335aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Enabling the token table.  */
336aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef YYTOKEN_TABLE
337aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYTOKEN_TABLE 0
338aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
339aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
340aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
341aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Tokens.  */
342aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef YYTOKENTYPE
343aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYTOKENTYPE
344aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   /* Put the tokens into the symbol table, so that GDB and other debuggers
345aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      know about them.  */
346aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   enum yytokentype {
347aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     DST = 258,
348aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     SRC = 259,
349aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     HOST = 260,
350aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     GATEWAY = 261,
351aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     NET = 262,
352aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     NETMASK = 263,
353aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PORT = 264,
354aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PORTRANGE = 265,
355aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     LESS = 266,
356aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     GREATER = 267,
357aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PROTO = 268,
358aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PROTOCHAIN = 269,
359aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     CBYTE = 270,
360aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ARP = 271,
361aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     RARP = 272,
362aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     IP = 273,
363aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     SCTP = 274,
364aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     TCP = 275,
365aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     UDP = 276,
366aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ICMP = 277,
367aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     IGMP = 278,
368aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     IGRP = 279,
369aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PIM = 280,
370aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     VRRP = 281,
371aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     CARP = 282,
372aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ATALK = 283,
373aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     AARP = 284,
374aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     DECNET = 285,
375aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     LAT = 286,
376aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     SCA = 287,
377aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     MOPRC = 288,
378aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     MOPDL = 289,
379aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     TK_BROADCAST = 290,
380aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     TK_MULTICAST = 291,
381aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     NUM = 292,
382aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     INBOUND = 293,
383aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     OUTBOUND = 294,
384aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PF_IFNAME = 295,
385aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PF_RSET = 296,
386aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PF_RNR = 297,
387aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PF_SRNR = 298,
388aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PF_REASON = 299,
389aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PF_ACTION = 300,
390aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     TYPE = 301,
391aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     SUBTYPE = 302,
392aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     DIR = 303,
393aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ADDR1 = 304,
394aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ADDR2 = 305,
395aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ADDR3 = 306,
396aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ADDR4 = 307,
397aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     RA = 308,
398aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     TA = 309,
399aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     LINK = 310,
400aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     GEQ = 311,
401aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     LEQ = 312,
402aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     NEQ = 313,
403aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ID = 314,
404aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     EID = 315,
405aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     HID = 316,
406aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     HID6 = 317,
407aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     AID = 318,
408aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     LSH = 319,
409aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     RSH = 320,
410aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     LEN = 321,
411aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     IPV6 = 322,
412aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ICMPV6 = 323,
413aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     AH = 324,
414aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ESP = 325,
415aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     VLAN = 326,
416aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     MPLS = 327,
417aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PPPOED = 328,
418aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PPPOES = 329,
419aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ISO = 330,
420aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ESIS = 331,
421aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     CLNP = 332,
422aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ISIS = 333,
423aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     L1 = 334,
424aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     L2 = 335,
425aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     IIH = 336,
426aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     LSP = 337,
427aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     SNP = 338,
428aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     CSNP = 339,
429aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     PSNP = 340,
430aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     STP = 341,
431aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     IPX = 342,
432aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     NETBEUI = 343,
433aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     LANE = 344,
434aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     LLC = 345,
435aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     METAC = 346,
436aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     BCC = 347,
437aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     SC = 348,
438aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ILMIC = 349,
439aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     OAMF4EC = 350,
440aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     OAMF4SC = 351,
441aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     OAM = 352,
442aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     OAMF4 = 353,
443aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     CONNECTMSG = 354,
444aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     METACONNECT = 355,
445aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     VPI = 356,
446aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     VCI = 357,
447aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     RADIO = 358,
448aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     FISU = 359,
449aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     LSSU = 360,
450aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     MSU = 361,
451aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     HFISU = 362,
452aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     HLSSU = 363,
453aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     HMSU = 364,
454aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     SIO = 365,
455aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     OPC = 366,
456aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     DPC = 367,
457aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     SLS = 368,
458aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     HSIO = 369,
459aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     HOPC = 370,
460aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     HDPC = 371,
461aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     HSLS = 372,
462aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     AND = 373,
463aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     OR = 374,
464aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     UMINUS = 375
465aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   };
466aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
467aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Tokens.  */
468aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define DST 258
469aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SRC 259
470aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HOST 260
471aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define GATEWAY 261
472aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define NET 262
473aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define NETMASK 263
474aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PORT 264
475aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PORTRANGE 265
476aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LESS 266
477aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define GREATER 267
478aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PROTO 268
479aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PROTOCHAIN 269
480aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define CBYTE 270
481aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ARP 271
482aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define RARP 272
483aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define IP 273
484aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SCTP 274
485aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define TCP 275
486aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define UDP 276
487aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ICMP 277
488aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define IGMP 278
489aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define IGRP 279
490aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PIM 280
491aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define VRRP 281
492aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define CARP 282
493aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ATALK 283
494aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define AARP 284
495aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define DECNET 285
496aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LAT 286
497aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SCA 287
498aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define MOPRC 288
499aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define MOPDL 289
500aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define TK_BROADCAST 290
501aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define TK_MULTICAST 291
502aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define NUM 292
503aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define INBOUND 293
504aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define OUTBOUND 294
505aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_IFNAME 295
506aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_RSET 296
507aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_RNR 297
508aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_SRNR 298
509aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_REASON 299
510aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_ACTION 300
511aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define TYPE 301
512aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SUBTYPE 302
513aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define DIR 303
514aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ADDR1 304
515aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ADDR2 305
516aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ADDR3 306
517aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ADDR4 307
518aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define RA 308
519aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define TA 309
520aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LINK 310
521aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define GEQ 311
522aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LEQ 312
523aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define NEQ 313
524aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ID 314
525aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define EID 315
526aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HID 316
527aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HID6 317
528aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define AID 318
529aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LSH 319
530aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define RSH 320
531aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LEN 321
532aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define IPV6 322
533aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ICMPV6 323
534aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define AH 324
535aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ESP 325
536aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define VLAN 326
537aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define MPLS 327
538aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PPPOED 328
539aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PPPOES 329
540aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ISO 330
541aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ESIS 331
542aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define CLNP 332
543aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ISIS 333
544aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define L1 334
545aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define L2 335
546aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define IIH 336
547aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LSP 337
548aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SNP 338
549aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define CSNP 339
550aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PSNP 340
551aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define STP 341
552aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define IPX 342
553aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define NETBEUI 343
554aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LANE 344
555aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LLC 345
556aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define METAC 346
557aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define BCC 347
558aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SC 348
559aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ILMIC 349
560aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define OAMF4EC 350
561aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define OAMF4SC 351
562aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define OAM 352
563aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define OAMF4 353
564aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define CONNECTMSG 354
565aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define METACONNECT 355
566aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define VPI 356
567aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define VCI 357
568aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define RADIO 358
569aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define FISU 359
570aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LSSU 360
571aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define MSU 361
572aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HFISU 362
573aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HLSSU 363
574aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HMSU 364
575aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SIO 365
576aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define OPC 366
577aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define DPC 367
578aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SLS 368
579aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HSIO 369
580aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HOPC 370
581aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HDPC 371
582aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HSLS 372
583aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define AND 373
584aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define OR 374
585aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define UMINUS 375
586aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
587aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
588aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
589aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
590aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
591aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef union YYSTYPE
592aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
593aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
594aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Line 293 of yacc.c  */
595aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#line 242 "grammar.y"
596aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
597aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	int i;
598aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	bpf_u_int32 h;
599aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	u_char *e;
600aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	char *s;
601aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	struct stmt *stmt;
602aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	struct arth *a;
603aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	struct {
604aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		struct qual q;
605aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		int atmfieldtype;
606aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		int mtp3fieldtype;
607aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		struct block *b;
608aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	} blk;
609aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	struct block *rblk;
610aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
611aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
612aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
613aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Line 293 of yacc.c  */
614aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#line 615 "y.tab.c"
615aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall} YYSTYPE;
616aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYSTYPE_IS_TRIVIAL 1
617aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define yystype YYSTYPE /* obsolescent; will be withdrawn */
618aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYSTYPE_IS_DECLARED 1
619aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
620aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
621aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
622aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Copy the second part of user declarations.  */
623aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
624aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
625aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Line 343 of yacc.c  */
626aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#line 627 "y.tab.c"
627aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
628aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef short
629aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# undef short
630aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
631aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
632aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef YYTYPE_UINT8
633aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef YYTYPE_UINT8 yytype_uint8;
634aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
635aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef unsigned char yytype_uint8;
636aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
637aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
638aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef YYTYPE_INT8
639aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef YYTYPE_INT8 yytype_int8;
640aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#elif (defined __STDC__ || defined __C99__FUNC__ \
641aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     || defined __cplusplus || defined _MSC_VER)
642aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef signed char yytype_int8;
643aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
644aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef short int yytype_int8;
645aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
646aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
647aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef YYTYPE_UINT16
648aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef YYTYPE_UINT16 yytype_uint16;
649aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
650aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef unsigned short int yytype_uint16;
651aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
652aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
653aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef YYTYPE_INT16
654aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef YYTYPE_INT16 yytype_int16;
655aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
656aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef short int yytype_int16;
657aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
658aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
659aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef YYSIZE_T
660aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifdef __SIZE_TYPE__
661aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSIZE_T __SIZE_TYPE__
662aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# elif defined size_t
663aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSIZE_T size_t
664aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
665aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     || defined __cplusplus || defined _MSC_VER)
666aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
667aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSIZE_T size_t
668aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# else
669aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSIZE_T unsigned int
670aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
671aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
672aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
673aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
674aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
675aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef YY_
676aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# if defined YYENABLE_NLS && YYENABLE_NLS
677aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  if ENABLE_NLS
678aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
679aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YY_(msgid) dgettext ("bison-runtime", msgid)
680aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
681aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
682aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifndef YY_
683aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YY_(msgid) msgid
684aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
685aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
686aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
687aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Suppress unused-variable warnings by "using" E.  */
688aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if ! defined lint || defined __GNUC__
689aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYUSE(e) ((void) (e))
690aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
691aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYUSE(e) /* empty */
692aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
693aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
694aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Identity function, used to suppress warnings about constant conditions.  */
695aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef lint
696aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYID(n) (n)
697aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
698aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if (defined __STDC__ || defined __C99__FUNC__ \
699aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     || defined __cplusplus || defined _MSC_VER)
700aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
701aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP AbgrallYYID (int yyi)
702aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
703aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
704aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP AbgrallYYID (yyi)
705aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    int yyi;
706aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
707aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
708aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  return yyi;
709aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
710aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
711aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
712aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if ! defined yyoverflow || YYERROR_VERBOSE
713aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
714aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* The parser invokes alloca or malloc; define the necessary symbols.  */
715aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
716aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifdef YYSTACK_USE_ALLOCA
717aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  if YYSTACK_USE_ALLOCA
718aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   ifdef __GNUC__
719aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    define YYSTACK_ALLOC __builtin_alloca
720aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   elif defined __BUILTIN_VA_ARG_INCR
721aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
722aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   elif defined _AIX
723aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    define YYSTACK_ALLOC __alloca
724aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   elif defined _MSC_VER
725aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
726aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    define alloca _alloca
727aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   else
728aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    define YYSTACK_ALLOC alloca
729aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
730aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     || defined __cplusplus || defined _MSC_VER)
731aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
732aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#     ifndef EXIT_SUCCESS
733aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#      define EXIT_SUCCESS 0
734aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#     endif
735aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    endif
736aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   endif
737aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
738aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
739aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
740aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifdef YYSTACK_ALLOC
741aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   /* Pacify GCC's `empty if-body' warning.  */
742aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
743aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  ifndef YYSTACK_ALLOC_MAXIMUM
744aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    /* The OS might guarantee only one guard page at the bottom of the stack,
745aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       and a page size can be as small as 4096 bytes.  So we cannot safely
746aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
747aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       to allow for a few compiler-allocated temporary stack slots.  */
748aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
749aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
750aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# else
751aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSTACK_ALLOC YYMALLOC
752aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSTACK_FREE YYFREE
753aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  ifndef YYSTACK_ALLOC_MAXIMUM
754aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
755aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
756aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
757aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       && ! ((defined YYMALLOC || defined malloc) \
758aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	     && (defined YYFREE || defined free)))
759aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
760aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   ifndef EXIT_SUCCESS
761aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    define EXIT_SUCCESS 0
762aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   endif
763aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
764aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  ifndef YYMALLOC
765aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YYMALLOC malloc
766aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
767aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     || defined __cplusplus || defined _MSC_VER)
768aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
769aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   endif
770aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
771aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  ifndef YYFREE
772aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YYFREE free
773aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
774aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     || defined __cplusplus || defined _MSC_VER)
775aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallvoid free (void *); /* INFRINGES ON USER NAME SPACE */
776aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   endif
777aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
778aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
779aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
780aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
781aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
782aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if (! defined yyoverflow \
783aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     && (! defined __cplusplus \
784aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
785aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
786aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* A type that is properly aligned for any stack member.  */
787aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallunion yyalloc
788aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
789aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yytype_int16 yyss_alloc;
790aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYSTYPE yyvs_alloc;
791aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
792aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
793aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* The size of the maximum gap between one aligned stack and the next.  */
794aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
795aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
796aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* The size of an array large to enough to hold all stacks, each with
797aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   N elements.  */
798aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYSTACK_BYTES(N) \
799aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
800aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      + YYSTACK_GAP_MAXIMUM)
801aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
802aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYCOPY_NEEDED 1
803aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
804aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Relocate STACK from its old location to the new one.  The
805aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   local variables YYSIZE and YYSTACKSIZE give the old and new number of
806aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   elements in the stack, and YYPTR gives the new location of the
807aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   stack.  Advance YYPTR to a properly aligned location for the next
808aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   stack.  */
809aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
810aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    do									\
811aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      {									\
812aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	YYSIZE_T yynewbytes;						\
813aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
814aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	Stack = &yyptr->Stack_alloc;					\
815aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
816aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	yyptr += yynewbytes / sizeof (*yyptr);				\
817aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      }									\
818aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    while (YYID (0))
819aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
820aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
821aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
822aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
823aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Copy COUNT objects from FROM to TO.  The source and destination do
824aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   not overlap.  */
825aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifndef YYCOPY
826aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  if defined __GNUC__ && 1 < __GNUC__
827aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YYCOPY(To, From, Count) \
828aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
829aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  else
830aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YYCOPY(To, From, Count)		\
831aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      do					\
832aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{					\
833aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	  YYSIZE_T yyi;				\
834aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	  for (yyi = 0; yyi < (Count); yyi++)	\
835aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    (To)[yyi] = (From)[yyi];		\
836aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	}					\
837aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      while (YYID (0))
838aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
839aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
840aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* !YYCOPY_NEEDED */
841aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
842aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYFINAL -- State number of the termination state.  */
843aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYFINAL  3
844aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYLAST -- Last index in YYTABLE.  */
845aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYLAST   710
846aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
847aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYNTOKENS -- Number of terminals.  */
848aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYNTOKENS  136
849aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYNNTS -- Number of nonterminals.  */
850aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYNNTS  46
851aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYNRULES -- Number of rules.  */
852aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYNRULES  213
853aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYNRULES -- Number of states.  */
854aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYNSTATES  285
855aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
856aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
857aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYUNDEFTOK  2
858aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYMAXUTOK   375
859aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
860aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYTRANSLATE(YYX)						\
861aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
862aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
863aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
864aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const yytype_uint8 yytranslate[] =
865aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
866aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
867aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
868aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
869aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,   120,     2,     2,     2,     2,   122,     2,
870aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     129,   128,   125,   123,     2,   124,     2,   126,     2,     2,
871aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,   135,     2,
872aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     132,   131,   130,     2,     2,     2,     2,     2,     2,     2,
873aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
874aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
875aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,   133,     2,   134,     2,     2,     2,     2,     2,     2,
876aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
877aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
878aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,   121,     2,     2,     2,     2,     2,
879aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
880aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
881aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
882aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
883aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
884aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
885aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
886aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
887aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
888aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
889aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
890aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
891aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
892aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
893aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
894aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
895aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
896aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
897aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
898aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
899aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
900aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
901aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
902aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
903aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     115,   116,   117,   118,   119,   127
904aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
905