siginfo(2) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
SIGINFO(2)                NetBSD System Calls Manual                SIGINFO(2)


NAME
siginfo -- signal information
SYNOPSIS
#include <signal.h>
DESCRIPTION
siginfo is a structure type which contains information about a signal delivered to a process. siginfo includes the following members: int si_signo; int si_errno; int si_code; si_signo contains the signal number generated by the system. If si_errno is non-zero, then it contains a system specific error number associated with this signal. This number is defined in errno(2). If si_code is less than or equal to zero, the signal was generated by a user process or a user requested service: SI_USER The signal was generated via kill(2). The siginfo structure contains the following additional members: pid_t si_pid; uid_t si_uid; The si_pid field contains the pid of the sending process and the si_uid field contains the user id of the sending process. SI_TIMER The signal was generated because a timer set by timer_settime(2) has expired. The siginfo structure contains the following additional members: sigval_t si_value; The si_value field contains the value set via timer_create(2). SI_ASYNCIO The signal was generated by completion of an asynchronous I/O operation. The siginfo structure contains the following additional members: int si_fd; long si_band; The si_fd argument contains the file descriptor number on which the operation was completed and the si_band field con- tains the side and priority of the operation. If the opera- tion was a normal read, si_band will contain POLLIN | POLLRDNORM; on an out-of-band read it will contain POLLPRI | POLLRDBAND; on a normal write it will contain POLLOUT | POLLWRNORM; on an out-of-band write it will contain POLLPRI | POLLWRBAND. If si_code is positive, then it contains a signal specific reason why the signal was generated: SIGILL ILL_ILLOPC Illegal opcode ILL_ILLOPN Illegal operand ILL_ILLADR Illegal addressing mode ILL_ILLTRP Illegal trap ILL_PRVOPC Privileged opcode ILL_PRVREG Privileged register ILL_COPROC Coprocessor error ILL_BADSTK Internal stack error SIGFPE FPE_INTDIV Integer divide by zero FPE_INTOVF Integer overflow FPE_FLTDIV Floating point divide by zero FPE_FLTOVF Floating point overflow FPE_FLTUND Floating point underflow FPE_FLTRES Floating poing inexact result FPE_FLTINV Invalid Floating poing operation FPE_FLTSUB Subscript out of range SIGSEGV SEGV_MAPERR Address not mapped to object SEGV_ACCERR Invalid permissions for mapped object SIGBUS BUS_ADRALN Invalid address alignment BUS_ADRERR Non-existant physical address BUS_OBJERR Object specific hardware error SIGTRAP TRAP_BRKPT Process breakpoint TRAP_TRACE Process trace trap SIGCHLD CLD_EXITED Child has exited CLD_KILLED Child has terminated abnormally but did not cre- ate a core file CLD_DUMPED Child has terminated abnormally and created a core file CLD_TRAPPED Traced child has trapped CLD_STOPPED Child has stopped CLD_CONTINUED Stopped child has continued SIGPOLL POLL_IN Data input available POLL_OUT Output buffers available POLL_MSG Input message available POLL_ERR I/O Error POLL_PRI High priority input available POLL_HUP Device disconnected For SIGILL, SIGFPE, and SIGTRAP the siginfo structure contains the fol- lowing additional members: void *si_addr; int si_trap; si_addr contains the address of the faulting instruction and si_trap con- tains a hardware specific reason. For SIGBUS and SIGSEGV the siginfo structure contains the following addi- tional members: void *si_addr; int si_trap; si_addr contains the address of the faulting data and si_trap contains a hardware specific reason. For SIGPOLL the siginfo structure contains the following additional mem- bers: int si_fd; long si_band; The si_fd argument contains the file descriptor number on which the oper- ation was completed and the si_band field contains the side and priority of the operation as described above. Finally, for SIGCHLD the siginfo structure contains the following addi- tional members: pid_t si_pid; uid_t si_uid; int si_status; clock_t si_utime; clock_t si_stime; The si_pid field contains the pid of the process who's status changed, the si_uid field contains the user id of the that process, the si_status field contains a status code described in waitpid(2), and the si_utime and si_stime fields contain the user and system process accounting time.
STANDARDS
The siginfo type conforms to X/Open System Interfaces and Headers Issue 5 (``XSH5'').
HISTORY
The siginfo functionality first appeared in AT&T System V.4 UNIX. NetBSD 5.0 May 21, 2007 NetBSD 5.0
Powered by man-cgi (2021-03-02). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.