aboutsummaryrefslogtreecommitdiff
path: root/mach/shortcut.awk
diff options
context:
space:
mode:
Diffstat (limited to 'mach/shortcut.awk')
-rw-r--r--mach/shortcut.awk50
1 files changed, 0 insertions, 50 deletions
diff --git a/mach/shortcut.awk b/mach/shortcut.awk
deleted file mode 100644
index ea283d49ba..0000000000
--- a/mach/shortcut.awk
+++ /dev/null
@@ -1,50 +0,0 @@
-# Icky intimate knowledge of MiG output.
-
-BEGIN { print "/* This file is generated by shortcut.awk. */";
- echo=1;
- inproto=0; proto=""; arglist="";
- }
-
-$1 == "LINTLIBRARY" { print "#include <mach.h>"; next }
-
-$1 == "weak_alias" { next }
-
-# Copy the first line of the definition, but
-# replace the function name (RPC) with CALL.
-$NF == rpc \
- {
- for (i = 1; i < NF; ++i) printf "%s ", $i;
- print call;
- next;
- }
-
-# Collect the lines of the prototype in PROTO, and extract the parameter
-# names into ARGLIST.
-NF == 1 && $1 == ")" { inproto=0 }
-inproto { proto = proto $0;
- arg = $NF;
- gsub(/[^a-zA-Z0-9_,]/, "", arg);
- arglist = arglist arg;
- }
-NF == 1 && $1 == "(" { inproto=1 }
-
-/^{$/ { echo=0; }
-
-echo == 1 { print $0; }
-
-/^}$/ && proto != "" \
- {
- print "{";
- print " kern_return_t err;";
- print " extern kern_return_t " syscall " (" proto ");";
- print " extern kern_return_t " rpc " (" proto ");";
- print " err = " syscall " (" arglist ");";
- print " if (err == MACH_SEND_INTERRUPTED)";
- print " err = " rpc " (" arglist ");";
- print " return err;"
- print "}";
- print "weak_alias (" call ", " alias ")";
- # Declare RPC so the weak_alias that follows will work.
- print "extern __typeof (" call ") " rpc ";";
- echo = 1;
- }