home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / glibc-1.06 / mach / shortcut.awk < prev    next >
Encoding:
AWK Script  |  1992-04-02  |  685 b   |  36 lines

  1. # Icky intimate knowledge of MiG output.
  2.  
  3. BEGIN { args=""; argsnext=0; echo=1;
  4.     print "/* This file is generated by shortcut.awk.  */";
  5.       }
  6.  
  7. $NF == rpc \
  8.   {
  9.     for (i = 1; i < NF; ++i) printf "%s ", $i;
  10.     print call;
  11.     next;
  12.   }
  13.  
  14. args == "" && $1 == "#else" { argsnext=1; print $0; next; }
  15.  
  16. argsnext == 1 { args=$0; }
  17.  
  18. { argsnext=0; }
  19.  
  20. /^{/ { echo=0; }
  21.  
  22. echo == 1 { print $0; }
  23.  
  24. /^}/ \
  25.   {
  26.     print "{";
  27.     print "  kern_return_t err;";
  28.     print "  extern kern_return_t " syscall " ();";
  29.     print "  err = " syscall args ";";
  30.     print "  if (err == MACH_SEND_INTERRUPTED)";
  31.     print "    err = " rpc args ";";
  32.     print "  return err;"
  33.     print "}";
  34.     echo = 1;
  35.   }
  36.