grammar.c
来自「Ubuntu packages of security software。 相」· C语言 代码 · 共 1,792 行 · 第 1/4 页
C
1,792 行
case 86:#line 312 "grammar.y"{ yyval.i = Q_ISIS; }break;case 87:#line 313 "grammar.y"{ yyval.i = Q_ISIS_L1; }break;case 88:#line 314 "grammar.y"{ yyval.i = Q_ISIS_L2; }break;case 89:#line 315 "grammar.y"{ yyval.i = Q_ISIS_IIH; }break;case 90:#line 316 "grammar.y"{ yyval.i = Q_ISIS_LSP; }break;case 91:#line 317 "grammar.y"{ yyval.i = Q_ISIS_SNP; }break;case 92:#line 318 "grammar.y"{ yyval.i = Q_ISIS_PSNP; }break;case 93:#line 319 "grammar.y"{ yyval.i = Q_ISIS_CSNP; }break;case 94:#line 320 "grammar.y"{ yyval.i = Q_CLNP; }break;case 95:#line 321 "grammar.y"{ yyval.i = Q_STP; }break;case 96:#line 322 "grammar.y"{ yyval.i = Q_IPX; }break;case 97:#line 323 "grammar.y"{ yyval.i = Q_NETBEUI; }break;case 98:#line 324 "grammar.y"{ yyval.i = Q_RADIO; }break;case 99:#line 326 "grammar.y"{ yyval.rblk = gen_broadcast(yyvsp[-1].i); }break;case 100:#line 327 "grammar.y"{ yyval.rblk = gen_multicast(yyvsp[-1].i); }break;case 101:#line 328 "grammar.y"{ yyval.rblk = gen_less(yyvsp[0].i); }break;case 102:#line 329 "grammar.y"{ yyval.rblk = gen_greater(yyvsp[0].i); }break;case 103:#line 330 "grammar.y"{ yyval.rblk = gen_byteop(yyvsp[-1].i, yyvsp[-2].i, yyvsp[0].i); }break;case 104:#line 331 "grammar.y"{ yyval.rblk = gen_inbound(0); }break;case 105:#line 332 "grammar.y"{ yyval.rblk = gen_inbound(1); }break;case 106:#line 333 "grammar.y"{ yyval.rblk = gen_vlan(yyvsp[0].i); }break;case 107:#line 334 "grammar.y"{ yyval.rblk = gen_vlan(-1); }break;case 108:#line 335 "grammar.y"{ yyval.rblk = gen_mpls(yyvsp[0].i); }break;case 109:#line 336 "grammar.y"{ yyval.rblk = gen_mpls(-1); }break;case 110:#line 337 "grammar.y"{ yyval.rblk = gen_pppoed(); }break;case 111:#line 338 "grammar.y"{ yyval.rblk = gen_pppoes(); }break;case 112:#line 339 "grammar.y"{ yyval.rblk = yyvsp[0].rblk; }break;case 113:#line 342 "grammar.y"{ yyval.rblk = gen_pf_ifname(yyvsp[0].s); }break;case 114:#line 343 "grammar.y"{ yyval.rblk = gen_pf_ruleset(yyvsp[0].s); }break;case 115:#line 344 "grammar.y"{ yyval.rblk = gen_pf_rnr(yyvsp[0].i); }break;case 116:#line 345 "grammar.y"{ yyval.rblk = gen_pf_srnr(yyvsp[0].i); }break;case 117:#line 346 "grammar.y"{ yyval.rblk = gen_pf_reason(yyvsp[0].i); }break;case 118:#line 347 "grammar.y"{ yyval.rblk = gen_pf_action(yyvsp[0].i); }break;case 119:#line 350 "grammar.y"{ yyval.i = yyvsp[0].i; }break;case 120:#line 351 "grammar.y"{ const char *reasons[] = PFRES_NAMES; int i; for (i = 0; reasons[i]; i++) { if (pcap_strcasecmp(yyvsp[0].s, reasons[i]) == 0) { yyval.i = i; break; } } if (reasons[i] == NULL) bpf_error("unknown PF reason"); }break;case 121:#line 364 "grammar.y"{ if (pcap_strcasecmp(yyvsp[0].s, "pass") == 0 || pcap_strcasecmp(yyvsp[0].s, "accept") == 0) yyval.i = PF_PASS; else if (pcap_strcasecmp(yyvsp[0].s, "drop") == 0 || pcap_strcasecmp(yyvsp[0].s, "block") == 0) yyval.i = PF_DROP; else bpf_error("unknown PF action"); }break;case 122:#line 375 "grammar.y"{ yyval.i = BPF_JGT; }break;case 123:#line 376 "grammar.y"{ yyval.i = BPF_JGE; }break;case 124:#line 377 "grammar.y"{ yyval.i = BPF_JEQ; }break;case 125:#line 379 "grammar.y"{ yyval.i = BPF_JGT; }break;case 126:#line 380 "grammar.y"{ yyval.i = BPF_JGE; }break;case 127:#line 381 "grammar.y"{ yyval.i = BPF_JEQ; }break;case 128:#line 383 "grammar.y"{ yyval.a = gen_loadi(yyvsp[0].i); }break;case 130:#line 386 "grammar.y"{ yyval.a = gen_load(yyvsp[-3].i, yyvsp[-1].a, 1); }break;case 131:#line 387 "grammar.y"{ yyval.a = gen_load(yyvsp[-5].i, yyvsp[-3].a, yyvsp[-1].i); }break;case 132:#line 388 "grammar.y"{ yyval.a = gen_arth(BPF_ADD, yyvsp[-2].a, yyvsp[0].a); }break;case 133:#line 389 "grammar.y"{ yyval.a = gen_arth(BPF_SUB, yyvsp[-2].a, yyvsp[0].a); }break;case 134:#line 390 "grammar.y"{ yyval.a = gen_arth(BPF_MUL, yyvsp[-2].a, yyvsp[0].a); }break;case 135:#line 391 "grammar.y"{ yyval.a = gen_arth(BPF_DIV, yyvsp[-2].a, yyvsp[0].a); }break;case 136:#line 392 "grammar.y"{ yyval.a = gen_arth(BPF_AND, yyvsp[-2].a, yyvsp[0].a); }break;case 137:#line 393 "grammar.y"{ yyval.a = gen_arth(BPF_OR, yyvsp[-2].a, yyvsp[0].a); }break;case 138:#line 394 "grammar.y"{ yyval.a = gen_arth(BPF_LSH, yyvsp[-2].a, yyvsp[0].a); }break;case 139:#line 395 "grammar.y"{ yyval.a = gen_arth(BPF_RSH, yyvsp[-2].a, yyvsp[0].a); }break;case 140:#line 396 "grammar.y"{ yyval.a = gen_neg(yyvsp[0].a); }break;case 141:#line 397 "grammar.y"{ yyval.a = yyvsp[-1].a; }break;case 142:#line 398 "grammar.y"{ yyval.a = gen_loadlen(); }break;case 143:#line 400 "grammar.y"{ yyval.i = '&'; }break;case 144:#line 401 "grammar.y"{ yyval.i = '|'; }break;case 145:#line 402 "grammar.y"{ yyval.i = '<'; }break;case 146:#line 403 "grammar.y"{ yyval.i = '>'; }break;case 147:#line 404 "grammar.y"{ yyval.i = '='; }break;case 149:#line 407 "grammar.y"{ yyval.i = yyvsp[-1].i; }break;case 150:#line 409 "grammar.y"{ yyval.i = A_LANE; }break;case 151:#line 410 "grammar.y"{ yyval.i = A_LLC; }break;case 152:#line 411 "grammar.y"{ yyval.i = A_METAC; }break;case 153:#line 412 "grammar.y"{ yyval.i = A_BCC; }break;case 154:#line 413 "grammar.y"{ yyval.i = A_OAMF4EC; }break;case 155:#line 414 "grammar.y"{ yyval.i = A_OAMF4SC; }break;case 156:#line 415 "grammar.y"{ yyval.i = A_SC; }break;case 157:#line 416 "grammar.y"{ yyval.i = A_ILMIC; }break;case 158:#line 418 "grammar.y"{ yyval.i = A_OAM; }break;case 159:#line 419 "grammar.y"{ yyval.i = A_OAMF4; }break;case 160:#line 420 "grammar.y"{ yyval.i = A_CONNECTMSG; }break;case 161:#line 421 "grammar.y"{ yyval.i = A_METACONNECT; }break;case 162:#line 424 "grammar.y"{ yyval.blk.atmfieldtype = A_VPI; }break;case 163:#line 425 "grammar.y"{ yyval.blk.atmfieldtype = A_VCI; }break;case 165:#line 428 "grammar.y"{ yyval.blk.b = gen_atmfield_code(yyvsp[-2].blk.atmfieldtype, (bpf_int32)yyvsp[0].i, (bpf_u_int32)yyvsp[-1].i, 0); }break;case 166:#line 429 "grammar.y"{ yyval.blk.b = gen_atmfield_code(yyvsp[-2].blk.atmfieldtype, (bpf_int32)yyvsp[0].i, (bpf_u_int32)yyvsp[-1].i, 1); }break;case 167:#line 430 "grammar.y"{ yyval.blk.b = yyvsp[-1].blk.b; yyval.blk.q = qerr; }break;case 168:#line 432 "grammar.y"{ yyval.blk.atmfieldtype = yyvsp[-1].blk.atmfieldtype; if (yyval.blk.atmfieldtype == A_VPI || yyval.blk.atmfieldtype == A_VCI) yyval.blk.b = gen_atmfield_code(yyval.blk.atmfieldtype, (bpf_int32) yyvsp[0].i, BPF_JEQ, 0); }break;case 170:#line 440 "grammar.y"{ gen_or(yyvsp[-2].blk.b, yyvsp[0].blk.b); yyval.blk = yyvsp[0].blk; }break;case 171:#line 443 "grammar.y"{ yyval.blk.mtp3fieldtype = M_SIO; }break;case 172:#line 444 "grammar.y"{ yyval.blk.mtp3fieldtype = M_OPC; }break;case 173:#line 445 "grammar.y"{ yyval.blk.mtp3fieldtype = M_DPC; }break;case 174:#line 446 "grammar.y"{ yyval.blk.mtp3fieldtype = M_SLS; }break;case 176:#line 449 "grammar.y"{ yyval.blk.b = gen_mtp3field_code(yyvsp[-2].blk.mtp3fieldtype, (u_int)yyvsp[0].i, (u_int)yyvsp[-1].i, 0); }break;case 177:#line 450 "grammar.y"{ yyval.blk.b = gen_mtp3field_code(yyvsp[-2].blk.mtp3fieldtype, (u_int)yyvsp[0].i, (u_int)yyvsp[-1].i, 1); }break;case 178:#line 451 "grammar.y"{ yyval.blk.b = yyvsp[-1].blk.b; yyval.blk.q = qerr; }break;case 179:#line 453 "grammar.y"{ yyval.blk.mtp3fieldtype = yyvsp[-1].blk.mtp3fieldtype; if (yyval.blk.mtp3fieldtype == M_SIO || yyval.blk.mtp3fieldtype == M_OPC || yyval.blk.mtp3fieldtype == M_DPC || yyval.blk.mtp3fieldtype == M_SLS ) yyval.blk.b = gen_mtp3field_code(yyval.blk.mtp3fieldtype, (u_int) yyvsp[0].i, BPF_JEQ, 0); }break;case 181:#line 463 "grammar.y"{ gen_or(yyvsp[-2].blk.b, yyvsp[0].blk.b); yyval.blk = yyvsp[0].blk; }break;#line 1736 "y.tab.c" } yyssp -= yym; yystate = *yyssp; yyvsp -= yym; yym = yylhs[yyn]; if (yystate == 0 && yym == 0) {#if YYDEBUG if (yydebug) printf("%sdebug: after reduction, shifting from state 0 to\ state %d\n", YYPREFIX, YYFINAL);#endif yystate = YYFINAL; *++yyssp = YYFINAL; *++yyvsp = yyval; if (yychar < 0) { if ((yychar = yylex()) < 0) yychar = 0;#if YYDEBUG if (yydebug) { yys = 0; if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; printf("%sdebug: state %d, reading %d (%s)\n", YYPREFIX, YYFINAL, yychar, yys); }#endif } if (yychar == 0) goto yyaccept; goto yyloop; } if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && yyn <= YYTABLESIZE && yycheck[yyn] == yystate) yystate = yytable[yyn]; else yystate = yydgoto[yym];#if YYDEBUG if (yydebug) printf("%sdebug: after reduction, shifting from state %d \to state %d\n", YYPREFIX, *yyssp, yystate);#endif if (yyssp >= yysslim && yygrowstack()) { goto yyoverflow; } *++yyssp = yystate; *++yyvsp = yyval; goto yyloop;yyoverflow: yyerror("yacc stack overflow");yyabort: return (1);yyaccept: return (0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?