Commit | Line | Data |
---|---|---|
5b4d72dd MM |
1 | /* |
2 | * Copyright (C) 1991 Gordon Irlam. All rights reserved. | |
3 | */ | |
4 | ||
5 | /* | |
6 | * Definition of system calls for sparc trace generator. | |
7 | */ | |
8 | ||
9 | ||
10 | /* | |
11 | * Imported declarations. | |
12 | */ | |
13 | ||
14 | #include "system_calls.h" | |
15 | ||
16 | ||
17 | /* | |
18 | * Table containing system calls, and their parameter profile. | |
19 | */ | |
20 | ||
21 | call_desc system_calls[] = { | |
22 | /* 0 */ {"syscall", {fmt_dec, fmt_unknown}, fmt_dec}, | |
23 | /* 1 */ {"_exit", {fmt_dec}, fmt_none}, | |
24 | /* 2 */ {"fork", {fmt_none}, fmt_dec}, | |
25 | /* 3 */ {"read", {fmt_fd, fmt_post_data, FMT_SIZE}, fmt_post_data_size}, | |
26 | /* 4 */ {"write", {fmt_fd, fmt_data, fmt_data_size}, FMT_SIZE}, | |
27 | /* 5 */ {"open", {fmt_string, fmt_open_flags, FMT_FLAGS}, fmt_fd}, | |
28 | /* 6 */ {"close", {fmt_fd}, FMT_STATUS}, | |
29 | /* 7 */ {"wait4", {fmt_dec, fmt_ptr, FMT_FLAGS, fmt_ptr}, fmt_dec}, | |
30 | /* 8 */ {"creat", {fmt_string, FMT_FLAGS}, fmt_fd}, | |
31 | /* 9 */ {"link", {fmt_string, fmt_string}, FMT_STATUS}, | |
32 | /* 10 */ {"unlink", {fmt_string}, FMT_STATUS}, | |
33 | /* 11 */ {"_unknown_11[\"old execv\"]", {fmt_unknown}, fmt_unknown}, | |
34 | /* | |
35 | * execv is now a library routine which calls execve, although | |
36 | * Sun have not officially declared execv obsolete. | |
37 | */ | |
38 | /* 12 */ {"chdir", {fmt_string}, FMT_STATUS}, | |
39 | /* 13 */ {"_unknown_13[\"old time\"]", {fmt_unknown}, fmt_unknown}, | |
40 | /* 14 */ {"mknod", {fmt_string, FMT_FLAGS, FMT_FLAGS}, FMT_STATUS}, | |
41 | /* 15 */ {"chmod", {fmt_string, FMT_FLAGS}, FMT_STATUS}, | |
42 | /* 16 */ {"chown", {fmt_string, fmt_dec, fmt_dec}, FMT_STATUS}, | |
43 | /* 17 */ {"_brk", {fmt_ptr}, FMT_STATUS}, | |
44 | /* 18 */ {"_unknown_18[\"old stat\"]", {fmt_unknown}, fmt_unknown}, | |
45 | /* 19 */ {"lseek", {fmt_fd, FMT_SIZE, fmt_dec}, FMT_SIZE}, | |
46 | /* 20 */ {"getpid", {fmt_none}, fmt_dec}, | |
47 | /* 21 */ {"_unknown_21", {fmt_unknown}, fmt_unknown}, | |
48 | /* 22 */ {"umount[\"System V\"]", {fmt_string}, FMT_STATUS}, | |
49 | /* 23 */ {"_unknown_23[\"old setuid\"]", {fmt_unknown}, fmt_unknown}, | |
50 | /* 24 */ {"getuid", {fmt_none}, fmt_dec}, | |
51 | /* 25 */ {"_unknown_25[\"old System V stime\"]", | |
52 | {fmt_unknown}, | |
53 | fmt_unknown}, | |
54 | /* 26 */ {"ptrace", | |
55 | {fmt_dec, fmt_dec, fmt_ptr, fmt_dec, fmt_ptr}, | |
56 | fmt_dec}, | |
57 | /* 27 */ {"_unknown_27[\"old alarm\"]", {fmt_unknown}, fmt_unknown}, | |
58 | /* 28 */ {"_unknown_28[\"old fstat\"]", {fmt_unknown}, fmt_unknown}, | |
59 | /* 29 */ {"_unknown_29[\"old pause\"]", {fmt_unknown}, fmt_unknown}, | |
60 | /* 30 */ {"_unknown_30[\"old utime\"]", {fmt_unknown}, fmt_unknown}, | |
61 | /* 31 */ {"_unknown_31", {fmt_unknown}, fmt_unknown}, | |
62 | /* 32 */ {"_unknown_32", {fmt_unknown}, fmt_unknown}, | |
63 | /* 33 */ {"access", {fmt_string, FMT_FLAGS}, FMT_STATUS}, | |
64 | /* 34 */ {"_unknown_34[\"old nice\"]", {fmt_unknown}, fmt_unknown}, | |
65 | /* 35 */ {"_unknown_35[\"old ftime\"]", {fmt_unknown}, fmt_unknown}, | |
66 | /* 36 */ {"sync", {fmt_none}, fmt_none}, | |
67 | /* 37 */ {"kill", {fmt_dec, fmt_signal}, FMT_STATUS}, | |
68 | /* 38 */ {"stat", {fmt_string, fmt_ptr}, FMT_STATUS}, | |
69 | /* 39 */ {"_unknown_39[\"old setpgrp\"]", {fmt_unknown}, fmt_unknown}, | |
70 | /* 40 */ {"lstat", {fmt_string, fmt_ptr}, FMT_STATUS}, | |
71 | /* 41 */ {"dup", {fmt_fd}, fmt_fd}, | |
72 | /* | |
73 | * Sun sometimes claim dup has 2 parameters. | |
74 | */ | |
75 | /* 42 */ {"pipe", {fmt_ptr}, FMT_STATUS}, | |
76 | /* 43 */ {"_unknown_43[\"old times\"]", {fmt_unknown}, fmt_unknown}, | |
77 | /* 44 */ {"profil", {fmt_ptr, FMT_SIZE, fmt_ptr, fmt_dec}, FMT_STATUS}, | |
78 | /* 45 */ {"_unknown_45", {fmt_unknown}, fmt_unknown}, | |
79 | /* 46 */ {"_unknown_46[\"old setgid\"]", {fmt_unknown}, fmt_unknown}, | |
80 | /* 47 */ {"getgid", {fmt_none}, fmt_dec}, | |
81 | /* 48 */ {"_unknown_48[\"old signal\"]", {fmt_unknown}, fmt_unknown}, | |
82 | /* 49 */ {"_unknown_49", {fmt_unknown}, fmt_unknown}, | |
83 | /* 50 */ {"_unknown_50", {fmt_unknown}, fmt_unknown}, | |
84 | /* 51 */ {"acct", {fmt_string}, FMT_STATUS}, | |
85 | /* 52 */ {"_unknown_52", {fmt_unknown}, fmt_unknown}, | |
86 | /* 53 */ {"mctl", {fmt_ptr, FMT_SIZE, fmt_dec, FMT_FLAGS}, FMT_STATUS}, | |
87 | /* 54 */ {"ioctl", {fmt_fd, FMT_FLAGS, fmt_ptr}, fmt_dec}, | |
88 | /* 55 */ {"reboot", {FMT_FLAGS, fmt_string}, FMT_STATUS}, | |
89 | /* 56 */ {"_unknown_56[\"old wait3\"]", {fmt_unknown}, fmt_unknown}, | |
90 | /* 57 */ {"symlink", {fmt_string, fmt_string}, FMT_STATUS}, | |
91 | /* 58 */ {"readlink", | |
92 | {fmt_string, fmt_post_data, FMT_SIZE}, | |
93 | fmt_post_data_size}, | |
94 | /* 59 */ {"execve", | |
95 | {fmt_string, fmt_string_array, fmt_string_array}, | |
96 | FMT_STATUS}, | |
97 | /* 60 */ {"umask", {FMT_FLAGS}, FMT_FLAGS}, | |
98 | /* 61 */ {"chroot", {fmt_string}, FMT_STATUS}, | |
99 | /* 62 */ {"fstat", {fmt_fd, fmt_ptr}, FMT_STATUS}, | |
100 | /* 63 */ {"_unknown_63", {fmt_unknown}, fmt_unknown}, | |
101 | /* 64 */ {"getpagesize", {fmt_none}, FMT_SIZE}, | |
102 | /* 65 */ {"_unknown_65[\"old msync\"]", {fmt_unknown}, fmt_unknown}, | |
103 | /* | |
104 | * msync is now a library routine which calls mctl, although | |
105 | * Sun have not officially declared msync obsolete. | |
106 | */ | |
107 | /* 66 */ {"vfork", {fmt_none}, fmt_dec}, | |
108 | /* 67 */ {"_unknown_67[\"old vread\"]", {fmt_unknown}, fmt_unknown}, | |
109 | /* | |
110 | * I don't think vread can be generated by the standard | |
111 | * libararies, although Sun have not officially declared it | |
112 | * obsolete. | |
113 | */ | |
114 | /* 68 */ {"_unknown_68[\"old vwrite\"]", {fmt_unknown}, fmt_unknown}, | |
115 | /* | |
116 | * I don't think vwrite can be generated by the standard | |
117 | * libararies, although Sun have not officially declared it | |
118 | * obsolete. | |
119 | */ | |
120 | /* 69 */ {"_unknown_69[\"old brk\"]", {fmt_unknown}, fmt_unknown}, | |
121 | /* | |
122 | * Also referred to as sbrk. I don't think it can be generated | |
123 | * by the standard libararies, although Sun have not officially | |
124 | * declared it obsolete. | |
125 | */ | |
126 | /* 70 */ {"_unknown_70[\"old sstk\"]", {fmt_unknown}, fmt_unknown}, | |
127 | /* | |
128 | * I don't think sstk can be generated by the standard | |
129 | * libararies, although Sun have not officially declared it | |
130 | * obsolete. | |
131 | */ | |
132 | /* 71 */ {"mmap", | |
133 | {fmt_ptr, fmt_post_data_size, FMT_FLAGS, FMT_FLAGS, fmt_fd, | |
134 | FMT_SIZE}, | |
135 | fmt_post_data}, | |
136 | /* 72 */ {"vadvise", {fmt_dec}, FMT_STATUS}, | |
137 | /* | |
138 | * vadvise is currently still a valid system call, although Sun | |
139 | * have said it is likely to disappear in the future. | |
140 | */ | |
141 | /* 73 */ {"munmap", {fmt_ptr, FMT_SIZE}, FMT_STATUS}, | |
142 | /* 74 */ {"mprotect", {fmt_ptr, FMT_SIZE, FMT_FLAGS}, FMT_STATUS}, | |
143 | /* 75 */ {"_unknown_75[\"old madvise\"]", {fmt_unknown}, fmt_unknown}, | |
144 | /* | |
145 | * madvise is now a library routine which calls mctl, although | |
146 | * Sun have not officially declared madvise obsolete. | |
147 | */ | |
148 | /* 76 */ {"vhangup", {fmt_none}, FMT_STATUS}, | |
149 | /* | |
150 | * Sun sometimes claim vhangup has 1 parameter. | |
151 | */ | |
152 | /* 77 */ {"_unknown_77[\"old vlimit\"]", {fmt_unknown}, fmt_unknown}, | |
153 | /* 78 */ {"mincore", {fmt_ptr, FMT_SIZE, fmt_ptr}, FMT_STATUS}, | |
154 | /* 79 */ {"getgroups", {fmt_dec, fmt_ptr}, fmt_dec}, | |
155 | /* 80 */ {"setgroups", {fmt_dec, fmt_ptr}, FMT_STATUS}, | |
156 | /* 81 */ {"getpgrp", {fmt_dec}, fmt_dec}, | |
157 | /* 82 */ {"setpgrp", {fmt_dec, fmt_dec}, FMT_STATUS}, | |
158 | /* 83 */ {"setitimer", {fmt_dec, fmt_ptr, fmt_ptr}, FMT_STATUS}, | |
159 | /* 84 */ {"_unknown_84[\"old wait\"]", {fmt_unknown}, fmt_unknown}, | |
160 | /* | |
161 | * wait is now a library routine which calls wait4, although Sun | |
162 | * have not officially declared wait obsolete. | |
163 | */ | |
164 | /* 85 */ {"swapon", {fmt_string}, FMT_STATUS}, | |
165 | /* 86 */ {"getitimer", {fmt_dec, fmt_ptr}, FMT_STATUS}, | |
166 | /* 87 */ {"gethostname", {fmt_post_string, FMT_SIZE}, FMT_STATUS}, | |
167 | /* 88 */ {"sethostname", {fmt_data, fmt_data_size}, FMT_STATUS}, | |
168 | /* 89 */ {"getdtablesize", {fmt_none}, fmt_dec}, | |
169 | /* 90 */ {"dup2", {fmt_fd, fmt_dec}, fmt_fd}, | |
170 | /* 91 */ {"_unknown_91[\"old getdopt\"]", {fmt_unknown}, fmt_unknown}, | |
171 | /* | |
172 | * I don't think getdopt can be generated by the standard | |
173 | * libararies, although Sun have not officially declared it | |
174 | * obsolete. | |
175 | */ | |
176 | /* 92 */ {"fcntl", {fmt_fd, fmt_dec, fmt_dec}, fmt_dec}, | |
177 | /* 93 */ {"select", | |
178 | {fmt_dec, fmt_ptr, fmt_ptr, fmt_ptr, fmt_ptr}, | |
179 | fmt_dec}, | |
180 | /* 94 */ {"_unknown_94[\"old setdopt\"]", {fmt_unknown}, fmt_unknown}, | |
181 | /* | |
182 | * I don't think setdopt can be generated by the standard | |
183 | * libararies, although Sun have not officially declared it | |
184 | * obsolete. | |
185 | */ | |
186 | /* 95 */ {"fsync", {fmt_fd}, FMT_STATUS}, | |
187 | /* 96 */ {"setpriority", {fmt_dec, fmt_dec, fmt_dec}, FMT_STATUS}, | |
188 | /* 97 */ {"socket", {fmt_dec, fmt_dec, fmt_dec}, fmt_fd}, | |
189 | /* 98 */ {"connect", {fmt_fd, fmt_ptr, FMT_SIZE}, FMT_STATUS}, | |
190 | /* 99 */ {"accept", {fmt_fd, fmt_ptr, fmt_ptr}, fmt_fd}, | |
191 | /* 100 */ {"getpriority", {fmt_dec, fmt_dec}, fmt_dec}, | |
192 | /* 101 */ {"send", {fmt_fd, fmt_data, fmt_data_size, FMT_FLAGS}, FMT_SIZE}, | |
193 | /* 102 */ {"recv", | |
194 | {fmt_fd, fmt_post_data, FMT_SIZE, FMT_FLAGS}, | |
195 | fmt_post_data_size}, | |
196 | /* 103 */ {"_unknown_103", {fmt_unknown}, fmt_unknown}, | |
197 | /* 104 */ {"bind", {fmt_fd, fmt_ptr, FMT_SIZE}, FMT_STATUS}, | |
198 | /* 105 */ {"setsockopt", | |
199 | {fmt_fd, fmt_dec, fmt_dec, fmt_ptr, FMT_SIZE}, | |
200 | FMT_STATUS}, | |
201 | /* 106 */ {"listen", {fmt_fd, fmt_dec}, FMT_STATUS}, | |
202 | /* 107 */ {"_unknown_107[\"old vtimes\"]", {fmt_unknown}, fmt_unknown}, | |
203 | /* 108 */ {"_sigvec", {fmt_signal, fmt_ptr, fmt_ptr}, FMT_STATUS}, | |
204 | /* 109 */ {"sigblock", {fmt_hex}, fmt_hex}, | |
205 | /* 110 */ {"sigsetmask", {fmt_hex}, fmt_hex}, | |
206 | /* 111 */ {"sigpause", {fmt_hex}, FMT_STATUS}, | |
207 | /* 112 */ {"sigstack", {fmt_ptr, fmt_ptr}, FMT_STATUS}, | |
208 | /* 113 */ {"recvmsg", {fmt_fd, fmt_ptr, FMT_FLAGS}, FMT_SIZE}, | |
209 | /* 114 */ {"sendmsg", {fmt_fd, fmt_ptr, FMT_FLAGS}, FMT_SIZE}, | |
210 | /* 115 */ {"_unknown_115[\"vtrace\"]", | |
211 | {fmt_dec, fmt_hex, fmt_hex}, | |
212 | fmt_unknown}, | |
213 | /* | |
214 | * I am unsure of the parameters for vtrace. | |
215 | */ | |
216 | /* 116 */ {"gettimeofday", {fmt_ptr, fmt_ptr}, FMT_STATUS}, | |
217 | /* 117 */ {"getrusage", {fmt_dec, fmt_ptr}, FMT_STATUS}, | |
218 | /* 118 */ {"getsockopt", | |
219 | {fmt_fd, fmt_dec, fmt_dec, fmt_ptr, fmt_ptr}, | |
220 | FMT_STATUS}, | |
221 | /* 119 */ {"_unknown_119", {fmt_unknown}, fmt_unknown}, | |
222 | /* 120 */ {"readv", {fmt_fd, fmt_ptr, fmt_dec}, FMT_SIZE}, | |
223 | /* 121 */ {"writev", {fmt_fd, fmt_ptr, fmt_dec}, FMT_SIZE}, | |
224 | /* 122 */ {"settimeofday", {fmt_ptr, fmt_ptr}, FMT_STATUS}, | |
225 | /* 123 */ {"fchown", {fmt_fd, fmt_dec, fmt_dec}, FMT_STATUS}, | |
226 | /* 124 */ {"fchmod", {fmt_fd, FMT_FLAGS}, FMT_STATUS}, | |
227 | /* 125 */ {"recvfrom", | |
228 | {fmt_fd, fmt_post_data, FMT_SIZE, FMT_FLAGS, fmt_ptr, fmt_ptr}, | |
229 | fmt_post_data_size}, | |
230 | /* 126 */ {"setreuid", {fmt_dec, fmt_dec}, FMT_STATUS}, | |
231 | /* 127 */ {"setregid", {fmt_dec, fmt_dec}, FMT_STATUS}, | |
232 | /* 128 */ {"rename", {fmt_string, fmt_string}, FMT_STATUS}, | |
233 | /* 129 */ {"truncate", {fmt_string, FMT_SIZE}, FMT_STATUS}, | |
234 | /* 130 */ {"ftruncate", {fmt_fd, FMT_SIZE}, FMT_STATUS}, | |
235 | /* 131 */ {"flock", {fmt_fd, FMT_FLAGS}, FMT_STATUS}, | |
236 | /* 132 */ {"_unknown_132", {fmt_unknown}, fmt_unknown}, | |
237 | /* 133 */ {"sendto", | |
238 | {fmt_fd, fmt_data, fmt_data_size, FMT_FLAGS, fmt_ptr, FMT_SIZE}, | |
239 | FMT_SIZE}, | |
240 | /* 134 */ {"shutdown", {fmt_fd, fmt_dec}, FMT_STATUS}, | |
241 | /* 135 */ {"socketpair", {fmt_dec, fmt_dec, fmt_dec, fmt_ptr}, FMT_STATUS}, | |
242 | /* | |
243 | * Sun sometimes claim socketpair has 5 parameters. | |
244 | */ | |
245 | /* 136 */ {"mkdir", {fmt_string, FMT_FLAGS}, FMT_STATUS}, | |
246 | /* 137 */ {"rmdir", {fmt_string}, FMT_STATUS}, | |
247 | /* 138 */ {"utimes", {fmt_string, fmt_ptr}, FMT_STATUS}, | |
248 | /* 139 */ {"_sigcleanup", {fmt_ptr}, FMT_STATUS}, | |
249 | /* 140 */ {"adjtime", {fmt_ptr, fmt_ptr}, FMT_STATUS}, | |
250 | /* 141 */ {"getpeername", {fmt_fd, fmt_ptr, fmt_ptr}, FMT_STATUS}, | |
251 | /* 142 */ {"gethostid", {fmt_none}, fmt_hex}, | |
252 | /* | |
253 | * Sun sometimes claim gethostid has 2 parameters. | |
254 | */ | |
255 | /* 143 */ {"_unknown_143", {fmt_unknown}, fmt_unknown}, | |
256 | /* 144 */ {"getrlimit", {fmt_dec, fmt_ptr}, FMT_STATUS}, | |
257 | /* 145 */ {"setrlimit", {fmt_dec, fmt_ptr}, FMT_STATUS}, | |
258 | /* 146 */ {"killpg", {fmt_dec, fmt_signal}, FMT_STATUS}, | |
259 | /* 147 */ {"_unknown_147", {fmt_unknown}, fmt_unknown}, | |
260 | /* 148 */ {"_unknown_148[\"old quota\"]", {fmt_unknown}, fmt_unknown}, | |
261 | /* | |
262 | * I don't think quota can be generated by the standard | |
263 | * libararies, although Sun have not officially declared it | |
264 | * obsolete. | |
265 | */ | |
266 | /* 149 */ {"_unknown_149[\"old qquota\"]", {fmt_unknown}, fmt_unknown}, | |
267 | /* | |
268 | * I don't think qquota can be generated by the standard | |
269 | * libararies, although Sun have not officially declared it | |
270 | * obsolete. | |
271 | */ | |
272 | /* 150 */ {"getsockname", {fmt_fd, fmt_ptr, fmt_ptr}, FMT_STATUS}, | |
273 | /* 151 */ {"getmsg", {fmt_fd, fmt_ptr, fmt_ptr, fmt_ptr}, fmt_dec}, | |
274 | /* 152 */ {"putmsg", {fmt_fd, fmt_ptr, fmt_ptr, FMT_FLAGS}, FMT_STATUS}, | |
275 | /* 153 */ {"poll", {fmt_ptr, fmt_dec, fmt_dec}, fmt_dec}, | |
276 | /* 154 */ {"_unknown_154", {fmt_unknown}, fmt_unknown}, | |
277 | /* 155 */ {"nfssvc", {fmt_fd}, FMT_STATUS}, | |
278 | /* 156 */ {"_unknown_156[\"old getdirentries\"]", | |
279 | {fmt_unknown}, | |
280 | fmt_unknown}, | |
281 | /* | |
282 | * I don't think getdirentries can be generated by the standard | |
283 | * libararies, although Sun have not officially declared it | |
284 | * obsolete. | |
285 | */ | |
286 | /* 157 */ {"statfs", {fmt_string, fmt_ptr}, FMT_STATUS}, | |
287 | /* 158 */ {"fstatfs", {fmt_fd, fmt_ptr}, FMT_STATUS}, | |
288 | /* 159 */ {"unmount", {fmt_string}, FMT_STATUS}, | |
289 | /* 160 */ {"async_daemon", {fmt_none}, fmt_none}, | |
290 | /* 161 */ {"nfs_getfh", {fmt_hex, fmt_hex}, fmt_unknown}, | |
291 | /* | |
292 | * I am unsure of the parameters for nfs_getfh. | |
293 | */ | |
294 | /* 162 */ {"getdomainname", {fmt_post_string, FMT_SIZE}, FMT_STATUS}, | |
295 | /* 163 */ {"setdomainname", {fmt_data, fmt_data_size}, FMT_STATUS}, | |
296 | /* 164 */ {"rtschedule", | |
297 | {fmt_hex, fmt_hex, fmt_hex, fmt_hex, fmt_hex}, | |
298 | fmt_unknown}, | |
299 | /* | |
300 | * I am unsure of the parameters for rtschedule. | |
301 | */ | |
302 | /* 165 */ {"quotactl", | |
303 | {fmt_dec, fmt_string, fmt_dec, fmt_ptr}, | |
304 | FMT_STATUS}, | |
305 | /* 166 */ {"_exportfs", {fmt_string, fmt_ptr}, FMT_STATUS}, | |
306 | /* 167 */ {"mount", | |
307 | {fmt_string, fmt_string, FMT_FLAGS, fmt_ptr}, | |
308 | FMT_STATUS}, | |
309 | /* 168 */ {"ustat", {fmt_hex, fmt_ptr}, FMT_STATUS}, | |
310 | /* 169 */ {"_semsys", | |
311 | {fmt_dec, fmt_hex, fmt_hex, fmt_hex, fmt_hex}, | |
312 | fmt_dec}, | |
313 | /* 170 */ {"_msgsys", | |
314 | {fmt_dec, fmt_hex, fmt_hex, fmt_hex, fmt_hex, fmt_hex}, | |
315 | fmt_dec}, | |
316 | /* 171 */ {"_shmsys", {fmt_dec, fmt_hex, fmt_hex, fmt_hex}, fmt_dec}, | |
317 | /* 172 */ {"_auditsys", {fmt_dec, fmt_hex, fmt_hex, fmt_hex}, fmt_dec}, | |
318 | /* 173 */ {"_rfssys", | |
319 | {fmt_dec, fmt_hex, fmt_hex, fmt_hex, fmt_hex}, | |
320 | fmt_dec}, | |
321 | /* 174 */ {"getdents", | |
322 | {fmt_fd, fmt_post_data, FMT_SIZE}, | |
323 | fmt_post_data_size}, | |
324 | /* 175 */ {"_setsid", {fmt_dec}, fmt_dec}, | |
325 | /* 176 */ {"fchdir", {fmt_fd}, FMT_STATUS}, | |
326 | /* 177 */ {"fchroot", {fmt_fd}, FMT_STATUS}, | |
327 | /* 178 */ {"vpixsys", {fmt_hex, fmt_hex}, fmt_unknown}, | |
328 | /* | |
329 | * I am unsure of the parameters for vpixsys. | |
330 | */ | |
331 | /* 179 */ {"aioread", | |
332 | {fmt_fd, fmt_ptr, FMT_SIZE, FMT_SIZE, fmt_dec, fmt_ptr}, | |
333 | FMT_STATUS}, | |
334 | /* 180 */ {"aiowrite", | |
335 | {fmt_fd, fmt_data, fmt_data_size, FMT_SIZE, fmt_dec, fmt_ptr}, | |
336 | FMT_STATUS}, | |
337 | /* 181 */ {"aiowait", {fmt_ptr}, fmt_ptr}, | |
338 | /* 182 */ {"aiocancel", {fmt_ptr}, FMT_STATUS}, | |
339 | /* 183 */ {"sigpending", {fmt_ptr}, FMT_STATUS}, | |
340 | /* 184 */ {"_unknown_184", {fmt_unknown}, fmt_unknown}, | |
341 | /* 185 */ {"setpgid", {fmt_dec, fmt_dec}, FMT_STATUS}, | |
342 | /* 186 */ {"_pathconf", {fmt_string, fmt_dec}, fmt_dec}, | |
343 | /* 187 */ {"fpathconf", {fmt_fd, fmt_dec}, fmt_dec}, | |
344 | /* 188 */ {"sysconf", {fmt_dec}, fmt_dec}, | |
345 | /* 189 */ {"uname", {fmt_ptr}, FMT_STATUS} | |
346 | /* | |
347 | * Next 8 system calls are for loadable system calls. Not declared since | |
348 | * they are likely to change from one O/S release to the next. | |
349 | */ | |
350 | }; | |
351 | ||
352 | int no_system_calls = sizeof(system_calls) / sizeof(call_desc); | |
353 | ||
354 | call_desc system_call_open_simple = | |
355 | /* 5 */ {"open", {fmt_string, fmt_open_flags}, fmt_fd}; | |
356 | ||
357 | ||
358 | /* | |
359 | * Table containing signal names. | |
360 | */ | |
361 | ||
362 | char *signal_names[] = { | |
363 | /* 0 */ "0", | |
364 | /* 1 */ "SIGHUP", | |
365 | /* 2 */ "SIGINT", | |
366 | /* 3 */ "SIGQUIT", | |
367 | /* 4 */ "SIGILL", | |
368 | /* 5 */ "SIGTRAP", | |
369 | /* 6 */ "SIGABRT", | |
370 | /* 7 */ "SIGEMT", | |
371 | /* 8 */ "SIGFPE", | |
372 | /* 9 */ "SIGKILL", | |
373 | /* 10 */ "SIGBUS", | |
374 | /* 11 */ "SIGSEGV", | |
375 | /* 12 */ "SIGSYS", | |
376 | /* 13 */ "SIGPIPE", | |
377 | /* 14 */ "SIGALRM", | |
378 | /* 15 */ "SIGTERM", | |
379 | /* 16 */ "SIGURG", | |
380 | /* 17 */ "SIGSTOP", | |
381 | /* 18 */ "SIGTSTP", | |
382 | /* 19 */ "SIGCONT", | |
383 | /* 20 */ "SIGCHLD", | |
384 | /* 21 */ "SIGTTIN", | |
385 | /* 22 */ "SIGTTOU", | |
386 | /* 23 */ "SIGIO", | |
387 | /* 24 */ "SIGXCPU", | |
388 | /* 25 */ "SIGXFSZ", | |
389 | /* 26 */ "SIGVTALRM", | |
390 | /* 27 */ "SIGPROF", | |
391 | /* 28 */ "SIGWINCH", | |
392 | /* 29 */ "SIGLOST", | |
393 | /* 30 */ "SIGUSR1", | |
394 | /* 31 */ "SIGUSR2" | |
395 | }; | |
396 | ||
397 | int no_signal_names = sizeof(signal_names) / sizeof(char *); | |
398 | ||
399 | ||
400 | /* | |
401 | * Table containing error messages. | |
402 | */ | |
403 | ||
404 | char *error_names[] = { | |
405 | /* 0 */ "0", | |
406 | /* 1 */ "EPERM", | |
407 | /* 2 */ "ENOENT", | |
408 | /* 3 */ "ESRCH", | |
409 | /* 4 */ "EINTR", | |
410 | /* 5 */ "EIO", | |
411 | /* 6 */ "ENXIO", | |
412 | /* 7 */ "E2BIG", | |
413 | /* 8 */ "ENOEXEC", | |
414 | /* 9 */ "EBADF", | |
415 | /* 10 */ "ECHILD", | |
416 | /* 11 */ "EAGAIN", | |
417 | /* 12 */ "ENOMEM", | |
418 | /* 13 */ "EACCES", | |
419 | /* 14 */ "EFAULT", | |
420 | /* 15 */ "ENOTBLK", | |
421 | /* 16 */ "EBUSY", | |
422 | /* 17 */ "EEXIST", | |
423 | /* 18 */ "EXDEV", | |
424 | /* 19 */ "ENODEV", | |
425 | /* 20 */ "ENOTDIR", | |
426 | /* 21 */ "EISDIR", | |
427 | /* 22 */ "EINVAL", | |
428 | /* 23 */ "ENFILE", | |
429 | /* 24 */ "EMFILE", | |
430 | /* 25 */ "ENOTTY", | |
431 | /* 26 */ "ETXTBSY", | |
432 | /* 27 */ "EFBIG", | |
433 | /* 28 */ "ENOSPC", | |
434 | /* 29 */ "ESPIPE", | |
435 | /* 30 */ "EROFS", | |
436 | /* 31 */ "EMLINK", | |
437 | /* 32 */ "EPIPE", | |
438 | /* 33 */ "EDOM", | |
439 | /* 34 */ "ERANGE", | |
440 | /* 35 */ "EWOULDBLOCK", | |
441 | /* 36 */ "EINPROGRESS", | |
442 | /* 37 */ "EALREADY", | |
443 | /* 38 */ "ENOTSOCK", | |
444 | /* 39 */ "EDESTADDRREQ", | |
445 | /* 40 */ "EMSGSIZE", | |
446 | /* 41 */ "EPROTOTYPE", | |
447 | /* 42 */ "ENOPROTOOPT", | |
448 | /* 43 */ "EPROTONOSUPPORT", | |
449 | /* 44 */ "ESOCKTNOSUPPORT", | |
450 | /* 45 */ "EOPNOTSUPP", | |
451 | /* 46 */ "EPFNOSUPPORT", | |
452 | /* 47 */ "EAFNOSUPPORT", | |
453 | /* 48 */ "EADDRINUSE", | |
454 | /* 49 */ "EADDRNOTAVAIL", | |
455 | /* 50 */ "ENETDOWN", | |
456 | /* 51 */ "ENETUNREACH", | |
457 | /* 52 */ "ENETRESET", | |
458 | /* 53 */ "ECONNABORTED", | |
459 | /* 54 */ "ECONNRESET", | |
460 | /* 55 */ "ENOBUFS", | |
461 | /* 56 */ "EISCONN", | |
462 | /* 57 */ "ENOTCONN", | |
463 | /* 58 */ "ESHUTDOWN", | |
464 | /* 59 */ "ETOOMANYREFS", | |
465 | /* 60 */ "ETIMEDOUT", | |
466 | /* 61 */ "ECONNREFUSED", | |
467 | /* 62 */ "ELOOP", | |
468 | /* 63 */ "ENAMETOOLONG", | |
469 | /* 64 */ "EHOSTDOWN", | |
470 | /* 65 */ "EHOSTUNREACH", | |
471 | /* 66 */ "ENOTEMPTY", | |
472 | /* 67 */ "EPROCLIM", | |
473 | /* 68 */ "EUSERS", | |
474 | /* 69 */ "EDQUOT", | |
475 | /* 70 */ "ESTALE", | |
476 | /* 71 */ "EREMOTE", | |
477 | /* 72 */ "ENOSTR", | |
478 | /* 73 */ "ETIME", | |
479 | /* 74 */ "ENOSR", | |
480 | /* 75 */ "ENOMSG", | |
481 | /* 76 */ "EBADMSG", | |
482 | /* 77 */ "EIDRM", | |
483 | /* 78 */ "EDEADLK", | |
484 | /* 79 */ "ENOLCK", | |
485 | /* 80 */ "ENONET", | |
486 | /* 81 */ "ERREMOTE", | |
487 | /* 82 */ "ENOLINK", | |
488 | /* 83 */ "EADV", | |
489 | /* 84 */ "ESRMNT", | |
490 | /* 85 */ "ECOMM", | |
491 | /* 86 */ "EPROTO", | |
492 | /* 87 */ "EMULTIHOP", | |
493 | /* 88 */ "EDOTDOT", | |
494 | /* 89 */ "EREMCHG", | |
495 | /* 90 */ "ENOSYS" | |
496 | }; | |
497 | ||
498 | int no_error_names = sizeof(error_names) / sizeof(char *); | |
499 |