1 /* A Bison parser, made by GNU Bison 3.8.2. */ 2 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, 6 Inc. 7 8 This program is free software: you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 20 21 /* As a special exception, you may create a larger work that contains 22 part or all of the Bison parser skeleton and distribute that work 23 under terms of your choice, so long as that work isn't itself a 24 parser generator using the skeleton or a modified version thereof 25 as a parser skeleton. Alternatively, if you modify or redistribute 26 the parser skeleton itself, you may (at your option) remove this 27 special exception, which will cause the skeleton and the resulting 28 Bison output files to be licensed under the GNU General Public 29 License without this special exception. 30 31 This special exception was added by the Free Software Foundation in 32 version 2.2 of Bison. */ 33 34 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, 35 especially those whose name start with YY_ or yy_. They are 36 private implementation details that can be changed or removed. */ 37 38 #ifndef YY_MAIN_LIB_CFG_GRAMMAR_H_INCLUDED 39 # define YY_MAIN_LIB_CFG_GRAMMAR_H_INCLUDED 40 /* Debug traces. */ 41 #ifndef MAIN_DEBUG 42 # if defined YYDEBUG 43 #if YYDEBUG 44 # define MAIN_DEBUG 1 45 # else 46 # define MAIN_DEBUG 0 47 # endif 48 # else /* ! defined YYDEBUG */ 49 # define MAIN_DEBUG 0 50 # endif /* ! defined YYDEBUG */ 51 #endif /* ! defined MAIN_DEBUG */ 52 #if MAIN_DEBUG 53 extern int main_debug; 54 #endif 55 /* "%code requires" blocks. */ 56 #line 25 "/source/lib/cfg-grammar.y" 57 58 59 /* this block is inserted into cfg-grammar.h, so it is included 60 practically all of the syslog-ng code. Please add headers here 61 with care. If you need additional headers, please look for a 62 massive list of includes further below. */ 63 64 #pragma GCC diagnostic ignored "-Wswitch-default" 65 #if (defined(__GNUC__) && __GNUC__ >= 6) || (defined(__clang__) && __clang_major__ >= 10) 66 # pragma GCC diagnostic ignored "-Wmisleading-indentation" 67 #endif 68 /* YYSTYPE and YYLTYPE is defined by the lexer */ 69 #include "cfg-lexer.h" 70 #include "cfg-grammar-internal.h" 71 72 /* uses struct declarations instead of the typedefs to avoid having to 73 * include logreader/logwriter/driver.h, which defines the typedefs. This 74 * is to avoid including unnecessary dependencies into grammars that are not 75 * themselves reader/writer based */ 76 77 78 #line 79 "lib/cfg-grammar.h" 79 80 /* Token kinds. */ 81 #ifndef MAIN_TOKENTYPE 82 # define MAIN_TOKENTYPE 83 enum main_tokentype 84 { 85 MAIN_EMPTY = -2, 86 MAIN_EOF = 0, /* "end of file" */ 87 MAIN_error = 256, /* error */ 88 MAIN_UNDEF = 10514, /* "invalid token" */ 89 LL_CONTEXT_ROOT = 1, /* LL_CONTEXT_ROOT */ 90 LL_CONTEXT_DESTINATION = 2, /* LL_CONTEXT_DESTINATION */ 91 LL_CONTEXT_SOURCE = 3, /* LL_CONTEXT_SOURCE */ 92 LL_CONTEXT_PARSER = 4, /* LL_CONTEXT_PARSER */ 93 LL_CONTEXT_REWRITE = 5, /* LL_CONTEXT_REWRITE */ 94 LL_CONTEXT_FILTER = 6, /* LL_CONTEXT_FILTER */ 95 LL_CONTEXT_LOG = 7, /* LL_CONTEXT_LOG */ 96 LL_CONTEXT_BLOCK_DEF = 8, /* LL_CONTEXT_BLOCK_DEF */ 97 LL_CONTEXT_BLOCK_REF = 9, /* LL_CONTEXT_BLOCK_REF */ 98 LL_CONTEXT_BLOCK_CONTENT = 10, /* LL_CONTEXT_BLOCK_CONTENT */ 99 LL_CONTEXT_BLOCK_ARG = 11, /* LL_CONTEXT_BLOCK_ARG */ 100 LL_CONTEXT_PRAGMA = 12, /* LL_CONTEXT_PRAGMA */ 101 LL_CONTEXT_FORMAT = 13, /* LL_CONTEXT_FORMAT */ 102 LL_CONTEXT_TEMPLATE_FUNC = 14, /* LL_CONTEXT_TEMPLATE_FUNC */ 103 LL_CONTEXT_INNER_DEST = 15, /* LL_CONTEXT_INNER_DEST */ 104 LL_CONTEXT_INNER_SRC = 16, /* LL_CONTEXT_INNER_SRC */ 105 LL_CONTEXT_CLIENT_PROTO = 17, /* LL_CONTEXT_CLIENT_PROTO */ 106 LL_CONTEXT_SERVER_PROTO = 18, /* LL_CONTEXT_SERVER_PROTO */ 107 LL_CONTEXT_OPTIONS = 19, /* LL_CONTEXT_OPTIONS */ 108 LL_CONTEXT_CONFIG = 20, /* LL_CONTEXT_CONFIG */ 109 LL_CONTEXT_MAX = 21, /* LL_CONTEXT_MAX */ 110 KW_SOURCE = 10000, /* KW_SOURCE */ 111 KW_FILTER = 10001, /* KW_FILTER */ 112 KW_PARSER = 10002, /* KW_PARSER */ 113 KW_DESTINATION = 10003, /* KW_DESTINATION */ 114 KW_LOG = 10004, /* KW_LOG */ 115 KW_OPTIONS = 10005, /* KW_OPTIONS */ 116 KW_INCLUDE = 10006, /* KW_INCLUDE */ 117 KW_BLOCK = 10007, /* KW_BLOCK */ 118 KW_JUNCTION = 10008, /* KW_JUNCTION */ 119 KW_CHANNEL = 10009, /* KW_CHANNEL */ 120 KW_IF = 10010, /* KW_IF */ 121 KW_ELSE = 10011, /* KW_ELSE */ 122 KW_ELIF = 10012, /* KW_ELIF */ 123 KW_INTERNAL = 10020, /* KW_INTERNAL */ 124 KW_SYSLOG = 10060, /* KW_SYSLOG */ 125 KW_MARK_FREQ = 10071, /* KW_MARK_FREQ */ 126 KW_STATS_FREQ = 10072, /* KW_STATS_FREQ */ 127 KW_STATS_LEVEL = 10073, /* KW_STATS_LEVEL */ 128 KW_STATS_LIFETIME = 10074, /* KW_STATS_LIFETIME */ 129 KW_FLUSH_LINES = 10075, /* KW_FLUSH_LINES */ 130 KW_SUPPRESS = 10076, /* KW_SUPPRESS */ 131 KW_FLUSH_TIMEOUT = 10077, /* KW_FLUSH_TIMEOUT */ 132 KW_LOG_MSG_SIZE = 10078, /* KW_LOG_MSG_SIZE */ 133 KW_FILE_TEMPLATE = 10079, /* KW_FILE_TEMPLATE */ 134 KW_PROTO_TEMPLATE = 10080, /* KW_PROTO_TEMPLATE */ 135 KW_MARK_MODE = 10081, /* KW_MARK_MODE */ 136 KW_ENCODING = 10082, /* KW_ENCODING */ 137 KW_TYPE = 10083, /* KW_TYPE */ 138 KW_STATS_MAX_DYNAMIC = 10084, /* KW_STATS_MAX_DYNAMIC */ 139 KW_MIN_IW_SIZE_PER_READER = 10085, /* KW_MIN_IW_SIZE_PER_READER */ 140 KW_WORKERS = 10086, /* KW_WORKERS */ 141 KW_BATCH_LINES = 10087, /* KW_BATCH_LINES */ 142 KW_BATCH_TIMEOUT = 10088, /* KW_BATCH_TIMEOUT */ 143 KW_TRIM_LARGE_MESSAGES = 10089, /* KW_TRIM_LARGE_MESSAGES */ 144 KW_CHAIN_HOSTNAMES = 10090, /* KW_CHAIN_HOSTNAMES */ 145 KW_NORMALIZE_HOSTNAMES = 10091, /* KW_NORMALIZE_HOSTNAMES */ 146 KW_KEEP_HOSTNAME = 10092, /* KW_KEEP_HOSTNAME */ 147 KW_CHECK_HOSTNAME = 10093, /* KW_CHECK_HOSTNAME */ 148 KW_BAD_HOSTNAME = 10094, /* KW_BAD_HOSTNAME */ 149 KW_KEEP_TIMESTAMP = 10100, /* KW_KEEP_TIMESTAMP */ 150 KW_USE_DNS = 10110, /* KW_USE_DNS */ 151 KW_USE_FQDN = 10111, /* KW_USE_FQDN */ 152 KW_CUSTOM_DOMAIN = 10112, /* KW_CUSTOM_DOMAIN */ 153 KW_DNS_CACHE = 10120, /* KW_DNS_CACHE */ 154 KW_DNS_CACHE_SIZE = 10121, /* KW_DNS_CACHE_SIZE */ 155 KW_DNS_CACHE_EXPIRE = 10130, /* KW_DNS_CACHE_EXPIRE */ 156 KW_DNS_CACHE_EXPIRE_FAILED = 10131, /* KW_DNS_CACHE_EXPIRE_FAILED */ 157 KW_DNS_CACHE_HOSTS = 10132, /* KW_DNS_CACHE_HOSTS */ 158 KW_PERSIST_ONLY = 10140, /* KW_PERSIST_ONLY */ 159 KW_USE_RCPTID = 10141, /* KW_USE_RCPTID */ 160 KW_USE_UNIQID = 10142, /* KW_USE_UNIQID */ 161 KW_TZ_CONVERT = 10150, /* KW_TZ_CONVERT */ 162 KW_TS_FORMAT = 10151, /* KW_TS_FORMAT */ 163 KW_FRAC_DIGITS = 10152, /* KW_FRAC_DIGITS */ 164 KW_LOG_FIFO_SIZE = 10160, /* KW_LOG_FIFO_SIZE */ 165 KW_LOG_FETCH_LIMIT = 10162, /* KW_LOG_FETCH_LIMIT */ 166 KW_LOG_IW_SIZE = 10163, /* KW_LOG_IW_SIZE */ 167 KW_LOG_PREFIX = 10164, /* KW_LOG_PREFIX */ 168 KW_PROGRAM_OVERRIDE = 10165, /* KW_PROGRAM_OVERRIDE */ 169 KW_HOST_OVERRIDE = 10166, /* KW_HOST_OVERRIDE */ 170 KW_THROTTLE = 10170, /* KW_THROTTLE */ 171 KW_THREADED = 10171, /* KW_THREADED */ 172 KW_PASS_UNIX_CREDENTIALS = 10231, /* KW_PASS_UNIX_CREDENTIALS */ 173 KW_PERSIST_NAME = 10302, /* KW_PERSIST_NAME */ 174 KW_READ_OLD_RECORDS = 10304, /* KW_READ_OLD_RECORDS */ 175 KW_USE_SYSLOGNG_PID = 10305, /* KW_USE_SYSLOGNG_PID */ 176 KW_FLAGS = 10190, /* KW_FLAGS */ 177 KW_PAD_SIZE = 10200, /* KW_PAD_SIZE */ 178 KW_TIME_ZONE = 10201, /* KW_TIME_ZONE */ 179 KW_RECV_TIME_ZONE = 10202, /* KW_RECV_TIME_ZONE */ 180 KW_SEND_TIME_ZONE = 10203, /* KW_SEND_TIME_ZONE */ 181 KW_LOCAL_TIME_ZONE = 10204, /* KW_LOCAL_TIME_ZONE */ 182 KW_FORMAT = 10205, /* KW_FORMAT */ 183 KW_TRUNCATE_SIZE = 10206, /* KW_TRUNCATE_SIZE */ 184 KW_TIME_REOPEN = 10210, /* KW_TIME_REOPEN */ 185 KW_TIME_REAP = 10211, /* KW_TIME_REAP */ 186 KW_TIME_SLEEP = 10212, /* KW_TIME_SLEEP */ 187 KW_TMPL_ESCAPE = 10220, /* KW_TMPL_ESCAPE */ 188 KW_OPTIONAL = 10230, /* KW_OPTIONAL */ 189 KW_CREATE_DIRS = 10240, /* KW_CREATE_DIRS */ 190 KW_OWNER = 10250, /* KW_OWNER */ 191 KW_GROUP = 10251, /* KW_GROUP */ 192 KW_PERM = 10252, /* KW_PERM */ 193 KW_DIR_OWNER = 10260, /* KW_DIR_OWNER */ 194 KW_DIR_GROUP = 10261, /* KW_DIR_GROUP */ 195 KW_DIR_PERM = 10262, /* KW_DIR_PERM */ 196 KW_TEMPLATE = 10270, /* KW_TEMPLATE */ 197 KW_TEMPLATE_ESCAPE = 10271, /* KW_TEMPLATE_ESCAPE */ 198 KW_TEMPLATE_FUNCTION = 10272, /* KW_TEMPLATE_FUNCTION */ 199 KW_DEFAULT_FACILITY = 10300, /* KW_DEFAULT_FACILITY */ 200 KW_DEFAULT_SEVERITY = 10301, /* KW_DEFAULT_SEVERITY */ 201 KW_PORT = 10323, /* KW_PORT */ 202 KW_USE_TIME_RECVD = 10340, /* KW_USE_TIME_RECVD */ 203 KW_FACILITY = 10350, /* KW_FACILITY */ 204 KW_SEVERITY = 10351, /* KW_SEVERITY */ 205 KW_HOST = 10352, /* KW_HOST */ 206 KW_MATCH = 10353, /* KW_MATCH */ 207 KW_MESSAGE = 10354, /* KW_MESSAGE */ 208 KW_NETMASK = 10355, /* KW_NETMASK */ 209 KW_TAGS = 10356, /* KW_TAGS */ 210 KW_NETMASK6 = 10357, /* KW_NETMASK6 */ 211 KW_REWRITE = 10370, /* KW_REWRITE */ 212 KW_CONDITION = 10371, /* KW_CONDITION */ 213 KW_VALUE = 10372, /* KW_VALUE */ 214 KW_YES = 10380, /* KW_YES */ 215 KW_NO = 10381, /* KW_NO */ 216 KW_IFDEF = 10410, /* KW_IFDEF */ 217 KW_ENDIF = 10411, /* KW_ENDIF */ 218 LL_DOTDOT = 10420, /* LL_DOTDOT */ 219 LL_DOTDOTDOT = 10421, /* LL_DOTDOTDOT */ 220 LL_PRAGMA = 10422, /* LL_PRAGMA */ 221 LL_EOL = 10423, /* LL_EOL */ 222 LL_ERROR = 10424, /* LL_ERROR */ 223 LL_ARROW = 10425, /* LL_ARROW */ 224 LL_IDENTIFIER = 10430, /* LL_IDENTIFIER */ 225 LL_NUMBER = 10431, /* LL_NUMBER */ 226 LL_FLOAT = 10432, /* LL_FLOAT */ 227 LL_STRING = 10433, /* LL_STRING */ 228 LL_TOKEN = 10434, /* LL_TOKEN */ 229 LL_BLOCK = 10435, /* LL_BLOCK */ 230 KW_VALUE_PAIRS = 10500, /* KW_VALUE_PAIRS */ 231 KW_EXCLUDE = 10502, /* KW_EXCLUDE */ 232 KW_PAIR = 10503, /* KW_PAIR */ 233 KW_KEY = 10504, /* KW_KEY */ 234 KW_SCOPE = 10505, /* KW_SCOPE */ 235 KW_SHIFT = 10506, /* KW_SHIFT */ 236 KW_SHIFT_LEVELS = 10507, /* KW_SHIFT_LEVELS */ 237 KW_REKEY = 10508, /* KW_REKEY */ 238 KW_ADD_PREFIX = 10509, /* KW_ADD_PREFIX */ 239 KW_REPLACE_PREFIX = 10510, /* KW_REPLACE_PREFIX */ 240 KW_ON_ERROR = 10511, /* KW_ON_ERROR */ 241 KW_RETRIES = 10512, /* KW_RETRIES */ 242 KW_FETCH_NO_DATA_DELAY = 10513 /* KW_FETCH_NO_DATA_DELAY */ 243 }; 244 typedef enum main_tokentype main_token_kind_t; 245 #endif 246 /* Token kinds. */ 247 #define MAIN_EMPTY -2 248 #define MAIN_EOF 0 249 #define MAIN_error 256 250 #define MAIN_UNDEF 10514 251 #define LL_CONTEXT_ROOT 1 252 #define LL_CONTEXT_DESTINATION 2 253 #define LL_CONTEXT_SOURCE 3 254 #define LL_CONTEXT_PARSER 4 255 #define LL_CONTEXT_REWRITE 5 256 #define LL_CONTEXT_FILTER 6 257 #define LL_CONTEXT_LOG 7 258 #define LL_CONTEXT_BLOCK_DEF 8 259 #define LL_CONTEXT_BLOCK_REF 9 260 #define LL_CONTEXT_BLOCK_CONTENT 10 261 #define LL_CONTEXT_BLOCK_ARG 11 262 #define LL_CONTEXT_PRAGMA 12 263 #define LL_CONTEXT_FORMAT 13 264 #define LL_CONTEXT_TEMPLATE_FUNC 14 265 #define LL_CONTEXT_INNER_DEST 15 266 #define LL_CONTEXT_INNER_SRC 16 267 #define LL_CONTEXT_CLIENT_PROTO 17 268 #define LL_CONTEXT_SERVER_PROTO 18 269 #define LL_CONTEXT_OPTIONS 19 270 #define LL_CONTEXT_CONFIG 20 271 #define LL_CONTEXT_MAX 21 272 #define KW_SOURCE 10000 273 #define KW_FILTER 10001 274 #define KW_PARSER 10002 275 #define KW_DESTINATION 10003 276 #define KW_LOG 10004 277 #define KW_OPTIONS 10005 278 #define KW_INCLUDE 10006 279 #define KW_BLOCK 10007 280 #define KW_JUNCTION 10008 281 #define KW_CHANNEL 10009 282 #define KW_IF 10010 283 #define KW_ELSE 10011 284 #define KW_ELIF 10012 285 #define KW_INTERNAL 10020 286 #define KW_SYSLOG 10060 287 #define KW_MARK_FREQ 10071 288 #define KW_STATS_FREQ 10072 289 #define KW_STATS_LEVEL 10073 290 #define KW_STATS_LIFETIME 10074 291 #define KW_FLUSH_LINES 10075 292 #define KW_SUPPRESS 10076 293 #define KW_FLUSH_TIMEOUT 10077 294 #define KW_LOG_MSG_SIZE 10078 295 #define KW_FILE_TEMPLATE 10079 296 #define KW_PROTO_TEMPLATE 10080 297 #define KW_MARK_MODE 10081 298 #define KW_ENCODING 10082 299 #define KW_TYPE 10083 300 #define KW_STATS_MAX_DYNAMIC 10084 301 #define KW_MIN_IW_SIZE_PER_READER 10085 302 #define KW_WORKERS 10086 303 #define KW_BATCH_LINES 10087 304 #define KW_BATCH_TIMEOUT 10088 305 #define KW_TRIM_LARGE_MESSAGES 10089 306 #define KW_CHAIN_HOSTNAMES 10090 307 #define KW_NORMALIZE_HOSTNAMES 10091 308 #define KW_KEEP_HOSTNAME 10092 309 #define KW_CHECK_HOSTNAME 10093 310 #define KW_BAD_HOSTNAME 10094 311 #define KW_KEEP_TIMESTAMP 10100 312 #define KW_USE_DNS 10110 313 #define KW_USE_FQDN 10111 314 #define KW_CUSTOM_DOMAIN 10112 315 #define KW_DNS_CACHE 10120 316 #define KW_DNS_CACHE_SIZE 10121 317 #define KW_DNS_CACHE_EXPIRE 10130 318 #define KW_DNS_CACHE_EXPIRE_FAILED 10131 319 #define KW_DNS_CACHE_HOSTS 10132 320 #define KW_PERSIST_ONLY 10140 321 #define KW_USE_RCPTID 10141 322 #define KW_USE_UNIQID 10142 323 #define KW_TZ_CONVERT 10150 324 #define KW_TS_FORMAT 10151 325 #define KW_FRAC_DIGITS 10152 326 #define KW_LOG_FIFO_SIZE 10160 327 #define KW_LOG_FETCH_LIMIT 10162 328 #define KW_LOG_IW_SIZE 10163 329 #define KW_LOG_PREFIX 10164 330 #define KW_PROGRAM_OVERRIDE 10165 331 #define KW_HOST_OVERRIDE 10166 332 #define KW_THROTTLE 10170 333 #define KW_THREADED 10171 334 #define KW_PASS_UNIX_CREDENTIALS 10231 335 #define KW_PERSIST_NAME 10302 336 #define KW_READ_OLD_RECORDS 10304 337 #define KW_USE_SYSLOGNG_PID 10305 338 #define KW_FLAGS 10190 339 #define KW_PAD_SIZE 10200 340 #define KW_TIME_ZONE 10201 341 #define KW_RECV_TIME_ZONE 10202 342 #define KW_SEND_TIME_ZONE 10203 343 #define KW_LOCAL_TIME_ZONE 10204 344 #define KW_FORMAT 10205 345 #define KW_TRUNCATE_SIZE 10206 346 #define KW_TIME_REOPEN 10210 347 #define KW_TIME_REAP 10211 348 #define KW_TIME_SLEEP 10212 349 #define KW_TMPL_ESCAPE 10220 350 #define KW_OPTIONAL 10230 351 #define KW_CREATE_DIRS 10240 352 #define KW_OWNER 10250 353 #define KW_GROUP 10251 354 #define KW_PERM 10252 355 #define KW_DIR_OWNER 10260 356 #define KW_DIR_GROUP 10261 357 #define KW_DIR_PERM 10262 358 #define KW_TEMPLATE 10270 359 #define KW_TEMPLATE_ESCAPE 10271 360 #define KW_TEMPLATE_FUNCTION 10272 361 #define KW_DEFAULT_FACILITY 10300 362 #define KW_DEFAULT_SEVERITY 10301 363 #define KW_PORT 10323 364 #define KW_USE_TIME_RECVD 10340 365 #define KW_FACILITY 10350 366 #define KW_SEVERITY 10351 367 #define KW_HOST 10352 368 #define KW_MATCH 10353 369 #define KW_MESSAGE 10354 370 #define KW_NETMASK 10355 371 #define KW_TAGS 10356 372 #define KW_NETMASK6 10357 373 #define KW_REWRITE 10370 374 #define KW_CONDITION 10371 375 #define KW_VALUE 10372 376 #define KW_YES 10380 377 #define KW_NO 10381 378 #define KW_IFDEF 10410 379 #define KW_ENDIF 10411 380 #define LL_DOTDOT 10420 381 #define LL_DOTDOTDOT 10421 382 #define LL_PRAGMA 10422 383 #define LL_EOL 10423 384 #define LL_ERROR 10424 385 #define LL_ARROW 10425 386 #define LL_IDENTIFIER 10430 387 #define LL_NUMBER 10431 388 #define LL_FLOAT 10432 389 #define LL_STRING 10433 390 #define LL_TOKEN 10434 391 #define LL_BLOCK 10435 392 #define KW_VALUE_PAIRS 10500 393 #define KW_EXCLUDE 10502 394 #define KW_PAIR 10503 395 #define KW_KEY 10504 396 #define KW_SCOPE 10505 397 #define KW_SHIFT 10506 398 #define KW_SHIFT_LEVELS 10507 399 #define KW_REKEY 10508 400 #define KW_ADD_PREFIX 10509 401 #define KW_REPLACE_PREFIX 10510 402 #define KW_ON_ERROR 10511 403 #define KW_RETRIES 10512 404 #define KW_FETCH_NO_DATA_DELAY 10513 405 406 /* Value type. */ 407 #if ! defined MAIN_STYPE && ! defined MAIN_STYPE_IS_DECLARED 408 typedef CFG_STYPE MAIN_STYPE; 409 # define MAIN_STYPE_IS_TRIVIAL 1 410 # define MAIN_STYPE_IS_DECLARED 1 411 #endif 412 413 /* Location type. */ 414 typedef CFG_LTYPE MAIN_LTYPE; 415 416 417 418 419 int main_parse (CfgLexer *lexer, gpointer *dummy, gpointer arg); 420 421 422 #endif /* !YY_MAIN_LIB_CFG_GRAMMAR_H_INCLUDED */ 423