summaryrefslogtreecommitdiff
path: root/pkg/strace/printers.awk
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2017-02-25 14:32:30 -0800
committerMichael Forney <mforney@mforney.org>2017-02-25 14:50:33 -0800
commitd785e9083077a7620a7cb9c2efada4dab7112bc0 (patch)
treedc11e417341ad637ba2d03cdd29f4d951445cdb6 /pkg/strace/printers.awk
parent2ffb8bfc373bca335f99debebeafe8cf48381063 (diff)
Add strace 4.16
Diffstat (limited to 'pkg/strace/printers.awk')
-rw-r--r--pkg/strace/printers.awk19
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"
+}