DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

siginfo(FP)


siginfo -- signal generation information

Description

The <siginfo.h> header file defines the structure siginfo_t, which includes the following members:
   int	si_signo;
   int	si_errno;
   int	si_code;
The si_signo field contains a signal number generated by the system. If the value of si_errno is nonzero, it contains the error number associated with the signal stored in si_signo. The error numbers are defined in the header file <errno.h>.

si_code contains a code that identifies the cause of the signal. A value of less than or equal to zero indicates that the signal was generated by a user process. In such cases, the siginfo_t structure also contains the following members:

   pid_t	si_pid;
   uid_t	si_uid;
These two fields contain the sending process ID and the sending user ID respectively.

Where the si_code field contains a value greater than zero, a reason is given for the generation of a signal, as follows:

Signal Code Reason
SIGILL ILL_ILLOPC illegal opcode
ILL_ILLOPN illegal operand
ILL_ADR 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 division by zero
FPE_INTOVF integer overflow
FPE_FLTDIV floating point division 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-existent 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 was killed
CLD_DUMPED child has terminated abnormally
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

 +--------+---------------+---------------------------------------+
 |Signal  | Code          | Reason                                |
 +--------+---------------+---------------------------------------+
 |SIGILL  | ILL_ILLOPC    | illegal opcode                        |
 +--------+---------------+---------------------------------------+
 |        | ILL_ILLOPN    | illegal operand                       |
 +--------+---------------+---------------------------------------+
 |        | ILL_ADR       | 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 division by zero              |
 +--------+---------------+---------------------------------------+
 |        | FPE_INTOVF    | integer overflow                      |
 +--------+---------------+---------------------------------------+
 |        | FPE_FLTDIV    | floating point division 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-existent 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 was killed                      |
 +--------+---------------+---------------------------------------+
 |        | CLD_DUMPED    | child has terminated abnormally       |
 +--------+---------------+---------------------------------------+
 |        | 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                   |
 +--------+---------------+---------------------------------------+

The following information is also supplied:

Signal Field Value
SIGILL caddr_t si_addr address of faulting instruction
SIGFPE  
SIGSEGV caddr_t si_addr address of faulty memory reference
SIGBUS  
SIGCHLD pid_t si_pid child process ID
si_status exit value or signal
SIGPOLL long si_band band event for POLL_IN, POLL_OUT, or POLL_MSG

 +--------+-----------------+--------------------------------------+
 |Signal  | Field           | Value                                |
 +--------+-----------------+--------------------------------------+
 |SIGILL  | caddr_t si_addr | address of faulting instruction      |
 +--------+-----------------+--------------------------------------+
 |SIGFPE  |                 |                                      |
 +--------+-----------------+--------------------------------------+
 |SIGSEGV | caddr_t si_addr | address of faulty memory reference   |
 +--------+-----------------+--------------------------------------+
 |SIGBUS  |                 |                                      |
 +--------+-----------------+--------------------------------------+
 |SIGCHLD | pid_t si_pid    | child process ID                     |
 +--------+-----------------+--------------------------------------+
 |        | si_status       | exit value or signal                 |
 +--------+-----------------+--------------------------------------+
 |SIGPOLL | long si_band    | band event for POLL_IN, POLL_OUT, or |
 |        |                 | POLL_MSG                             |
 +--------+-----------------+--------------------------------------+

See also

kill(S), sigaction(S), signal(M)

Standards conformance

<siginfo.h> is conformant with:
AT&T SVID Issue 3.
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003