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