logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

printers.awk (404B)


  1. BEGIN {
  2. FS = "\\(|\\)|, "
  3. OFS = ", "
  4. print "typedef struct {"
  5. }
  6. $1 == "MPERS_PRINTER_DECL" {
  7. printf " %s (*%s)(%s", $2, $3, $4
  8. for (i = 5; i < NF; ++i)
  9. printf ", %s", $i
  10. print ");"
  11. print "#define " $3 " MPERS_PRINTER_NAME(" $3 ")\n"
  12. }
  13. END {
  14. print "} struct_printers;"
  15. print "extern const struct_printers *printers;"
  16. print "#define MPERS_PRINTER_NAME(printer_name) printers->printer_name"
  17. }