u. is gone, pcb is at p_addr; aston => signotify
[unix-history] / usr / src / sys / kern / syscalls.awk
CommitLineData
067c3fe9
MT
1awk < syscalls '\
2 BEGIN { \
3 sysent = "sysent";
4 sysnames = "syscall.c";
5 syshdr = "syscall.h";
6 printf "/*\n * System call names.\n */\n" > sysnames; \
7 printf "char *syscallnames[] = {\n" > sysnames; \
8 printf "/*\n * System call numbers.\n */\n" > syshdr; \
9 } \
10 $1 ~ /^#[ ]*if/ { \
11 print > sysent; \
12 savesyscall = syscall; \
13 next;
14 } \
15 $1 ~ /^#[ ]*el/ { \
16 print > sysent; \
17 syscall = savesyscall; \
18 next; \
19 } \
20 $1 ~ /^#/ { \
21 print > sysent; \
22 next; \
23 } \
24 syscall != $1 { \
25 printf "syscall number out of sync at %d; line is:\n", syscall; \
26 print; \
27 exit 1; \
28 } \
29 { comment = $4; \
30 for (i = 5; i <= NF; i++) \
31 comment = comment " " $i; \
32 if (NF < 5) \
33 $5 = $4; \
34 } \
35 $2 == "STD" { \
36 printf("\t%d, %s,\t\t\t/* %d = %s */\n", \
37 $3, $4, syscall, $5) > sysent; \
38 printf("\t\"%s\",\t\t\t/* %d = %s */\n", \
39 $5, syscall, $5) > sysnames; \
40 printf("#define\tSYS_%s\t%d\n", \
41 $5, syscall) > syshdr; \
42 } \
43 $2 == "COMPAT" { \
44 printf("\tcompat(%d, %s),\t\t/* %d = old %s */\n", \
45 $3, $4, syscall, $5) > sysent; \
46 printf("\t\"old %s\",\t\t/* %d = old %s */\n", \
47 $5, syscall, $5) > sysnames; \
48 printf("\t\t\t\t/* %d is old %s */\n", \
49 syscall, comment) > syshdr; \
50 } \
51 $2 == "OBSOL" { \
52 printf("\t0, nosys,\t\t\t/* %d = old %s */\n", \
53 syscall, comment) > sysent; \
54 printf("\t\"#%d\",\t\t\t/* %d = old %s */\n", \
55 syscall, syscall, comment) > sysnames; \
56 printf("\t\t\t\t/* %d is old %s */\n", \
57 syscall, comment) > syshdr; \
58 } \
59 $2 == "UNIMPL" { \
60 printf("\t0, nosys,\t\t\t/* %d = %s */\n", \
61 syscall, comment) > sysent; \
62 printf("\t\"#%d\",\t\t\t/* %d = %s */\n", \
63 syscall, syscall, comment) > sysnames; \
64 } \
65 { syscall++ }\
66 END { \
67 printf("};\n") > sysnames; \
68 }
69 '