diff options
Diffstat (limited to 'pkg/strace/printers.awk')
| -rw-r--r-- | pkg/strace/printers.awk | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pkg/strace/printers.awk b/pkg/strace/printers.awk new file mode 100644 index 00000000..cb3fa15a --- /dev/null +++ b/pkg/strace/printers.awk @@ -0,0 +1,19 @@ +BEGIN { + FS = "\\(|\\)|, " + OFS = ", " + print "typedef struct {" +} + +$1 == "MPERS_PRINTER_DECL" { + printf " %s (*%s)(%s", $2, $3, $4 + for (i = 5; i < NF; ++i) + printf ", %s", $i + print ");" + print "#define " $3 " MPERS_PRINTER_NAME(" $3 ")\n" +} + +END { + print "} struct_printers;" + print "extern const struct_printers *printers;" + print "#define MPERS_PRINTER_NAME(printer_name) printers->printer_name" +} |
