File: mkHelpers

package info (click to toggle)
dtrace 2.0.5-1
  • links: PTS
  • area: main
  • in suites: sid
  • size: 24,408 kB
  • sloc: ansic: 61,247; sh: 17,997; asm: 1,717; lex: 947; awk: 754; yacc: 695; perl: 37; sed: 17; makefile: 15
file content (25 lines) | stat: -rwxr-xr-x 576 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/awk -f
#
# Make a header file associating BPF_FUNC_* symbolic names with BPF helper ids.

BEGIN {
	print "#ifndef _BPF_ASM_HELPERS_H\n" \
	      "#define _BPF_ASM_HELPERS_H\n";
}

$1 == "static" && /=/ && /[ \t]+[1-9][0-9]*[ \t]*;/ {
	if (match($0, /[ \t\*]bpf_[_A-Za-z0-9]+[ \t]*\)/) > 0) {
		fn = substr($0, RSTART + 5, RLENGTH - 6);
		sub(/[ \t]+/, "", fn);

		match($0, /[ \t]+[1-9][0-9]*[ \t]*;/);
		id = substr($0, RSTART, RLENGTH - 1);
		gsub(/[ \t]+/,"", id);

		print "#define BPF_FUNC_"fn " " id;
	}
}

END {
	print "\n#endif /* _BPF_ASM_HELPERS_H */";
}