1 /* A Bison parser, made by GNU Bison 3.7.6. */ 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_YY_ZPARSER_H_INCLUDED 39 # define YY_YY_ZPARSER_H_INCLUDED 40 /* Debug traces. */ 41 #ifndef YYDEBUG 42 # define YYDEBUG 0 43 #endif 44 #if YYDEBUG 45 extern int yydebug; 46 #endif 47 48 /* Token kinds. */ 49 #ifndef YYTOKENTYPE 50 # define YYTOKENTYPE 51 enum yytokentype 52 { 53 YYEMPTY = -2, 54 YYEOF = 0, /* "end of file" */ 55 YYerror = 256, /* error */ 56 YYUNDEF = 257, /* "invalid token" */ 57 T_A = 258, /* T_A */ 58 T_NS = 259, /* T_NS */ 59 T_MX = 260, /* T_MX */ 60 T_TXT = 261, /* T_TXT */ 61 T_CNAME = 262, /* T_CNAME */ 62 T_AAAA = 263, /* T_AAAA */ 63 T_PTR = 264, /* T_PTR */ 64 T_NXT = 265, /* T_NXT */ 65 T_KEY = 266, /* T_KEY */ 66 T_SOA = 267, /* T_SOA */ 67 T_SIG = 268, /* T_SIG */ 68 T_SRV = 269, /* T_SRV */ 69 T_CERT = 270, /* T_CERT */ 70 T_LOC = 271, /* T_LOC */ 71 T_MD = 272, /* T_MD */ 72 T_MF = 273, /* T_MF */ 73 T_MB = 274, /* T_MB */ 74 T_MG = 275, /* T_MG */ 75 T_MR = 276, /* T_MR */ 76 T_NULL = 277, /* T_NULL */ 77 T_WKS = 278, /* T_WKS */ 78 T_HINFO = 279, /* T_HINFO */ 79 T_MINFO = 280, /* T_MINFO */ 80 T_RP = 281, /* T_RP */ 81 T_AFSDB = 282, /* T_AFSDB */ 82 T_X25 = 283, /* T_X25 */ 83 T_ISDN = 284, /* T_ISDN */ 84 T_RT = 285, /* T_RT */ 85 T_NSAP = 286, /* T_NSAP */ 86 T_NSAP_PTR = 287, /* T_NSAP_PTR */ 87 T_PX = 288, /* T_PX */ 88 T_GPOS = 289, /* T_GPOS */ 89 T_EID = 290, /* T_EID */ 90 T_NIMLOC = 291, /* T_NIMLOC */ 91 T_ATMA = 292, /* T_ATMA */ 92 T_NAPTR = 293, /* T_NAPTR */ 93 T_KX = 294, /* T_KX */ 94 T_A6 = 295, /* T_A6 */ 95 T_DNAME = 296, /* T_DNAME */ 96 T_SINK = 297, /* T_SINK */ 97 T_OPT = 298, /* T_OPT */ 98 T_APL = 299, /* T_APL */ 99 T_UINFO = 300, /* T_UINFO */ 100 T_UID = 301, /* T_UID */ 101 T_GID = 302, /* T_GID */ 102 T_UNSPEC = 303, /* T_UNSPEC */ 103 T_TKEY = 304, /* T_TKEY */ 104 T_TSIG = 305, /* T_TSIG */ 105 T_IXFR = 306, /* T_IXFR */ 106 T_AXFR = 307, /* T_AXFR */ 107 T_MAILB = 308, /* T_MAILB */ 108 T_MAILA = 309, /* T_MAILA */ 109 T_DS = 310, /* T_DS */ 110 T_DLV = 311, /* T_DLV */ 111 T_SSHFP = 312, /* T_SSHFP */ 112 T_RRSIG = 313, /* T_RRSIG */ 113 T_NSEC = 314, /* T_NSEC */ 114 T_DNSKEY = 315, /* T_DNSKEY */ 115 T_SPF = 316, /* T_SPF */ 116 T_NSEC3 = 317, /* T_NSEC3 */ 117 T_IPSECKEY = 318, /* T_IPSECKEY */ 118 T_DHCID = 319, /* T_DHCID */ 119 T_NSEC3PARAM = 320, /* T_NSEC3PARAM */ 120 T_TLSA = 321, /* T_TLSA */ 121 T_URI = 322, /* T_URI */ 122 T_NID = 323, /* T_NID */ 123 T_L32 = 324, /* T_L32 */ 124 T_L64 = 325, /* T_L64 */ 125 T_LP = 326, /* T_LP */ 126 T_EUI48 = 327, /* T_EUI48 */ 127 T_EUI64 = 328, /* T_EUI64 */ 128 T_CAA = 329, /* T_CAA */ 129 T_CDS = 330, /* T_CDS */ 130 T_CDNSKEY = 331, /* T_CDNSKEY */ 131 T_OPENPGPKEY = 332, /* T_OPENPGPKEY */ 132 T_CSYNC = 333, /* T_CSYNC */ 133 T_ZONEMD = 334, /* T_ZONEMD */ 134 T_AVC = 335, /* T_AVC */ 135 T_SMIMEA = 336, /* T_SMIMEA */ 136 T_SVCB = 337, /* T_SVCB */ 137 T_HTTPS = 338, /* T_HTTPS */ 138 DOLLAR_TTL = 339, /* DOLLAR_TTL */ 139 DOLLAR_ORIGIN = 340, /* DOLLAR_ORIGIN */ 140 NL = 341, /* NL */ 141 SP = 342, /* SP */ 142 QSTR = 343, /* QSTR */ 143 STR = 344, /* STR */ 144 PREV = 345, /* PREV */ 145 BITLAB = 346, /* BITLAB */ 146 T_TTL = 347, /* T_TTL */ 147 T_RRCLASS = 348, /* T_RRCLASS */ 148 URR = 349, /* URR */ 149 T_UTYPE = 350 /* T_UTYPE */ 150 }; 151 typedef enum yytokentype yytoken_kind_t; 152 #endif 153 /* Token kinds. */ 154 #define YYEMPTY -2 155 #define YYEOF 0 156 #define YYerror 256 157 #define YYUNDEF 257 158 #define T_A 258 159 #define T_NS 259 160 #define T_MX 260 161 #define T_TXT 261 162 #define T_CNAME 262 163 #define T_AAAA 263 164 #define T_PTR 264 165 #define T_NXT 265 166 #define T_KEY 266 167 #define T_SOA 267 168 #define T_SIG 268 169 #define T_SRV 269 170 #define T_CERT 270 171 #define T_LOC 271 172 #define T_MD 272 173 #define T_MF 273 174 #define T_MB 274 175 #define T_MG 275 176 #define T_MR 276 177 #define T_NULL 277 178 #define T_WKS 278 179 #define T_HINFO 279 180 #define T_MINFO 280 181 #define T_RP 281 182 #define T_AFSDB 282 183 #define T_X25 283 184 #define T_ISDN 284 185 #define T_RT 285 186 #define T_NSAP 286 187 #define T_NSAP_PTR 287 188 #define T_PX 288 189 #define T_GPOS 289 190 #define T_EID 290 191 #define T_NIMLOC 291 192 #define T_ATMA 292 193 #define T_NAPTR 293 194 #define T_KX 294 195 #define T_A6 295 196 #define T_DNAME 296 197 #define T_SINK 297 198 #define T_OPT 298 199 #define T_APL 299 200 #define T_UINFO 300 201 #define T_UID 301 202 #define T_GID 302 203 #define T_UNSPEC 303 204 #define T_TKEY 304 205 #define T_TSIG 305 206 #define T_IXFR 306 207 #define T_AXFR 307 208 #define T_MAILB 308 209 #define T_MAILA 309 210 #define T_DS 310 211 #define T_DLV 311 212 #define T_SSHFP 312 213 #define T_RRSIG 313 214 #define T_NSEC 314 215 #define T_DNSKEY 315 216 #define T_SPF 316 217 #define T_NSEC3 317 218 #define T_IPSECKEY 318 219 #define T_DHCID 319 220 #define T_NSEC3PARAM 320 221 #define T_TLSA 321 222 #define T_URI 322 223 #define T_NID 323 224 #define T_L32 324 225 #define T_L64 325 226 #define T_LP 326 227 #define T_EUI48 327 228 #define T_EUI64 328 229 #define T_CAA 329 230 #define T_CDS 330 231 #define T_CDNSKEY 331 232 #define T_OPENPGPKEY 332 233 #define T_CSYNC 333 234 #define T_ZONEMD 334 235 #define T_AVC 335 236 #define T_SMIMEA 336 237 #define T_SVCB 337 238 #define T_HTTPS 338 239 #define DOLLAR_TTL 339 240 #define DOLLAR_ORIGIN 340 241 #define NL 341 242 #define SP 342 243 #define QSTR 343 244 #define STR 344 245 #define PREV 345 246 #define BITLAB 346 247 #define T_TTL 347 248 #define T_RRCLASS 348 249 #define URR 349 250 #define T_UTYPE 350 251 252 /* Value type. */ 253 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 254 union YYSTYPE 255 { 256 #line 50 "zparser.y" 257 258 domain_type *domain; 259 const dname_type *dname; 260 struct lex_data data; 261 uint32_t ttl; 262 uint16_t klass; 263 uint16_t type; 264 uint16_t *unknown; 265 266 #line 267 "zparser.h" 267 268 }; 269 typedef union YYSTYPE YYSTYPE; 270 # define YYSTYPE_IS_TRIVIAL 1 271 # define YYSTYPE_IS_DECLARED 1 272 #endif 273 274 275 extern YYSTYPE yylval; 276 277 int yyparse (void); 278 279 #endif /* !YY_YY_ZPARSER_H_INCLUDED */ 280