1#!/bin/rc 2 3file=/sys/src/libc/9syscall/sys.h 4 5cat <<'!' 6#include "/sys/src/libc/9syscall/sys.h" 7 8typedef long Syscall(ulong*); 9 10! 11 12sed 's/#define[ ]*([A-Z0-9_][A-Z0-9_]*).*/SYS\1/; s/SYSSYSR1/SYSR1/' $file | 13 tr A-Z a-z | 14 sed 's/.*/Syscall &;/' 15 16cat <<'!' 17Syscall sysdeath; 18 19Syscall *systab[]={ 20! 21sam -d $file >[2] /dev/null <<'!' 22,s/#define.([A-Z0-9_]+).*/ [\1] SYS\1,/g 23,x/SYS[A-Z0-9_]+,/ | tr A-Z a-z 24,x/syssysr1/c/sysr1 25,x/sys_x[0-9]*/c/sysdeath 26,x v/\[......+\]/ s/\]/] 27,p 28! 29 30cat <<'!' 31}; 32 33char *sysctab[]={ 34! 35 36sam -d $file >[2] /dev/null <<'!' 37,s/#define.([A-Z0-9_]+).*/ [\1] "\1",/g 38,x/"[A-Z0-9_]+",/ y/"[A-Z]/ | tr A-Z a-z 39,x/_"/c/" 40,x/Sysr1/c/Running 41,x/Rendezvous/c/Rendez 42,x v/\[......+\]/ s/\]/] 43,p 44! 45 46cat <<'!' 47}; 48 49int nsyscall = (sizeof systab/sizeof systab[0]); 50! 51