summaryrefslogtreecommitdiffstats
path: root/tools/all_syscalls
diff options
context:
space:
mode:
Diffstat (limited to 'tools/all_syscalls')
-rwxr-xr-xtools/all_syscalls15
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/all_syscalls b/tools/all_syscalls
new file mode 100755
index 0000000..9c14778
--- /dev/null
+++ b/tools/all_syscalls
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+set -e
+
+OUTPUT=syscalls.h
+SYSCALL_INCLUDES="
+#include <sys/syscall.h>
+"
+
+trap 'rm $OUTPUT $OUTPUT.deps' ERR
+
+"$@" -MD -MF "$OUTPUT.deps" <<< "$SYSCALL_INCLUDES" -dM -E - \
+ | gawk 'match($0, /^#define __NR_([^ ]+)/, res) { print "UL_SYSCALL(\"" res[1] "\", __NR_" res[1] ")" }' \
+ | sort \
+ > "$OUTPUT"