Files
oasis-linux-mirror/pkg/strace/printers.awk
Michael Forney d785e90830 Add strace 4.16
2017-02-25 14:50:33 -08:00

20 lines
404 B
Awk

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"
}