/* * netsniff-ng - the packet sniffing beast * By Daniel Borkmann * Copyright 2012 Daniel Borkmann , * Swiss federal institute of technology (ETH Zurich) * Subject to the GPL, version 2. */ /* lex-func-prefix: yy */ %{ #include #include #include #include #include "bpf_parser.tab.h" #include "xmalloc.h" extern void yyerror(const char *); %} %option align %option nounput %option noyywrap %option noreject %option 8bit %option caseless %option noinput %option nodefault number_oct ([0][0-9]+) number_hex ([0][x][a-fA-F0-9]+) number_bin ([0][b][0-1]+) number_dec (([0])|([-+]?[1-9][0-9]*)) label [a-zA-Z_][a-zA-Z0-9_]+ %% "ldb" { return OP_LDB; } "ldh" { return OP_LDH; } "ld" { return OP_LD; } "ldi" { return OP_LDI; } "ldx" { return OP_LDX; } "ldxi" { return OP_LDXI; } "ldxb" { return OP_LDXB; } "st" { return OP_ST; } "stx" { return OP_STX; } "jmp"|"ja" { return OP_JMP; } "jeq" { return OP_JEQ; } "jneq"|"jne" { return OP_JNEQ; } "jlt" { return OP_JLT; } "jle" { return OP_JLE; } "jgt" { return OP_JGT; } "jge" { return OP_JGE; } "jset" { return OP_JSET; } "add" { return OP_ADD; } "sub" { return OP_SUB; } "mul" { return OP_MUL; } "div" { return OP_DIV; } "mod" { return OP_MOD; } "neg" { return OP_NEG; } "and" { return OP_AND; } "xor" { return OP_XOR; } "or" { return OP_OR; } "lsh" { return OP_LSH; } "rsh" { return OP_RSH; } "ret" { return OP_RET; } "tax" { return OP_TAX; } "txa" { return OP_TXA; } "#"?("len"|"pktlen") { return K_PKT_LEN; } "#"?("pto"|"proto") { return K_PROTO; } "#"?("type") { return K_TYPE; } "#"?("poff") { return K_POFF; } "#"?("ifx"|"ifidx") { return K_IFIDX; } "#"?("nla") { return K_NLATTR; } "#"?("nlan") { return K_NLATTR_NEST; } "#"?("mark") { return K_MARK; } "#"?("que"|"queue"|"Q") { return K_QUEUE; } "#"?("hat"|"hatype") { return K_HATYPE; } "#"?("rxh"|"rxhash") { return K_RXHASH; } "#"?("cpu") { return K_CPU; } "#"?("vlant"|"vlan_tci") { return K_VLANT; } "#"?("vlana"|"vlan_acc") { return K_VLANP; } "#"?("vlanp") { return K_VLANP; } ":" { return ':'; } "," { return ','; } "#" { return '#'; } "[" { return '['; } "]" { return ']'; } "(" { return '('; } ")" { return ')'; } "x" { return 'x'; } "a" { return 'a'; } "+" { return '+'; } "M" { return 'M'; } "*" { return '*'; } "&" { return '&'; } {number_hex} { yylval.number = strtoul(yytext, NULL, 16); return number; } {number_oct} { yylval.number = strtol(yytext + 1, NULL, 8); return number; } {number_bin} { yylval.number = strtol(yytext + 2, NULL, 2); return number; } {number_dec} { yylval.number = strtol(yytext, NULL, 10); return number; } {label} { yylval.label = xstrdup(yytext); return label; } "/*"([^\*]|\*[^/])*"*/" { /* NOP */ } ";"[^\n]* {/* NOP */} ^#.* {/* NOP */} "\n" { yylineno++; } [ \t]+ {/* NOP */ } . { printf("Unknown character '%s'", yytext); yyerror("lex Unknown character"); } %% space:mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-12 21:58:13 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-12 21:58:13 -0800
commite7aa8c2eb11ba69b1b69099c3c7bd6be3087b0ba (patch)
treef63906f41699c8e38af9d12b063e2ceab0286ef2 /Documentation/kbuild/modules.txt
parente34bac726d27056081d0250c0e173e4b155aa340 (diff)
parent868c97a846a73e937d835b09b8c885a69df50ec8 (diff)
Merge tag 'docs-4.10' of git://git.lwn.net/linuxHEADmaster
Pull documentation update from Jonathan Corbet: "These are the documentation changes for 4.10. It's another busy cycle for the docs tree, as the sphinx conversion continues. Highlights include: - Further work on PDF output, which remains a bit of a pain but should be more solid now. - Five more DocBook template files converted to Sphinx. Only 27 to go... Lots of plain-text files have also been converted and integrated. - Images in binary formats have been replaced with more source-friendly versions. - Various bits of organizational work, including the renaming of various files discussed at the kernel summit. - New documentation for the device_link mechanism. ... and, of course, lots of typo fixes and small updates" * tag 'docs-4.10' of git://git.lwn.net/linux: (193 commits) dma-buf: Extract dma-buf.rst Update Documentation/00-INDEX docs: 00-INDEX: document directories/files with no docs docs: 00-INDEX: remove non-existing entries docs: 00-INDEX: add missing entries for documentation files/dirs docs: 00-INDEX: consolidate process/ and admin-guide/ description scripts: add a script to check if Documentation/00-INDEX is sane Docs: change sh -> awk in REPORTING-BUGS Documentation/core-api/device_link: Add initial documentation core-api: remove an unexpected unident ppc/idle: Add documentation for powersave=off Doc: Correct typo, "Introdution" => "Introduction" Documentation/atomic_ops.txt: convert to ReST markup Documentation/local_ops.txt: convert to ReST markup Documentation/assoc_array.txt: convert to ReST markup docs-rst: parse-headers.pl: cleanup the documentation docs-rst: fix media cleandocs target docs-rst: media/Makefile: reorganize the rules docs-rst: media: build SVG from graphviz files docs-rst: replace bayer.png by a SVG image ...
Diffstat (limited to 'Documentation/kbuild/modules.txt')