Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

siginfo(2) [netbsd man page]

SIGINFO(2)						      BSD 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 addi- tional 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 contains the side and priority of the operation. If the operation 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 point inexact result FPE_FLTINV Invalid Floating point 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 create 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 following additional members: void *si_addr; int si_trap; si_addr contains the address of the faulting instruction and si_trap contains a hardware specific reason. For SIGBUS and SIGSEGV the siginfo structure contains the following additional 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 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 contains the side and pri- ority of the operation as described above. Finally, for SIGCHLD the siginfo structure contains the following additional 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 Release 4 UNIX. BSD
July 26, 2010 BSD
Man Page