Initial revision
[kopensolaris-gnu/glibc.git] / mach / shortcut.awk
1 # Icky intimate knowledge of MiG output.
2
3 BEGIN { args=""; argsnext=0; echo=1; }
4
5 $NF == rpc \
6   {
7     for (i = 1; i < NF; ++i) printf "%s ", $i;
8     print call;
9     next;
10   }
11
12 args == "" && $1 == "#else" { argsnext=1; print $0; next; }
13
14 argsnext == 1 { args=$0; }
15
16 { argsnext=0; }
17
18 /^{/ { echo=0; }
19
20 echo == 1 { print $0; }
21
22 /^}/ \
23   {
24     print "{";
25     print "  kern_return_t err;";
26     print "  err = " syscall args ";";
27     print "  if (err == MACH_SEND_INTERRUPTED)";
28     print "    err = " rpc args ";";
29     print "  return err;"
30     print "}";
31     echo = 1;
32   }