#!/bin/rc cat <<'!' #undef CHDIR /* BUG */ #include "/sys/src/libc/9syscall/sys.h" typedef long Syscall(ulong*); ! sed 's/#define[ ]*([A-Z0-9_][A-Z0-9_]*).*/SYS\1/; s/SYSSYSR1/SYSR1/' /sys/src/libc/9syscall/sys.h | tr A-Z a-z | sed 's/.*/Syscall &;/g' cat <<'!' Syscall sysdeath; Syscall *systab[]={ ! sam -d /sys/src/libc/9syscall/sys.h >[2] /dev/null <<'!' ,s/#define.([A-Z0-9_]+).*/ [\1] SYS\1,/g ,x/SYS[A-Z0-9_]+,/ | tr A-Z a-z ,x/syssysr1/c/sysr1 ,x/sys_x[0-9]*/c/sysdeath ,x v/\[......+\]/ s/\]/] ,p ! cat <<'!' }; char *sysctab[]={ ! sam -d /sys/src/libc/9syscall/sys.h >[2] /dev/null <<'!' ,s/#define.([A-Z0-9_]+).*/ [\1] "\1",/g ,x/"[A-Z0-9_]+",/ y/"[A-Z]/ | tr A-Z a-z ,x/_"/c/" ,x/Sysr1/c/Running ,x/Rendezvous/c/Rendez ,x v/\[......+\]/ s/\]/] ,p ! cat <<'!' }; !