add linux_emul base, reorganize docs
[openbsd_emul.git] / linux_emul_base / linuxcalltab.awk
1 #!/bin/awk -f
2 BEGIN {
3 nsys = 0
4 }
5
6 /^#/ {
7 next
8 }
9
10 {
11 i=$1
12 if(nsys > i){
13 print "BROKEN TABLE: "nsys" > "i
14 exit
15 }
16 while(nsys < i){
17 sysarg[nsys] = 0
18 sysnam[nsys] = "nosys"nsys
19 sysfun[nsys] = "sys_nosys"
20 nsys++;
21 }
22 sysarg[nsys] = $2
23 sysnam[nsys] = $3
24 sysfun[nsys] = $4
25 nsys++
26 }
27
28 END {
29 print "static Linuxcall linuxcalltab[] = {"
30 for(i=0; i<nsys; i++){
31 print " { /* "i" */"
32 print " .name = \""sysnam[i]"\","
33 print " .func = "sysfun[i]","
34 print " .stub = fcall"sysarg[i]","
35 print " },"
36 }
37 print "};"
38 print ""
39 }