1
2
3
4
5
6
7
8
9
10 #include <sys/param.h>
11 #include <sys/systm.h>
12 #include <sys/signal.h>
13 #include <sys/mount.h>
14 #include <sys/poll.h>
15 #include <sys/syscallargs.h>
16 #include <compat/ibcs2/ibcs2_types.h>
17 #include <compat/ibcs2/ibcs2_signal.h>
18 #include <compat/ibcs2/ibcs2_syscallargs.h>
19 #include <compat/ibcs2/ibcs2_statfs.h>
20
21 #define s(type) sizeof(type)
22
23 struct sysent ibcs2_sysent[] = {
24 { 0, 0,
25 sys_nosys },
26 { 1, s(struct sys_exit_args),
27 sys_exit },
28 { 0, 0,
29 sys_fork },
30 { 3, s(struct ibcs2_sys_read_args),
31 ibcs2_sys_read },
32 { 3, s(struct sys_write_args),
33 sys_write },
34 { 3, s(struct ibcs2_sys_open_args),
35 ibcs2_sys_open },
36 { 1, s(struct sys_close_args),
37 sys_close },
38 { 3, s(struct ibcs2_sys_waitsys_args),
39 ibcs2_sys_waitsys },
40 { 2, s(struct ibcs2_sys_creat_args),
41 ibcs2_sys_creat },
42 { 2, s(struct sys_link_args),
43 sys_link },
44 { 1, s(struct ibcs2_sys_unlink_args),
45 ibcs2_sys_unlink },
46 { 2, s(struct ibcs2_sys_execv_args),
47 ibcs2_sys_execv },
48 { 1, s(struct ibcs2_sys_chdir_args),
49 ibcs2_sys_chdir },
50 { 1, s(struct ibcs2_sys_time_args),
51 ibcs2_sys_time },
52 { 3, s(struct ibcs2_sys_mknod_args),
53 ibcs2_sys_mknod },
54 { 2, s(struct ibcs2_sys_chmod_args),
55 ibcs2_sys_chmod },
56 { 3, s(struct ibcs2_sys_chown_args),
57 ibcs2_sys_chown },
58 { 1, s(struct sys_obreak_args),
59 sys_obreak },
60 { 2, s(struct ibcs2_sys_stat_args),
61 ibcs2_sys_stat },
62 { 3, s(struct compat_43_sys_lseek_args),
63 compat_43_sys_lseek },
64 { 0, 0,
65 sys_getpid },
66 { 6, s(struct ibcs2_sys_mount_args),
67 ibcs2_sys_mount },
68 { 1, s(struct ibcs2_sys_umount_args),
69 ibcs2_sys_umount },
70 { 1, s(struct ibcs2_sys_setuid_args),
71 ibcs2_sys_setuid },
72 { 0, 0,
73 sys_getuid },
74 { 1, s(struct ibcs2_sys_stime_args),
75 ibcs2_sys_stime },
76 { 0, 0,
77 sys_nosys },
78 { 1, s(struct ibcs2_sys_alarm_args),
79 ibcs2_sys_alarm },
80 { 2, s(struct ibcs2_sys_fstat_args),
81 ibcs2_sys_fstat },
82 { 0, 0,
83 ibcs2_sys_pause },
84 { 2, s(struct ibcs2_sys_utime_args),
85 ibcs2_sys_utime },
86 { 0, 0,
87 sys_nosys },
88 { 0, 0,
89 sys_nosys },
90 { 2, s(struct ibcs2_sys_access_args),
91 ibcs2_sys_access },
92 { 1, s(struct ibcs2_sys_nice_args),
93 ibcs2_sys_nice },
94 { 4, s(struct ibcs2_sys_statfs_args),
95 ibcs2_sys_statfs },
96 { 0, 0,
97 sys_sync },
98 { 2, s(struct ibcs2_sys_kill_args),
99 ibcs2_sys_kill },
100 { 4, s(struct ibcs2_sys_fstatfs_args),
101 ibcs2_sys_fstatfs },
102 { 4, s(struct ibcs2_sys_pgrpsys_args),
103 ibcs2_sys_pgrpsys },
104 { 0, 0,
105 sys_nosys },
106 { 1, s(struct sys_dup_args),
107 sys_dup },
108 { 0, 0,
109 sys_opipe },
110 { 1, s(struct ibcs2_sys_times_args),
111 ibcs2_sys_times },
112 { 0, 0,
113 sys_nosys },
114 { 1, s(struct ibcs2_sys_plock_args),
115 ibcs2_sys_plock },
116 { 1, s(struct ibcs2_sys_setgid_args),
117 ibcs2_sys_setgid },
118 { 0, 0,
119 sys_getgid },
120 { 2, s(struct ibcs2_sys_sigsys_args),
121 ibcs2_sys_sigsys },
122 #ifdef SYSVMSG
123 { 6, s(struct ibcs2_sys_msgsys_args),
124 ibcs2_sys_msgsys },
125 #else
126 { 0, 0,
127 sys_nosys },
128 #endif
129 { 2, s(struct ibcs2_sys_sysi86_args),
130 ibcs2_sys_sysi86 },
131 { 0, 0,
132 sys_nosys },
133 #ifdef SYSVSHM
134 { 4, s(struct ibcs2_sys_shmsys_args),
135 ibcs2_sys_shmsys },
136 #else
137 { 0, 0,
138 sys_nosys },
139 #endif
140 #ifdef SYSVSEM
141 { 5, s(struct ibcs2_sys_semsys_args),
142 ibcs2_sys_semsys },
143 #else
144 { 0, 0,
145 sys_nosys },
146 #endif
147 { 3, s(struct ibcs2_sys_ioctl_args),
148 ibcs2_sys_ioctl },
149 { 3, s(struct ibcs2_sys_uadmin_args),
150 ibcs2_sys_uadmin },
151 { 0, 0,
152 sys_nosys },
153 { 3, s(struct ibcs2_sys_utssys_args),
154 ibcs2_sys_utssys },
155 { 0, 0,
156 sys_nosys },
157 { 3, s(struct ibcs2_sys_execve_args),
158 ibcs2_sys_execve },
159 { 1, s(struct sys_umask_args),
160 sys_umask },
161 { 1, s(struct sys_chroot_args),
162 sys_chroot },
163 { 3, s(struct ibcs2_sys_fcntl_args),
164 ibcs2_sys_fcntl },
165 { 2, s(struct ibcs2_sys_ulimit_args),
166 ibcs2_sys_ulimit },
167 { 0, 0,
168 sys_nosys },
169 { 0, 0,
170 sys_nosys },
171 { 0, 0,
172 sys_nosys },
173 { 0, 0,
174 sys_nosys },
175 { 0, 0,
176 sys_nosys },
177 { 0, 0,
178 sys_nosys },
179 { 0, 0,
180 sys_nosys },
181 { 0, 0,
182 sys_nosys },
183 { 0, 0,
184 sys_nosys },
185 { 0, 0,
186 sys_nosys },
187 { 0, 0,
188 sys_nosys },
189 { 0, 0,
190 sys_nosys },
191 { 0, 0,
192 sys_nosys },
193 { 0, 0,
194 sys_nosys },
195 { 0, 0,
196 sys_nosys },
197 { 1, s(struct ibcs2_sys_rmdir_args),
198 ibcs2_sys_rmdir },
199 { 2, s(struct ibcs2_sys_mkdir_args),
200 ibcs2_sys_mkdir },
201 { 3, s(struct ibcs2_sys_getdents_args),
202 ibcs2_sys_getdents },
203 { 0, 0,
204 sys_nosys },
205 { 0, 0,
206 sys_nosys },
207 { 3, s(struct ibcs2_sys_sysfs_args),
208 ibcs2_sys_sysfs },
209 { 4, s(struct ibcs2_sys_getmsg_args),
210 ibcs2_sys_getmsg },
211 { 4, s(struct ibcs2_sys_putmsg_args),
212 ibcs2_sys_putmsg },
213 { 3, s(struct sys_poll_args),
214 sys_poll },
215 { 0, 0,
216 sys_nosys },
217 { 0, 0,
218 sys_nosys },
219 { 2, s(struct ibcs2_sys_symlink_args),
220 ibcs2_sys_symlink },
221 { 2, s(struct ibcs2_sys_lstat_args),
222 ibcs2_sys_lstat },
223 { 3, s(struct ibcs2_sys_readlink_args),
224 ibcs2_sys_readlink },
225 { 0, 0,
226 sys_nosys },
227 { 0, 0,
228 sys_nosys },
229 { 0, 0,
230 sys_nosys },
231 { 0, 0,
232 sys_nosys },
233 { 0, 0,
234 sys_nosys },
235 { 0, 0,
236 sys_nosys },
237 { 0, 0,
238 sys_nosys },
239 { 0, 0,
240 sys_nosys },
241 { 0, 0,
242 sys_nosys },
243 { 0, 0,
244 sys_nosys },
245 { 1, s(struct sys_sigreturn_args),
246 sys_sigreturn },
247 { 0, 0,
248 sys_nosys },
249 { 0, 0,
250 sys_nosys },
251 { 0, 0,
252 sys_nosys },
253 { 0, 0,
254 sys_nosys },
255 { 0, 0,
256 sys_nosys },
257 { 0, 0,
258 sys_nosys },
259 { 0, 0,
260 sys_nosys },
261 { 0, 0,
262 sys_nosys },
263 { 0, 0,
264 sys_nosys },
265 { 0, 0,
266 sys_nosys },
267 { 0, 0,
268 sys_nosys },
269 { 0, 0,
270 sys_nosys },
271 { 0, 0,
272 sys_nosys },
273 { 0, 0,
274 sys_nosys },
275 { 0, 0,
276 sys_nosys },
277 { 0, 0,
278 sys_nosys },
279 { 0, 0,
280 sys_nosys },
281 { 0, 0,
282 sys_nosys },
283 { 0, 0,
284 sys_nosys },
285 { 0, 0,
286 sys_nosys },
287 { 0, 0,
288 sys_nosys },
289 { 0, 0,
290 sys_nosys },
291 { 0, 0,
292 sys_nosys },
293 { 0, 0,
294 sys_nosys },
295 { 0, 0,
296 sys_nosys },
297 { 0, 0,
298 sys_nosys },
299 { 0, 0,
300 sys_nosys },
301 { 0, 0,
302 sys_nosys },
303 { 0, 0,
304 sys_nosys },
305 { 0, 0,
306 sys_nosys },
307 { 0, 0,
308 sys_nosys },
309 { 1, s(struct xenix_sys_rdchk_args),
310 xenix_sys_rdchk },
311 { 0, 0,
312 sys_nosys },
313 { 0, 0,
314 sys_nosys },
315 { 2, s(struct xenix_sys_chsize_args),
316 xenix_sys_chsize },
317 { 1, s(struct xenix_sys_ftime_args),
318 xenix_sys_ftime },
319 { 1, s(struct xenix_sys_nap_args),
320 xenix_sys_nap },
321 { 0, 0,
322 sys_nosys },
323 { 0, 0,
324 sys_nosys },
325 { 0, 0,
326 sys_nosys },
327 { 0, 0,
328 sys_nosys },
329 { 0, 0,
330 sys_nosys },
331 { 0, 0,
332 sys_nosys },
333 { 0, 0,
334 sys_nosys },
335 { 0, 0,
336 sys_nosys },
337 { 0, 0,
338 sys_nosys },
339 { 0, 0,
340 sys_nosys },
341 { 0, 0,
342 sys_nosys },
343 { 0, 0,
344 sys_nosys },
345 { 0, 0,
346 sys_nosys },
347 { 0, 0,
348 sys_nosys },
349 { 0, 0,
350 sys_nosys },
351 { 0, 0,
352 sys_nosys },
353 { 0, 0,
354 sys_nosys },
355 { 0, 0,
356 sys_nosys },
357 { 0, 0,
358 sys_nosys },
359 { 0, 0,
360 sys_nosys },
361 { 0, 0,
362 sys_nosys },
363 { 0, 0,
364 sys_nosys },
365 { 0, 0,
366 sys_nosys },
367 { 5, s(struct sys_select_args),
368 sys_select },
369 { 2, s(struct ibcs2_sys_eaccess_args),
370 ibcs2_sys_eaccess },
371 { 0, 0,
372 sys_nosys },
373 { 3, s(struct ibcs2_sys_sigaction_args),
374 ibcs2_sys_sigaction },
375 { 3, s(struct ibcs2_sys_sigprocmask_args),
376 ibcs2_sys_sigprocmask },
377 { 1, s(struct ibcs2_sys_sigpending_args),
378 ibcs2_sys_sigpending },
379 { 1, s(struct ibcs2_sys_sigsuspend_args),
380 ibcs2_sys_sigsuspend },
381 { 2, s(struct ibcs2_sys_getgroups_args),
382 ibcs2_sys_getgroups },
383 { 2, s(struct ibcs2_sys_setgroups_args),
384 ibcs2_sys_setgroups },
385 { 1, s(struct ibcs2_sys_sysconf_args),
386 ibcs2_sys_sysconf },
387 { 2, s(struct ibcs2_sys_pathconf_args),
388 ibcs2_sys_pathconf },
389 { 2, s(struct ibcs2_sys_fpathconf_args),
390 ibcs2_sys_fpathconf },
391 { 2, s(struct ibcs2_sys_rename_args),
392 ibcs2_sys_rename },
393 };
394