]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/port/mksystab
kernel: apply uintptr for ulong when a pointer is stored
[plan9front.git] / sys / src / 9 / port / mksystab
1 #!/bin/rc
2
3 file=/sys/src/libc/9syscall/sys.h
4
5 cat <<'!'
6 #include "/sys/src/libc/9syscall/sys.h"
7
8 typedef uintptr Syscall(va_list);
9
10 !
11
12 sed '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
16 cat <<'!'
17 Syscall sysdeath;
18
19 Syscall *systab[]={
20 !
21 sam -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
30 cat <<'!'
31 };
32
33 char *sysctab[]={
34 !
35
36 sam -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
46 cat <<'!'
47 };
48
49 int nsyscall = (sizeof systab/sizeof systab[0]);
50 !