Merge {i386,amd64}_linux_read_description
[deliverable/binutils-gdb.git] / gdb / proc-events.c
1 /* Machine-independent support for SVR4 /proc (process file system)
2
3 Copyright (C) 1999-2014 Free Software Foundation, Inc.
4
5 Written by Michael Snyder at Cygnus Solutions.
6 Based on work by Fred Fish, Stu Grossman, Geoff Noer, and others.
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20
21 /* Pretty-print "events of interest".
22
23 This module includes pretty-print routines for:
24 * faults (hardware exceptions)
25 * signals (software interrupts)
26 * syscalls
27
28 FIXME: At present, the syscall translation table must be
29 initialized, which is not true of the other translation tables. */
30
31 #include "defs.h"
32
33 #ifdef NEW_PROC_API
34 #define _STRUCTURED_PROC 1
35 #endif
36
37 #include <stdio.h>
38 #include <sys/types.h>
39 #include <sys/procfs.h>
40 #ifdef HAVE_SYS_SYSCALL_H
41 #include <sys/syscall.h>
42 #endif
43 #ifdef HAVE_SYS_FAULT_H
44 #include <sys/fault.h>
45 #endif
46
47 #include "proc-utils.h"
48
49 /* Much of the information used in the /proc interface, particularly
50 for printing status information, is kept as tables of structures of
51 the following form. These tables can be used to map numeric values
52 to their symbolic names and to a string that describes their
53 specific use. */
54
55 struct trans
56 {
57 int value; /* The numeric value. */
58 char *name; /* The equivalent symbolic value. */
59 char *desc; /* Short description of value. */
60 };
61 \f
62
63 /* Pretty print syscalls. */
64
65 /* Syscall translation table. */
66
67 #define MAX_SYSCALLS 262 /* Pretty arbitrary. */
68 static char *syscall_table[MAX_SYSCALLS];
69
70 static void
71 init_syscall_table (void)
72 {
73 #ifdef SYS_BSD_getime
74 syscall_table[SYS_BSD_getime] = "BSD_getime";
75 #endif
76 #ifdef SYS_BSDgetpgrp
77 syscall_table[SYS_BSDgetpgrp] = "BSDgetpgrp";
78 #endif
79 #ifdef SYS_BSDsetpgrp
80 syscall_table[SYS_BSDsetpgrp] = "BSDsetpgrp";
81 #endif
82 #ifdef SYS_acancel
83 syscall_table[SYS_acancel] = "acancel";
84 #endif
85 #ifdef SYS_accept
86 syscall_table[SYS_accept] = "accept";
87 #endif
88 #ifdef SYS_access
89 syscall_table[SYS_access] = "access";
90 #endif
91 #ifdef SYS_acct
92 syscall_table[SYS_acct] = "acct";
93 #endif
94 #ifdef SYS_acl
95 syscall_table[SYS_acl] = "acl";
96 #endif
97 #ifdef SYS_aclipc
98 syscall_table[SYS_aclipc] = "aclipc";
99 #endif
100 #ifdef SYS_adjtime
101 syscall_table[SYS_adjtime] = "adjtime";
102 #endif
103 #ifdef SYS_afs_syscall
104 syscall_table[SYS_afs_syscall] = "afs_syscall";
105 #endif
106 #ifdef SYS_alarm
107 syscall_table[SYS_alarm] = "alarm";
108 #endif
109 #ifdef SYS_alt_plock
110 syscall_table[SYS_alt_plock] = "alt_plock";
111 #endif
112 #ifdef SYS_alt_sigpending
113 syscall_table[SYS_alt_sigpending] = "alt_sigpending";
114 #endif
115 #ifdef SYS_async
116 syscall_table[SYS_async] = "async";
117 #endif
118 #ifdef SYS_async_daemon
119 syscall_table[SYS_async_daemon] = "async_daemon";
120 #endif
121 #ifdef SYS_audcntl
122 syscall_table[SYS_audcntl] = "audcntl";
123 #endif
124 #ifdef SYS_audgen
125 syscall_table[SYS_audgen] = "audgen";
126 #endif
127 #ifdef SYS_auditbuf
128 syscall_table[SYS_auditbuf] = "auditbuf";
129 #endif
130 #ifdef SYS_auditctl
131 syscall_table[SYS_auditctl] = "auditctl";
132 #endif
133 #ifdef SYS_auditdmp
134 syscall_table[SYS_auditdmp] = "auditdmp";
135 #endif
136 #ifdef SYS_auditevt
137 syscall_table[SYS_auditevt] = "auditevt";
138 #endif
139 #ifdef SYS_auditlog
140 syscall_table[SYS_auditlog] = "auditlog";
141 #endif
142 #ifdef SYS_auditsys
143 syscall_table[SYS_auditsys] = "auditsys";
144 #endif
145 #ifdef SYS_bind
146 syscall_table[SYS_bind] = "bind";
147 #endif
148 #ifdef SYS_block
149 syscall_table[SYS_block] = "block";
150 #endif
151 #ifdef SYS_brk
152 syscall_table[SYS_brk] = "brk";
153 #endif
154 #ifdef SYS_cachectl
155 syscall_table[SYS_cachectl] = "cachectl";
156 #endif
157 #ifdef SYS_cacheflush
158 syscall_table[SYS_cacheflush] = "cacheflush";
159 #endif
160 #ifdef SYS_cancelblock
161 syscall_table[SYS_cancelblock] = "cancelblock";
162 #endif
163 #ifdef SYS_cg_bind
164 syscall_table[SYS_cg_bind] = "cg_bind";
165 #endif
166 #ifdef SYS_cg_current
167 syscall_table[SYS_cg_current] = "cg_current";
168 #endif
169 #ifdef SYS_cg_ids
170 syscall_table[SYS_cg_ids] = "cg_ids";
171 #endif
172 #ifdef SYS_cg_info
173 syscall_table[SYS_cg_info] = "cg_info";
174 #endif
175 #ifdef SYS_cg_memloc
176 syscall_table[SYS_cg_memloc] = "cg_memloc";
177 #endif
178 #ifdef SYS_cg_processors
179 syscall_table[SYS_cg_processors] = "cg_processors";
180 #endif
181 #ifdef SYS_chdir
182 syscall_table[SYS_chdir] = "chdir";
183 #endif
184 #ifdef SYS_chflags
185 syscall_table[SYS_chflags] = "chflags";
186 #endif
187 #ifdef SYS_chmod
188 syscall_table[SYS_chmod] = "chmod";
189 #endif
190 #ifdef SYS_chown
191 syscall_table[SYS_chown] = "chown";
192 #endif
193 #ifdef SYS_chroot
194 syscall_table[SYS_chroot] = "chroot";
195 #endif
196 #ifdef SYS_clocal
197 syscall_table[SYS_clocal] = "clocal";
198 #endif
199 #ifdef SYS_clock_getres
200 syscall_table[SYS_clock_getres] = "clock_getres";
201 #endif
202 #ifdef SYS_clock_gettime
203 syscall_table[SYS_clock_gettime] = "clock_gettime";
204 #endif
205 #ifdef SYS_clock_settime
206 syscall_table[SYS_clock_settime] = "clock_settime";
207 #endif
208 #ifdef SYS_close
209 syscall_table[SYS_close] = "close";
210 #endif
211 #ifdef SYS_connect
212 syscall_table[SYS_connect] = "connect";
213 #endif
214 #ifdef SYS_context
215 syscall_table[SYS_context] = "context";
216 #endif
217 #ifdef SYS_creat
218 syscall_table[SYS_creat] = "creat";
219 #endif
220 #ifdef SYS_creat64
221 syscall_table[SYS_creat64] = "creat64";
222 #endif
223 #ifdef SYS_devstat
224 syscall_table[SYS_devstat] = "devstat";
225 #endif
226 #ifdef SYS_dmi
227 syscall_table[SYS_dmi] = "dmi";
228 #endif
229 #ifdef SYS_door
230 syscall_table[SYS_door] = "door";
231 #endif
232 #ifdef SYS_dshmsys
233 syscall_table[SYS_dshmsys] = "dshmsys";
234 #endif
235 #ifdef SYS_dup
236 syscall_table[SYS_dup] = "dup";
237 #endif
238 #ifdef SYS_dup2
239 syscall_table[SYS_dup2] = "dup2";
240 #endif
241 #ifdef SYS_evsys
242 syscall_table[SYS_evsys] = "evsys";
243 #endif
244 #ifdef SYS_evtrapret
245 syscall_table[SYS_evtrapret] = "evtrapret";
246 #endif
247 #ifdef SYS_exec
248 syscall_table[SYS_exec] = "exec";
249 #endif
250 #ifdef SYS_exec_with_loader
251 syscall_table[SYS_exec_with_loader] = "exec_with_loader";
252 #endif
253 #ifdef SYS_execv
254 syscall_table[SYS_execv] = "execv";
255 #endif
256 #ifdef SYS_execve
257 syscall_table[SYS_execve] = "execve";
258 #endif
259 #ifdef SYS_exit
260 syscall_table[SYS_exit] = "exit";
261 #endif
262 #ifdef SYS_exportfs
263 syscall_table[SYS_exportfs] = "exportfs";
264 #endif
265 #ifdef SYS_facl
266 syscall_table[SYS_facl] = "facl";
267 #endif
268 #ifdef SYS_fchdir
269 syscall_table[SYS_fchdir] = "fchdir";
270 #endif
271 #ifdef SYS_fchflags
272 syscall_table[SYS_fchflags] = "fchflags";
273 #endif
274 #ifdef SYS_fchmod
275 syscall_table[SYS_fchmod] = "fchmod";
276 #endif
277 #ifdef SYS_fchown
278 syscall_table[SYS_fchown] = "fchown";
279 #endif
280 #ifdef SYS_fchroot
281 syscall_table[SYS_fchroot] = "fchroot";
282 #endif
283 #ifdef SYS_fcntl
284 syscall_table[SYS_fcntl] = "fcntl";
285 #endif
286 #ifdef SYS_fdatasync
287 syscall_table[SYS_fdatasync] = "fdatasync";
288 #endif
289 #ifdef SYS_fdevstat
290 syscall_table[SYS_fdevstat] = "fdevstat";
291 #endif
292 #ifdef SYS_fdsync
293 syscall_table[SYS_fdsync] = "fdsync";
294 #endif
295 #ifdef SYS_filepriv
296 syscall_table[SYS_filepriv] = "filepriv";
297 #endif
298 #ifdef SYS_flock
299 syscall_table[SYS_flock] = "flock";
300 #endif
301 #ifdef SYS_flvlfile
302 syscall_table[SYS_flvlfile] = "flvlfile";
303 #endif
304 #ifdef SYS_fork
305 syscall_table[SYS_fork] = "fork";
306 #endif
307 #ifdef SYS_fork1
308 syscall_table[SYS_fork1] = "fork1";
309 #endif
310 #ifdef SYS_forkall
311 syscall_table[SYS_forkall] = "forkall";
312 #endif
313 #ifdef SYS_fpathconf
314 syscall_table[SYS_fpathconf] = "fpathconf";
315 #endif
316 #ifdef SYS_fstat
317 syscall_table[SYS_fstat] = "fstat";
318 #endif
319 #ifdef SYS_fstat64
320 syscall_table[SYS_fstat64] = "fstat64";
321 #endif
322 #ifdef SYS_fstatfs
323 syscall_table[SYS_fstatfs] = "fstatfs";
324 #endif
325 #ifdef SYS_fstatvfs
326 syscall_table[SYS_fstatvfs] = "fstatvfs";
327 #endif
328 #ifdef SYS_fstatvfs64
329 syscall_table[SYS_fstatvfs64] = "fstatvfs64";
330 #endif
331 #ifdef SYS_fsync
332 syscall_table[SYS_fsync] = "fsync";
333 #endif
334 #ifdef SYS_ftruncate
335 syscall_table[SYS_ftruncate] = "ftruncate";
336 #endif
337 #ifdef SYS_ftruncate64
338 syscall_table[SYS_ftruncate64] = "ftruncate64";
339 #endif
340 #ifdef SYS_fuser
341 syscall_table[SYS_fuser] = "fuser";
342 #endif
343 #ifdef SYS_fxstat
344 syscall_table[SYS_fxstat] = "fxstat";
345 #endif
346 #ifdef SYS_get_sysinfo
347 syscall_table[SYS_get_sysinfo] = "get_sysinfo";
348 #endif
349 #ifdef SYS_getaddressconf
350 syscall_table[SYS_getaddressconf] = "getaddressconf";
351 #endif
352 #ifdef SYS_getcontext
353 syscall_table[SYS_getcontext] = "getcontext";
354 #endif
355 #ifdef SYS_getdents
356 syscall_table[SYS_getdents] = "getdents";
357 #endif
358 #ifdef SYS_getdents64
359 syscall_table[SYS_getdents64] = "getdents64";
360 #endif
361 #ifdef SYS_getdirentries
362 syscall_table[SYS_getdirentries] = "getdirentries";
363 #endif
364 #ifdef SYS_getdomainname
365 syscall_table[SYS_getdomainname] = "getdomainname";
366 #endif
367 #ifdef SYS_getdtablesize
368 syscall_table[SYS_getdtablesize] = "getdtablesize";
369 #endif
370 #ifdef SYS_getfh
371 syscall_table[SYS_getfh] = "getfh";
372 #endif
373 #ifdef SYS_getfsstat
374 syscall_table[SYS_getfsstat] = "getfsstat";
375 #endif
376 #ifdef SYS_getgid
377 syscall_table[SYS_getgid] = "getgid";
378 #endif
379 #ifdef SYS_getgroups
380 syscall_table[SYS_getgroups] = "getgroups";
381 #endif
382 #ifdef SYS_gethostid
383 syscall_table[SYS_gethostid] = "gethostid";
384 #endif
385 #ifdef SYS_gethostname
386 syscall_table[SYS_gethostname] = "gethostname";
387 #endif
388 #ifdef SYS_getitimer
389 syscall_table[SYS_getitimer] = "getitimer";
390 #endif
391 #ifdef SYS_getksym
392 syscall_table[SYS_getksym] = "getksym";
393 #endif
394 #ifdef SYS_getlogin
395 syscall_table[SYS_getlogin] = "getlogin";
396 #endif
397 #ifdef SYS_getmnt
398 syscall_table[SYS_getmnt] = "getmnt";
399 #endif
400 #ifdef SYS_getmsg
401 syscall_table[SYS_getmsg] = "getmsg";
402 #endif
403 #ifdef SYS_getpagesize
404 syscall_table[SYS_getpagesize] = "getpagesize";
405 #endif
406 #ifdef SYS_getpeername
407 syscall_table[SYS_getpeername] = "getpeername";
408 #endif
409 #ifdef SYS_getpgid
410 syscall_table[SYS_getpgid] = "getpgid";
411 #endif
412 #ifdef SYS_getpgrp
413 syscall_table[SYS_getpgrp] = "getpgrp";
414 #endif
415 #ifdef SYS_getpid
416 syscall_table[SYS_getpid] = "getpid";
417 #endif
418 #ifdef SYS_getpmsg
419 syscall_table[SYS_getpmsg] = "getpmsg";
420 #endif
421 #ifdef SYS_getpriority
422 syscall_table[SYS_getpriority] = "getpriority";
423 #endif
424 #ifdef SYS_getrlimit
425 syscall_table[SYS_getrlimit] = "getrlimit";
426 #endif
427 #ifdef SYS_getrlimit64
428 syscall_table[SYS_getrlimit64] = "getrlimit64";
429 #endif
430 #ifdef SYS_getrusage
431 syscall_table[SYS_getrusage] = "getrusage";
432 #endif
433 #ifdef SYS_getsid
434 syscall_table[SYS_getsid] = "getsid";
435 #endif
436 #ifdef SYS_getsockname
437 syscall_table[SYS_getsockname] = "getsockname";
438 #endif
439 #ifdef SYS_getsockopt
440 syscall_table[SYS_getsockopt] = "getsockopt";
441 #endif
442 #ifdef SYS_gettimeofday
443 syscall_table[SYS_gettimeofday] = "gettimeofday";
444 #endif
445 #ifdef SYS_getuid
446 syscall_table[SYS_getuid] = "getuid";
447 #endif
448 #ifdef SYS_gtty
449 syscall_table[SYS_gtty] = "gtty";
450 #endif
451 #ifdef SYS_hrtsys
452 syscall_table[SYS_hrtsys] = "hrtsys";
453 #endif
454 #ifdef SYS_inst_sync
455 syscall_table[SYS_inst_sync] = "inst_sync";
456 #endif
457 #ifdef SYS_install_utrap
458 syscall_table[SYS_install_utrap] = "install_utrap";
459 #endif
460 #ifdef SYS_invlpg
461 syscall_table[SYS_invlpg] = "invlpg";
462 #endif
463 #ifdef SYS_ioctl
464 syscall_table[SYS_ioctl] = "ioctl";
465 #endif
466 #ifdef SYS_kaio
467 syscall_table[SYS_kaio] = "kaio";
468 #endif
469 #ifdef SYS_keyctl
470 syscall_table[SYS_keyctl] = "keyctl";
471 #endif
472 #ifdef SYS_kill
473 syscall_table[SYS_kill] = "kill";
474 #endif
475 #ifdef SYS_killpg
476 syscall_table[SYS_killpg] = "killpg";
477 #endif
478 #ifdef SYS_kloadcall
479 syscall_table[SYS_kloadcall] = "kloadcall";
480 #endif
481 #ifdef SYS_kmodcall
482 syscall_table[SYS_kmodcall] = "kmodcall";
483 #endif
484 #ifdef SYS_ksigaction
485 syscall_table[SYS_ksigaction] = "ksigaction";
486 #endif
487 #ifdef SYS_ksigprocmask
488 syscall_table[SYS_ksigprocmask] = "ksigprocmask";
489 #endif
490 #ifdef SYS_ksigqueue
491 syscall_table[SYS_ksigqueue] = "ksigqueue";
492 #endif
493 #ifdef SYS_lchown
494 syscall_table[SYS_lchown] = "lchown";
495 #endif
496 #ifdef SYS_link
497 syscall_table[SYS_link] = "link";
498 #endif
499 #ifdef SYS_listen
500 syscall_table[SYS_listen] = "listen";
501 #endif
502 #ifdef SYS_llseek
503 syscall_table[SYS_llseek] = "llseek";
504 #endif
505 #ifdef SYS_lseek
506 syscall_table[SYS_lseek] = "lseek";
507 #endif
508 #ifdef SYS_lseek64
509 syscall_table[SYS_lseek64] = "lseek64";
510 #endif
511 #ifdef SYS_lstat
512 syscall_table[SYS_lstat] = "lstat";
513 #endif
514 #ifdef SYS_lstat64
515 syscall_table[SYS_lstat64] = "lstat64";
516 #endif
517 #ifdef SYS_lvldom
518 syscall_table[SYS_lvldom] = "lvldom";
519 #endif
520 #ifdef SYS_lvlequal
521 syscall_table[SYS_lvlequal] = "lvlequal";
522 #endif
523 #ifdef SYS_lvlfile
524 syscall_table[SYS_lvlfile] = "lvlfile";
525 #endif
526 #ifdef SYS_lvlipc
527 syscall_table[SYS_lvlipc] = "lvlipc";
528 #endif
529 #ifdef SYS_lvlproc
530 syscall_table[SYS_lvlproc] = "lvlproc";
531 #endif
532 #ifdef SYS_lvlvfs
533 syscall_table[SYS_lvlvfs] = "lvlvfs";
534 #endif
535 #ifdef SYS_lwp_alarm
536 syscall_table[SYS_lwp_alarm] = "lwp_alarm";
537 #endif
538 #ifdef SYS_lwp_cond_broadcast
539 syscall_table[SYS_lwp_cond_broadcast] = "lwp_cond_broadcast";
540 #endif
541 #ifdef SYS_lwp_cond_signal
542 syscall_table[SYS_lwp_cond_signal] = "lwp_cond_signal";
543 #endif
544 #ifdef SYS_lwp_cond_wait
545 syscall_table[SYS_lwp_cond_wait] = "lwp_cond_wait";
546 #endif
547 #ifdef SYS_lwp_continue
548 syscall_table[SYS_lwp_continue] = "lwp_continue";
549 #endif
550 #ifdef SYS_lwp_create
551 syscall_table[SYS_lwp_create] = "lwp_create";
552 #endif
553 #ifdef SYS_lwp_exit
554 syscall_table[SYS_lwp_exit] = "lwp_exit";
555 #endif
556 #ifdef SYS_lwp_getprivate
557 syscall_table[SYS_lwp_getprivate] = "lwp_getprivate";
558 #endif
559 #ifdef SYS_lwp_info
560 syscall_table[SYS_lwp_info] = "lwp_info";
561 #endif
562 #ifdef SYS_lwp_kill
563 syscall_table[SYS_lwp_kill] = "lwp_kill";
564 #endif
565 #ifdef SYS_lwp_mutex_init
566 syscall_table[SYS_lwp_mutex_init] = "lwp_mutex_init";
567 #endif
568 #ifdef SYS_lwp_mutex_lock
569 syscall_table[SYS_lwp_mutex_lock] = "lwp_mutex_lock";
570 #endif
571 #ifdef SYS_lwp_mutex_trylock
572 syscall_table[SYS_lwp_mutex_trylock] = "lwp_mutex_trylock";
573 #endif
574 #ifdef SYS_lwp_mutex_unlock
575 syscall_table[SYS_lwp_mutex_unlock] = "lwp_mutex_unlock";
576 #endif
577 #ifdef SYS_lwp_private
578 syscall_table[SYS_lwp_private] = "lwp_private";
579 #endif
580 #ifdef SYS_lwp_self
581 syscall_table[SYS_lwp_self] = "lwp_self";
582 #endif
583 #ifdef SYS_lwp_sema_post
584 syscall_table[SYS_lwp_sema_post] = "lwp_sema_post";
585 #endif
586 #ifdef SYS_lwp_sema_trywait
587 syscall_table[SYS_lwp_sema_trywait] = "lwp_sema_trywait";
588 #endif
589 #ifdef SYS_lwp_sema_wait
590 syscall_table[SYS_lwp_sema_wait] = "lwp_sema_wait";
591 #endif
592 #ifdef SYS_lwp_setprivate
593 syscall_table[SYS_lwp_setprivate] = "lwp_setprivate";
594 #endif
595 #ifdef SYS_lwp_sigredirect
596 syscall_table[SYS_lwp_sigredirect] = "lwp_sigredirect";
597 #endif
598 #ifdef SYS_lwp_suspend
599 syscall_table[SYS_lwp_suspend] = "lwp_suspend";
600 #endif
601 #ifdef SYS_lwp_wait
602 syscall_table[SYS_lwp_wait] = "lwp_wait";
603 #endif
604 #ifdef SYS_lxstat
605 syscall_table[SYS_lxstat] = "lxstat";
606 #endif
607 #ifdef SYS_madvise
608 syscall_table[SYS_madvise] = "madvise";
609 #endif
610 #ifdef SYS_memcntl
611 syscall_table[SYS_memcntl] = "memcntl";
612 #endif
613 #ifdef SYS_mincore
614 syscall_table[SYS_mincore] = "mincore";
615 #endif
616 #ifdef SYS_mincore
617 syscall_table[SYS_mincore] = "mincore";
618 #endif
619 #ifdef SYS_mkdir
620 syscall_table[SYS_mkdir] = "mkdir";
621 #endif
622 #ifdef SYS_mkmld
623 syscall_table[SYS_mkmld] = "mkmld";
624 #endif
625 #ifdef SYS_mknod
626 syscall_table[SYS_mknod] = "mknod";
627 #endif
628 #ifdef SYS_mldmode
629 syscall_table[SYS_mldmode] = "mldmode";
630 #endif
631 #ifdef SYS_mmap
632 syscall_table[SYS_mmap] = "mmap";
633 #endif
634 #ifdef SYS_mmap64
635 syscall_table[SYS_mmap64] = "mmap64";
636 #endif
637 #ifdef SYS_modadm
638 syscall_table[SYS_modadm] = "modadm";
639 #endif
640 #ifdef SYS_modctl
641 syscall_table[SYS_modctl] = "modctl";
642 #endif
643 #ifdef SYS_modload
644 syscall_table[SYS_modload] = "modload";
645 #endif
646 #ifdef SYS_modpath
647 syscall_table[SYS_modpath] = "modpath";
648 #endif
649 #ifdef SYS_modstat
650 syscall_table[SYS_modstat] = "modstat";
651 #endif
652 #ifdef SYS_moduload
653 syscall_table[SYS_moduload] = "moduload";
654 #endif
655 #ifdef SYS_mount
656 syscall_table[SYS_mount] = "mount";
657 #endif
658 #ifdef SYS_mprotect
659 syscall_table[SYS_mprotect] = "mprotect";
660 #endif
661 #ifdef SYS_mremap
662 syscall_table[SYS_mremap] = "mremap";
663 #endif
664 #ifdef SYS_msfs_syscall
665 syscall_table[SYS_msfs_syscall] = "msfs_syscall";
666 #endif
667 #ifdef SYS_msgctl
668 syscall_table[SYS_msgctl] = "msgctl";
669 #endif
670 #ifdef SYS_msgget
671 syscall_table[SYS_msgget] = "msgget";
672 #endif
673 #ifdef SYS_msgrcv
674 syscall_table[SYS_msgrcv] = "msgrcv";
675 #endif
676 #ifdef SYS_msgsnd
677 syscall_table[SYS_msgsnd] = "msgsnd";
678 #endif
679 #ifdef SYS_msgsys
680 syscall_table[SYS_msgsys] = "msgsys";
681 #endif
682 #ifdef SYS_msleep
683 syscall_table[SYS_msleep] = "msleep";
684 #endif
685 #ifdef SYS_msync
686 syscall_table[SYS_msync] = "msync";
687 #endif
688 #ifdef SYS_munmap
689 syscall_table[SYS_munmap] = "munmap";
690 #endif
691 #ifdef SYS_mvalid
692 syscall_table[SYS_mvalid] = "mvalid";
693 #endif
694 #ifdef SYS_mwakeup
695 syscall_table[SYS_mwakeup] = "mwakeup";
696 #endif
697 #ifdef SYS_naccept
698 syscall_table[SYS_naccept] = "naccept";
699 #endif
700 #ifdef SYS_nanosleep
701 syscall_table[SYS_nanosleep] = "nanosleep";
702 #endif
703 #ifdef SYS_nfssvc
704 syscall_table[SYS_nfssvc] = "nfssvc";
705 #endif
706 #ifdef SYS_nfssys
707 syscall_table[SYS_nfssys] = "nfssys";
708 #endif
709 #ifdef SYS_ngetpeername
710 syscall_table[SYS_ngetpeername] = "ngetpeername";
711 #endif
712 #ifdef SYS_ngetsockname
713 syscall_table[SYS_ngetsockname] = "ngetsockname";
714 #endif
715 #ifdef SYS_nice
716 syscall_table[SYS_nice] = "nice";
717 #endif
718 #ifdef SYS_nrecvfrom
719 syscall_table[SYS_nrecvfrom] = "nrecvfrom";
720 #endif
721 #ifdef SYS_nrecvmsg
722 syscall_table[SYS_nrecvmsg] = "nrecvmsg";
723 #endif
724 #ifdef SYS_nsendmsg
725 syscall_table[SYS_nsendmsg] = "nsendmsg";
726 #endif
727 #ifdef SYS_ntp_adjtime
728 syscall_table[SYS_ntp_adjtime] = "ntp_adjtime";
729 #endif
730 #ifdef SYS_ntp_gettime
731 syscall_table[SYS_ntp_gettime] = "ntp_gettime";
732 #endif
733 #ifdef SYS_nuname
734 syscall_table[SYS_nuname] = "nuname";
735 #endif
736 #ifdef SYS_obreak
737 syscall_table[SYS_obreak] = "obreak";
738 #endif
739 #ifdef SYS_old_accept
740 syscall_table[SYS_old_accept] = "old_accept";
741 #endif
742 #ifdef SYS_old_fstat
743 syscall_table[SYS_old_fstat] = "old_fstat";
744 #endif
745 #ifdef SYS_old_getpeername
746 syscall_table[SYS_old_getpeername] = "old_getpeername";
747 #endif
748 #ifdef SYS_old_getpgrp
749 syscall_table[SYS_old_getpgrp] = "old_getpgrp";
750 #endif
751 #ifdef SYS_old_getsockname
752 syscall_table[SYS_old_getsockname] = "old_getsockname";
753 #endif
754 #ifdef SYS_old_killpg
755 syscall_table[SYS_old_killpg] = "old_killpg";
756 #endif
757 #ifdef SYS_old_lstat
758 syscall_table[SYS_old_lstat] = "old_lstat";
759 #endif
760 #ifdef SYS_old_recv
761 syscall_table[SYS_old_recv] = "old_recv";
762 #endif
763 #ifdef SYS_old_recvfrom
764 syscall_table[SYS_old_recvfrom] = "old_recvfrom";
765 #endif
766 #ifdef SYS_old_recvmsg
767 syscall_table[SYS_old_recvmsg] = "old_recvmsg";
768 #endif
769 #ifdef SYS_old_send
770 syscall_table[SYS_old_send] = "old_send";
771 #endif
772 #ifdef SYS_old_sendmsg
773 syscall_table[SYS_old_sendmsg] = "old_sendmsg";
774 #endif
775 #ifdef SYS_old_sigblock
776 syscall_table[SYS_old_sigblock] = "old_sigblock";
777 #endif
778 #ifdef SYS_old_sigsetmask
779 syscall_table[SYS_old_sigsetmask] = "old_sigsetmask";
780 #endif
781 #ifdef SYS_old_sigvec
782 syscall_table[SYS_old_sigvec] = "old_sigvec";
783 #endif
784 #ifdef SYS_old_stat
785 syscall_table[SYS_old_stat] = "old_stat";
786 #endif
787 #ifdef SYS_old_vhangup
788 syscall_table[SYS_old_vhangup] = "old_vhangup";
789 #endif
790 #ifdef SYS_old_wait
791 syscall_table[SYS_old_wait] = "old_wait";
792 #endif
793 #ifdef SYS_oldquota
794 syscall_table[SYS_oldquota] = "oldquota";
795 #endif
796 #ifdef SYS_online
797 syscall_table[SYS_online] = "online";
798 #endif
799 #ifdef SYS_open
800 syscall_table[SYS_open] = "open";
801 #endif
802 #ifdef SYS_open64
803 syscall_table[SYS_open64] = "open64";
804 #endif
805 #ifdef SYS_ovadvise
806 syscall_table[SYS_ovadvise] = "ovadvise";
807 #endif
808 #ifdef SYS_p_online
809 syscall_table[SYS_p_online] = "p_online";
810 #endif
811 #ifdef SYS_pagelock
812 syscall_table[SYS_pagelock] = "pagelock";
813 #endif
814 #ifdef SYS_pathconf
815 syscall_table[SYS_pathconf] = "pathconf";
816 #endif
817 #ifdef SYS_pause
818 syscall_table[SYS_pause] = "pause";
819 #endif
820 #ifdef SYS_pgrpsys
821 syscall_table[SYS_pgrpsys] = "pgrpsys";
822 #endif
823 #ifdef SYS_pid_block
824 syscall_table[SYS_pid_block] = "pid_block";
825 #endif
826 #ifdef SYS_pid_unblock
827 syscall_table[SYS_pid_unblock] = "pid_unblock";
828 #endif
829 #ifdef SYS_pipe
830 syscall_table[SYS_pipe] = "pipe";
831 #endif
832 #ifdef SYS_plock
833 syscall_table[SYS_plock] = "plock";
834 #endif
835 #ifdef SYS_poll
836 syscall_table[SYS_poll] = "poll";
837 #endif
838 #ifdef SYS_prctl
839 syscall_table[SYS_prctl] = "prctl";
840 #endif
841 #ifdef SYS_pread
842 syscall_table[SYS_pread] = "pread";
843 #endif
844 #ifdef SYS_pread64
845 syscall_table[SYS_pread64] = "pread64";
846 #endif
847 #ifdef SYS_pread64
848 syscall_table[SYS_pread64] = "pread64";
849 #endif
850 #ifdef SYS_prepblock
851 syscall_table[SYS_prepblock] = "prepblock";
852 #endif
853 #ifdef SYS_priocntl
854 syscall_table[SYS_priocntl] = "priocntl";
855 #endif
856 #ifdef SYS_priocntllst
857 syscall_table[SYS_priocntllst] = "priocntllst";
858 #endif
859 #ifdef SYS_priocntlset
860 syscall_table[SYS_priocntlset] = "priocntlset";
861 #endif
862 #ifdef SYS_priocntlsys
863 syscall_table[SYS_priocntlsys] = "priocntlsys";
864 #endif
865 #ifdef SYS_procblk
866 syscall_table[SYS_procblk] = "procblk";
867 #endif
868 #ifdef SYS_processor_bind
869 syscall_table[SYS_processor_bind] = "processor_bind";
870 #endif
871 #ifdef SYS_processor_exbind
872 syscall_table[SYS_processor_exbind] = "processor_exbind";
873 #endif
874 #ifdef SYS_processor_info
875 syscall_table[SYS_processor_info] = "processor_info";
876 #endif
877 #ifdef SYS_procpriv
878 syscall_table[SYS_procpriv] = "procpriv";
879 #endif
880 #ifdef SYS_profil
881 syscall_table[SYS_profil] = "profil";
882 #endif
883 #ifdef SYS_proplist_syscall
884 syscall_table[SYS_proplist_syscall] = "proplist_syscall";
885 #endif
886 #ifdef SYS_pset
887 syscall_table[SYS_pset] = "pset";
888 #endif
889 #ifdef SYS_ptrace
890 syscall_table[SYS_ptrace] = "ptrace";
891 #endif
892 #ifdef SYS_putmsg
893 syscall_table[SYS_putmsg] = "putmsg";
894 #endif
895 #ifdef SYS_putpmsg
896 syscall_table[SYS_putpmsg] = "putpmsg";
897 #endif
898 #ifdef SYS_pwrite
899 syscall_table[SYS_pwrite] = "pwrite";
900 #endif
901 #ifdef SYS_pwrite64
902 syscall_table[SYS_pwrite64] = "pwrite64";
903 #endif
904 #ifdef SYS_quotactl
905 syscall_table[SYS_quotactl] = "quotactl";
906 #endif
907 #ifdef SYS_rdblock
908 syscall_table[SYS_rdblock] = "rdblock";
909 #endif
910 #ifdef SYS_read
911 syscall_table[SYS_read] = "read";
912 #endif
913 #ifdef SYS_readlink
914 syscall_table[SYS_readlink] = "readlink";
915 #endif
916 #ifdef SYS_readv
917 syscall_table[SYS_readv] = "readv";
918 #endif
919 #ifdef SYS_reboot
920 syscall_table[SYS_reboot] = "reboot";
921 #endif
922 #ifdef SYS_recv
923 syscall_table[SYS_recv] = "recv";
924 #endif
925 #ifdef SYS_recvfrom
926 syscall_table[SYS_recvfrom] = "recvfrom";
927 #endif
928 #ifdef SYS_recvmsg
929 syscall_table[SYS_recvmsg] = "recvmsg";
930 #endif
931 #ifdef SYS_rename
932 syscall_table[SYS_rename] = "rename";
933 #endif
934 #ifdef SYS_resolvepath
935 syscall_table[SYS_resolvepath] = "resolvepath";
936 #endif
937 #ifdef SYS_revoke
938 syscall_table[SYS_revoke] = "revoke";
939 #endif
940 #ifdef SYS_rfsys
941 syscall_table[SYS_rfsys] = "rfsys";
942 #endif
943 #ifdef SYS_rmdir
944 syscall_table[SYS_rmdir] = "rmdir";
945 #endif
946 #ifdef SYS_rpcsys
947 syscall_table[SYS_rpcsys] = "rpcsys";
948 #endif
949 #ifdef SYS_sbrk
950 syscall_table[SYS_sbrk] = "sbrk";
951 #endif
952 #ifdef SYS_schedctl
953 syscall_table[SYS_schedctl] = "schedctl";
954 #endif
955 #ifdef SYS_secadvise
956 syscall_table[SYS_secadvise] = "secadvise";
957 #endif
958 #ifdef SYS_secsys
959 syscall_table[SYS_secsys] = "secsys";
960 #endif
961 #ifdef SYS_security
962 syscall_table[SYS_security] = "security";
963 #endif
964 #ifdef SYS_select
965 syscall_table[SYS_select] = "select";
966 #endif
967 #ifdef SYS_semctl
968 syscall_table[SYS_semctl] = "semctl";
969 #endif
970 #ifdef SYS_semget
971 syscall_table[SYS_semget] = "semget";
972 #endif
973 #ifdef SYS_semop
974 syscall_table[SYS_semop] = "semop";
975 #endif
976 #ifdef SYS_semsys
977 syscall_table[SYS_semsys] = "semsys";
978 #endif
979 #ifdef SYS_send
980 syscall_table[SYS_send] = "send";
981 #endif
982 #ifdef SYS_sendmsg
983 syscall_table[SYS_sendmsg] = "sendmsg";
984 #endif
985 #ifdef SYS_sendto
986 syscall_table[SYS_sendto] = "sendto";
987 #endif
988 #ifdef SYS_set_program_attributes
989 syscall_table[SYS_set_program_attributes] = "set_program_attributes";
990 #endif
991 #ifdef SYS_set_speculative
992 syscall_table[SYS_set_speculative] = "set_speculative";
993 #endif
994 #ifdef SYS_set_sysinfo
995 syscall_table[SYS_set_sysinfo] = "set_sysinfo";
996 #endif
997 #ifdef SYS_setcontext
998 syscall_table[SYS_setcontext] = "setcontext";
999 #endif
1000 #ifdef SYS_setdomainname
1001 syscall_table[SYS_setdomainname] = "setdomainname";
1002 #endif
1003 #ifdef SYS_setegid
1004 syscall_table[SYS_setegid] = "setegid";
1005 #endif
1006 #ifdef SYS_seteuid
1007 syscall_table[SYS_seteuid] = "seteuid";
1008 #endif
1009 #ifdef SYS_setgid
1010 syscall_table[SYS_setgid] = "setgid";
1011 #endif
1012 #ifdef SYS_setgroups
1013 syscall_table[SYS_setgroups] = "setgroups";
1014 #endif
1015 #ifdef SYS_sethostid
1016 syscall_table[SYS_sethostid] = "sethostid";
1017 #endif
1018 #ifdef SYS_sethostname
1019 syscall_table[SYS_sethostname] = "sethostname";
1020 #endif
1021 #ifdef SYS_setitimer
1022 syscall_table[SYS_setitimer] = "setitimer";
1023 #endif
1024 #ifdef SYS_setlogin
1025 syscall_table[SYS_setlogin] = "setlogin";
1026 #endif
1027 #ifdef SYS_setpgid
1028 syscall_table[SYS_setpgid] = "setpgid";
1029 #endif
1030 #ifdef SYS_setpgrp
1031 syscall_table[SYS_setpgrp] = "setpgrp";
1032 #endif
1033 #ifdef SYS_setpriority
1034 syscall_table[SYS_setpriority] = "setpriority";
1035 #endif
1036 #ifdef SYS_setregid
1037 syscall_table[SYS_setregid] = "setregid";
1038 #endif
1039 #ifdef SYS_setreuid
1040 syscall_table[SYS_setreuid] = "setreuid";
1041 #endif
1042 #ifdef SYS_setrlimit
1043 syscall_table[SYS_setrlimit] = "setrlimit";
1044 #endif
1045 #ifdef SYS_setrlimit64
1046 syscall_table[SYS_setrlimit64] = "setrlimit64";
1047 #endif
1048 #ifdef SYS_setsid
1049 syscall_table[SYS_setsid] = "setsid";
1050 #endif
1051 #ifdef SYS_setsockopt
1052 syscall_table[SYS_setsockopt] = "setsockopt";
1053 #endif
1054 #ifdef SYS_settimeofday
1055 syscall_table[SYS_settimeofday] = "settimeofday";
1056 #endif
1057 #ifdef SYS_setuid
1058 syscall_table[SYS_setuid] = "setuid";
1059 #endif
1060 #ifdef SYS_sgi
1061 syscall_table[SYS_sgi] = "sgi";
1062 #endif
1063 #ifdef SYS_sgifastpath
1064 syscall_table[SYS_sgifastpath] = "sgifastpath";
1065 #endif
1066 #ifdef SYS_sgikopt
1067 syscall_table[SYS_sgikopt] = "sgikopt";
1068 #endif
1069 #ifdef SYS_sginap
1070 syscall_table[SYS_sginap] = "sginap";
1071 #endif
1072 #ifdef SYS_shmat
1073 syscall_table[SYS_shmat] = "shmat";
1074 #endif
1075 #ifdef SYS_shmctl
1076 syscall_table[SYS_shmctl] = "shmctl";
1077 #endif
1078 #ifdef SYS_shmdt
1079 syscall_table[SYS_shmdt] = "shmdt";
1080 #endif
1081 #ifdef SYS_shmget
1082 syscall_table[SYS_shmget] = "shmget";
1083 #endif
1084 #ifdef SYS_shmsys
1085 syscall_table[SYS_shmsys] = "shmsys";
1086 #endif
1087 #ifdef SYS_shutdown
1088 syscall_table[SYS_shutdown] = "shutdown";
1089 #endif
1090 #ifdef SYS_sigaction
1091 syscall_table[SYS_sigaction] = "sigaction";
1092 #endif
1093 #ifdef SYS_sigaltstack
1094 syscall_table[SYS_sigaltstack] = "sigaltstack";
1095 #endif
1096 #ifdef SYS_sigaltstack
1097 syscall_table[SYS_sigaltstack] = "sigaltstack";
1098 #endif
1099 #ifdef SYS_sigblock
1100 syscall_table[SYS_sigblock] = "sigblock";
1101 #endif
1102 #ifdef SYS_signal
1103 syscall_table[SYS_signal] = "signal";
1104 #endif
1105 #ifdef SYS_signotify
1106 syscall_table[SYS_signotify] = "signotify";
1107 #endif
1108 #ifdef SYS_signotifywait
1109 syscall_table[SYS_signotifywait] = "signotifywait";
1110 #endif
1111 #ifdef SYS_sigpending
1112 syscall_table[SYS_sigpending] = "sigpending";
1113 #endif
1114 #ifdef SYS_sigpoll
1115 syscall_table[SYS_sigpoll] = "sigpoll";
1116 #endif
1117 #ifdef SYS_sigprocmask
1118 syscall_table[SYS_sigprocmask] = "sigprocmask";
1119 #endif
1120 #ifdef SYS_sigqueue
1121 syscall_table[SYS_sigqueue] = "sigqueue";
1122 #endif
1123 #ifdef SYS_sigreturn
1124 syscall_table[SYS_sigreturn] = "sigreturn";
1125 #endif
1126 #ifdef SYS_sigsendset
1127 syscall_table[SYS_sigsendset] = "sigsendset";
1128 #endif
1129 #ifdef SYS_sigsendsys
1130 syscall_table[SYS_sigsendsys] = "sigsendsys";
1131 #endif
1132 #ifdef SYS_sigsetmask
1133 syscall_table[SYS_sigsetmask] = "sigsetmask";
1134 #endif
1135 #ifdef SYS_sigstack
1136 syscall_table[SYS_sigstack] = "sigstack";
1137 #endif
1138 #ifdef SYS_sigsuspend
1139 syscall_table[SYS_sigsuspend] = "sigsuspend";
1140 #endif
1141 #ifdef SYS_sigvec
1142 syscall_table[SYS_sigvec] = "sigvec";
1143 #endif
1144 #ifdef SYS_sigwait
1145 syscall_table[SYS_sigwait] = "sigwait";
1146 #endif
1147 #ifdef SYS_sigwaitprim
1148 syscall_table[SYS_sigwaitprim] = "sigwaitprim";
1149 #endif
1150 #ifdef SYS_sleep
1151 syscall_table[SYS_sleep] = "sleep";
1152 #endif
1153 #ifdef SYS_so_socket
1154 syscall_table[SYS_so_socket] = "so_socket";
1155 #endif
1156 #ifdef SYS_so_socketpair
1157 syscall_table[SYS_so_socketpair] = "so_socketpair";
1158 #endif
1159 #ifdef SYS_sockconfig
1160 syscall_table[SYS_sockconfig] = "sockconfig";
1161 #endif
1162 #ifdef SYS_socket
1163 syscall_table[SYS_socket] = "socket";
1164 #endif
1165 #ifdef SYS_socketpair
1166 syscall_table[SYS_socketpair] = "socketpair";
1167 #endif
1168 #ifdef SYS_sproc
1169 syscall_table[SYS_sproc] = "sproc";
1170 #endif
1171 #ifdef SYS_sprocsp
1172 syscall_table[SYS_sprocsp] = "sprocsp";
1173 #endif
1174 #ifdef SYS_sstk
1175 syscall_table[SYS_sstk] = "sstk";
1176 #endif
1177 #ifdef SYS_stat
1178 syscall_table[SYS_stat] = "stat";
1179 #endif
1180 #ifdef SYS_stat64
1181 syscall_table[SYS_stat64] = "stat64";
1182 #endif
1183 #ifdef SYS_statfs
1184 syscall_table[SYS_statfs] = "statfs";
1185 #endif
1186 #ifdef SYS_statvfs
1187 syscall_table[SYS_statvfs] = "statvfs";
1188 #endif
1189 #ifdef SYS_statvfs64
1190 syscall_table[SYS_statvfs64] = "statvfs64";
1191 #endif
1192 #ifdef SYS_stime
1193 syscall_table[SYS_stime] = "stime";
1194 #endif
1195 #ifdef SYS_stty
1196 syscall_table[SYS_stty] = "stty";
1197 #endif
1198 #ifdef SYS_subsys_info
1199 syscall_table[SYS_subsys_info] = "subsys_info";
1200 #endif
1201 #ifdef SYS_swapctl
1202 syscall_table[SYS_swapctl] = "swapctl";
1203 #endif
1204 #ifdef SYS_swapon
1205 syscall_table[SYS_swapon] = "swapon";
1206 #endif
1207 #ifdef SYS_symlink
1208 syscall_table[SYS_symlink] = "symlink";
1209 #endif
1210 #ifdef SYS_sync
1211 syscall_table[SYS_sync] = "sync";
1212 #endif
1213 #ifdef SYS_sys3b
1214 syscall_table[SYS_sys3b] = "sys3b";
1215 #endif
1216 #ifdef SYS_syscall
1217 syscall_table[SYS_syscall] = "syscall";
1218 #endif
1219 #ifdef SYS_sysconfig
1220 syscall_table[SYS_sysconfig] = "sysconfig";
1221 #endif
1222 #ifdef SYS_sysfs
1223 syscall_table[SYS_sysfs] = "sysfs";
1224 #endif
1225 #ifdef SYS_sysi86
1226 syscall_table[SYS_sysi86] = "sysi86";
1227 #endif
1228 #ifdef SYS_sysinfo
1229 syscall_table[SYS_sysinfo] = "sysinfo";
1230 #endif
1231 #ifdef SYS_sysmips
1232 syscall_table[SYS_sysmips] = "sysmips";
1233 #endif
1234 #ifdef SYS_syssun
1235 syscall_table[SYS_syssun] = "syssun";
1236 #endif
1237 #ifdef SYS_systeminfo
1238 syscall_table[SYS_systeminfo] = "systeminfo";
1239 #endif
1240 #ifdef SYS_table
1241 syscall_table[SYS_table] = "table";
1242 #endif
1243 #ifdef SYS_time
1244 syscall_table[SYS_time] = "time";
1245 #endif
1246 #ifdef SYS_timedwait
1247 syscall_table[SYS_timedwait] = "timedwait";
1248 #endif
1249 #ifdef SYS_timer_create
1250 syscall_table[SYS_timer_create] = "timer_create";
1251 #endif
1252 #ifdef SYS_timer_delete
1253 syscall_table[SYS_timer_delete] = "timer_delete";
1254 #endif
1255 #ifdef SYS_timer_getoverrun
1256 syscall_table[SYS_timer_getoverrun] = "timer_getoverrun";
1257 #endif
1258 #ifdef SYS_timer_gettime
1259 syscall_table[SYS_timer_gettime] = "timer_gettime";
1260 #endif
1261 #ifdef SYS_timer_settime
1262 syscall_table[SYS_timer_settime] = "timer_settime";
1263 #endif
1264 #ifdef SYS_times
1265 syscall_table[SYS_times] = "times";
1266 #endif
1267 #ifdef SYS_truncate
1268 syscall_table[SYS_truncate] = "truncate";
1269 #endif
1270 #ifdef SYS_truncate64
1271 syscall_table[SYS_truncate64] = "truncate64";
1272 #endif
1273 #ifdef SYS_tsolsys
1274 syscall_table[SYS_tsolsys] = "tsolsys";
1275 #endif
1276 #ifdef SYS_uadmin
1277 syscall_table[SYS_uadmin] = "uadmin";
1278 #endif
1279 #ifdef SYS_ulimit
1280 syscall_table[SYS_ulimit] = "ulimit";
1281 #endif
1282 #ifdef SYS_umask
1283 syscall_table[SYS_umask] = "umask";
1284 #endif
1285 #ifdef SYS_umount
1286 syscall_table[SYS_umount] = "umount";
1287 #endif
1288 #ifdef SYS_uname
1289 syscall_table[SYS_uname] = "uname";
1290 #endif
1291 #ifdef SYS_unblock
1292 syscall_table[SYS_unblock] = "unblock";
1293 #endif
1294 #ifdef SYS_unlink
1295 syscall_table[SYS_unlink] = "unlink";
1296 #endif
1297 #ifdef SYS_unmount
1298 syscall_table[SYS_unmount] = "unmount";
1299 #endif
1300 #ifdef SYS_usleep_thread
1301 syscall_table[SYS_usleep_thread] = "usleep_thread";
1302 #endif
1303 #ifdef SYS_uswitch
1304 syscall_table[SYS_uswitch] = "uswitch";
1305 #endif
1306 #ifdef SYS_utc_adjtime
1307 syscall_table[SYS_utc_adjtime] = "utc_adjtime";
1308 #endif
1309 #ifdef SYS_utc_gettime
1310 syscall_table[SYS_utc_gettime] = "utc_gettime";
1311 #endif
1312 #ifdef SYS_utime
1313 syscall_table[SYS_utime] = "utime";
1314 #endif
1315 #ifdef SYS_utimes
1316 syscall_table[SYS_utimes] = "utimes";
1317 #endif
1318 #ifdef SYS_utssys
1319 syscall_table[SYS_utssys] = "utssys";
1320 #endif
1321 #ifdef SYS_vfork
1322 syscall_table[SYS_vfork] = "vfork";
1323 #endif
1324 #ifdef SYS_vhangup
1325 syscall_table[SYS_vhangup] = "vhangup";
1326 #endif
1327 #ifdef SYS_vtrace
1328 syscall_table[SYS_vtrace] = "vtrace";
1329 #endif
1330 #ifdef SYS_wait
1331 syscall_table[SYS_wait] = "wait";
1332 #endif
1333 #ifdef SYS_waitid
1334 syscall_table[SYS_waitid] = "waitid";
1335 #endif
1336 #ifdef SYS_waitsys
1337 syscall_table[SYS_waitsys] = "waitsys";
1338 #endif
1339 #ifdef SYS_write
1340 syscall_table[SYS_write] = "write";
1341 #endif
1342 #ifdef SYS_writev
1343 syscall_table[SYS_writev] = "writev";
1344 #endif
1345 #ifdef SYS_xenix
1346 syscall_table[SYS_xenix] = "xenix";
1347 #endif
1348 #ifdef SYS_xmknod
1349 syscall_table[SYS_xmknod] = "xmknod";
1350 #endif
1351 #ifdef SYS_xstat
1352 syscall_table[SYS_xstat] = "xstat";
1353 #endif
1354 #ifdef SYS_yield
1355 syscall_table[SYS_yield] = "yield";
1356 #endif
1357 }
1358
1359 /* Prettyprint syscall NUM. */
1360
1361 void
1362 proc_prettyfprint_syscall (FILE *file, int num, int verbose)
1363 {
1364 if (syscall_table[num])
1365 fprintf (file, "SYS_%s ", syscall_table[num]);
1366 else
1367 fprintf (file, "<Unknown syscall %d> ", num);
1368 }
1369
1370 void
1371 proc_prettyprint_syscall (int num, int verbose)
1372 {
1373 proc_prettyfprint_syscall (stdout, num, verbose);
1374 }
1375
1376 /* Prettyprint all syscalls in SYSSET. */
1377
1378 void
1379 proc_prettyfprint_syscalls (FILE *file, sysset_t *sysset, int verbose)
1380 {
1381 int i;
1382
1383 for (i = 0; i < MAX_SYSCALLS; i++)
1384 if (prismember (sysset, i))
1385 {
1386 proc_prettyfprint_syscall (file, i, verbose);
1387 }
1388 fprintf (file, "\n");
1389 }
1390
1391 void
1392 proc_prettyprint_syscalls (sysset_t *sysset, int verbose)
1393 {
1394 proc_prettyfprint_syscalls (stdout, sysset, verbose);
1395 }
1396 \f
1397 /* Prettyprint signals. */
1398
1399 /* Signal translation table, ordered ANSI-standard signals first,
1400 other signals second, with signals in each block ordered by their
1401 numerical values on a typical POSIX platform. */
1402
1403 static struct trans signal_table[] =
1404 {
1405 { 0, "<no signal>", "no signal" },
1406
1407 /* SIGINT, SIGILL, SIGABRT, SIGFPE, SIGSEGV and SIGTERM
1408 are ANSI-standard signals and are always available. */
1409
1410 { SIGINT, "SIGINT", "Interrupt (rubout)" },
1411 { SIGILL, "SIGILL", "Illegal instruction" }, /* not reset when caught */
1412 { SIGABRT, "SIGABRT", "used by abort()" }, /* replaces SIGIOT */
1413 { SIGFPE, "SIGFPE", "Floating point exception" },
1414 { SIGSEGV, "SIGSEGV", "Segmentation violation" },
1415 { SIGTERM, "SIGTERM", "Software termination signal from kill" },
1416
1417 /* All other signals need preprocessor conditionals. */
1418
1419 #ifdef SIGHUP
1420 { SIGHUP, "SIGHUP", "Hangup" },
1421 #endif
1422 #ifdef SIGQUIT
1423 { SIGQUIT, "SIGQUIT", "Quit (ASCII FS)" },
1424 #endif
1425 #ifdef SIGTRAP
1426 { SIGTRAP, "SIGTRAP", "Trace trap" }, /* not reset when caught */
1427 #endif
1428 #ifdef SIGIOT
1429 { SIGIOT, "SIGIOT", "IOT instruction" },
1430 #endif
1431 #ifdef SIGEMT
1432 { SIGEMT, "SIGEMT", "EMT instruction" },
1433 #endif
1434 #ifdef SIGKILL
1435 { SIGKILL, "SIGKILL", "Kill" }, /* Solaris: cannot be caught/ignored */
1436 #endif
1437 #ifdef SIGBUS
1438 { SIGBUS, "SIGBUS", "Bus error" },
1439 #endif
1440 #ifdef SIGSYS
1441 { SIGSYS, "SIGSYS", "Bad argument to system call" },
1442 #endif
1443 #ifdef SIGPIPE
1444 { SIGPIPE, "SIGPIPE", "Write to pipe with no one to read it" },
1445 #endif
1446 #ifdef SIGALRM
1447 { SIGALRM, "SIGALRM", "Alarm clock" },
1448 #endif
1449 #ifdef SIGUSR1
1450 { SIGUSR1, "SIGUSR1", "User defined signal 1" },
1451 #endif
1452 #ifdef SIGUSR2
1453 { SIGUSR2, "SIGUSR2", "User defined signal 2" },
1454 #endif
1455 #ifdef SIGCHLD
1456 { SIGCHLD, "SIGCHLD", "Child status changed" }, /* Posix version */
1457 #endif
1458 #ifdef SIGCLD
1459 { SIGCLD, "SIGCLD", "Child status changed" }, /* Solaris version */
1460 #endif
1461 #ifdef SIGPWR
1462 { SIGPWR, "SIGPWR", "Power-fail restart" },
1463 #endif
1464 #ifdef SIGWINCH
1465 { SIGWINCH, "SIGWINCH", "Window size change" },
1466 #endif
1467 #ifdef SIGURG
1468 { SIGURG, "SIGURG", "Urgent socket condition" },
1469 #endif
1470 #ifdef SIGPOLL
1471 { SIGPOLL, "SIGPOLL", "Pollable event" },
1472 #endif
1473 #ifdef SIGIO
1474 { SIGIO, "SIGIO", "Socket I/O possible" }, /* alias for SIGPOLL */
1475 #endif
1476 #ifdef SIGSTOP
1477 { SIGSTOP, "SIGSTOP", "Stop, not from tty" }, /* cannot be caught or
1478 ignored */
1479 #endif
1480 #ifdef SIGTSTP
1481 { SIGTSTP, "SIGTSTP", "User stop from tty" },
1482 #endif
1483 #ifdef SIGCONT
1484 { SIGCONT, "SIGCONT", "Stopped process has been continued" },
1485 #endif
1486 #ifdef SIGTTIN
1487 { SIGTTIN, "SIGTTIN", "Background tty read attempted" },
1488 #endif
1489 #ifdef SIGTTOU
1490 { SIGTTOU, "SIGTTOU", "Background tty write attempted" },
1491 #endif
1492 #ifdef SIGVTALRM
1493 { SIGVTALRM, "SIGVTALRM", "Virtual timer expired" },
1494 #endif
1495 #ifdef SIGPROF
1496 { SIGPROF, "SIGPROF", "Profiling timer expired" },
1497 #endif
1498 #ifdef SIGXCPU
1499 { SIGXCPU, "SIGXCPU", "Exceeded CPU limit" },
1500 #endif
1501 #ifdef SIGXFSZ
1502 { SIGXFSZ, "SIGXFSZ", "Exceeded file size limit" },
1503 #endif
1504 #ifdef SIGWAITING
1505 { SIGWAITING, "SIGWAITING", "Process's LWPs are blocked" },
1506 #endif
1507 #ifdef SIGLWP
1508 { SIGLWP, "SIGLWP", "Used by thread library" },
1509 #endif
1510 #ifdef SIGFREEZE
1511 { SIGFREEZE, "SIGFREEZE", "Used by CPR" },
1512 #endif
1513 #ifdef SIGTHAW
1514 { SIGTHAW, "SIGTHAW", "Used by CPR" },
1515 #endif
1516 #ifdef SIGCANCEL
1517 { SIGCANCEL, "SIGCANCEL", "Used by libthread" },
1518 #endif
1519 #ifdef SIGLOST
1520 { SIGLOST, "SIGLOST", "Resource lost" },
1521 #endif
1522 #ifdef SIG32
1523 { SIG32, "SIG32", "Reserved for kernel usage (Irix)" },
1524 #endif
1525 #ifdef SIGPTINTR
1526 { SIGPTINTR, "SIGPTINTR", "Posix 1003.1b" },
1527 #endif
1528 #ifdef SIGTRESCHED
1529 { SIGTRESCHED, "SIGTRESCHED", "Posix 1003.1b" },
1530 #endif
1531 #ifdef SIGINFO
1532 { SIGINFO, "SIGINFO", "Information request" },
1533 #endif
1534 #ifdef SIGRESV
1535 { SIGRESV, "SIGRESV", "Reserved by Digital for future use" },
1536 #endif
1537 #ifdef SIGAIO
1538 { SIGAIO, "SIGAIO", "Asynchronous I/O signal" },
1539 #endif
1540
1541 /* FIXME: add real-time signals. */
1542 };
1543
1544 /* Prettyprint signal number SIGNO. */
1545
1546 void
1547 proc_prettyfprint_signal (FILE *file, int signo, int verbose)
1548 {
1549 int i;
1550
1551 for (i = 0; i < sizeof (signal_table) / sizeof (signal_table[0]); i++)
1552 if (signo == signal_table[i].value)
1553 {
1554 fprintf (file, "%s", signal_table[i].name);
1555 if (verbose)
1556 fprintf (file, ": %s\n", signal_table[i].desc);
1557 else
1558 fprintf (file, " ");
1559 return;
1560 }
1561 fprintf (file, "Unknown signal %d%c", signo, verbose ? '\n' : ' ');
1562 }
1563
1564 void
1565 proc_prettyprint_signal (int signo, int verbose)
1566 {
1567 proc_prettyfprint_signal (stdout, signo, verbose);
1568 }
1569
1570 /* Prettyprint all signals in SIGSET. */
1571
1572 void
1573 proc_prettyfprint_signalset (FILE *file, sigset_t *sigset, int verbose)
1574 {
1575 int i;
1576
1577 /* Loop over all signal numbers from 0 to NSIG, using them as the
1578 index to prismember. The signal table had better not contain
1579 aliases, for if it does they will both be printed. */
1580
1581 for (i = 0; i < NSIG; i++)
1582 if (prismember (sigset, i))
1583 proc_prettyfprint_signal (file, i, verbose);
1584
1585 if (!verbose)
1586 fprintf (file, "\n");
1587 }
1588
1589 void
1590 proc_prettyprint_signalset (sigset_t *sigset, int verbose)
1591 {
1592 proc_prettyfprint_signalset (stdout, sigset, verbose);
1593 }
1594 \f
1595
1596 /* Prettyprint faults. */
1597
1598 /* Fault translation table. */
1599
1600 static struct trans fault_table[] =
1601 {
1602 #ifdef FLTILL
1603 { FLTILL, "FLTILL", "Illegal instruction" },
1604 #endif
1605 #ifdef FLTPRIV
1606 { FLTPRIV, "FLTPRIV", "Privileged instruction" },
1607 #endif
1608 #ifdef FLTBPT
1609 { FLTBPT, "FLTBPT", "Breakpoint trap" },
1610 #endif
1611 #ifdef FLTTRACE
1612 { FLTTRACE, "FLTTRACE", "Trace trap" },
1613 #endif
1614 #ifdef FLTACCESS
1615 { FLTACCESS, "FLTACCESS", "Memory access fault" },
1616 #endif
1617 #ifdef FLTBOUNDS
1618 { FLTBOUNDS, "FLTBOUNDS", "Memory bounds violation" },
1619 #endif
1620 #ifdef FLTIOVF
1621 { FLTIOVF, "FLTIOVF", "Integer overflow" },
1622 #endif
1623 #ifdef FLTIZDIV
1624 { FLTIZDIV, "FLTIZDIV", "Integer zero divide" },
1625 #endif
1626 #ifdef FLTFPE
1627 { FLTFPE, "FLTFPE", "Floating-point exception" },
1628 #endif
1629 #ifdef FLTSTACK
1630 { FLTSTACK, "FLTSTACK", "Unrecoverable stack fault" },
1631 #endif
1632 #ifdef FLTPAGE
1633 { FLTPAGE, "FLTPAGE", "Recoverable page fault" },
1634 #endif
1635 #ifdef FLTPCINVAL
1636 { FLTPCINVAL, "FLTPCINVAL", "Invalid PC exception" },
1637 #endif
1638 #ifdef FLTWATCH
1639 { FLTWATCH, "FLTWATCH", "User watchpoint" },
1640 #endif
1641 #ifdef FLTKWATCH
1642 { FLTKWATCH, "FLTKWATCH", "Kernel watchpoint" },
1643 #endif
1644 #ifdef FLTSCWATCH
1645 { FLTSCWATCH, "FLTSCWATCH", "Hit a store conditional on a watched page" },
1646 #endif
1647 };
1648
1649 /* Work horse. Accepts an index into the fault table, prints it
1650 pretty. */
1651
1652 static void
1653 prettyfprint_faulttable_entry (FILE *file, int i, int verbose)
1654 {
1655 fprintf (file, "%s", fault_table[i].name);
1656 if (verbose)
1657 fprintf (file, ": %s\n", fault_table[i].desc);
1658 else
1659 fprintf (file, " ");
1660 }
1661
1662 /* Prettyprint hardware fault number FAULTNO. */
1663
1664 void
1665 proc_prettyfprint_fault (FILE *file, int faultno, int verbose)
1666 {
1667 int i;
1668
1669 for (i = 0; i < ARRAY_SIZE (fault_table); i++)
1670 if (faultno == fault_table[i].value)
1671 {
1672 prettyfprint_faulttable_entry (file, i, verbose);
1673 return;
1674 }
1675
1676 fprintf (file, "Unknown hardware fault %d%c",
1677 faultno, verbose ? '\n' : ' ');
1678 }
1679
1680 void
1681 proc_prettyprint_fault (int faultno, int verbose)
1682 {
1683 proc_prettyfprint_fault (stdout, faultno, verbose);
1684 }
1685
1686 /* Prettyprint all faults in FLTSET. */
1687
1688 void
1689 proc_prettyfprint_faultset (FILE *file, fltset_t *fltset, int verbose)
1690 {
1691 int i;
1692
1693 /* Loop through the fault table, using the value field as the index
1694 to prismember. The fault table had better not contain aliases,
1695 for if it does they will both be printed. */
1696
1697 for (i = 0; i < ARRAY_SIZE (fault_table); i++)
1698 if (prismember (fltset, fault_table[i].value))
1699 prettyfprint_faulttable_entry (file, i, verbose);
1700
1701 if (!verbose)
1702 fprintf (file, "\n");
1703 }
1704
1705 void
1706 proc_prettyprint_faultset (fltset_t *fltset, int verbose)
1707 {
1708 proc_prettyfprint_faultset (stdout, fltset, verbose);
1709 }
1710
1711 /* TODO: actions, holds... */
1712
1713 void
1714 proc_prettyprint_actionset (struct sigaction *actions, int verbose)
1715 {
1716 }
1717 \f
1718
1719 /* Provide a prototype to silence -Wmissing-prototypes. */
1720 void _initialize_proc_events (void);
1721
1722 void
1723 _initialize_proc_events (void)
1724 {
1725 init_syscall_table ();
1726 }
This page took 0.065632 seconds and 4 git commands to generate.