|
|
Plan 9 NeXT
#!/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 <<'!'
};
!
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.