*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> siginfo (5)              



NAME    [Toc]    [Back]

       siginfo - Details of signal generation

SYNOPSIS    [Toc]    [Back]

       #include <siginfo.h>

DESCRIPTION    [Toc]    [Back]

       The  siginfo structure provides processes with information
       on why a signal was generated, or a process that is  monitoring
 child processes may receive information that specifies
 why a child process changed state.   See  the  sigaction(2)  and  waitid(2)  reference pages for more information.

       The type siginfo_t contains the  following  members:  Contains
  the  system generated signal number.  Note that for
       the waitid function, this field is always  SIGCHLD.   Contains,
  if non-zero, the errno that is associated with the
       signal.  Specifies a code that determines whether the signal
 was generated by a user process, a specific signal, or
       by the kernel.  When the value of si_code is less than  or
       equal to zero (0), the signal was generated by a user process
 and the  siginfo  structure  contains  the  following
       additional members:

              pid_t si_pid    /*sending process ID*/ uid_t si_uid
              /*sending user ID*/

              See the kill(2) and sigsend(2) reference pages  for
              more information on these fields.

              The  following  table  describes the meaning of the
              code generated by a signal.  The table  lists  signals
 in alphabetical order.

              Signal    Code             Definition
              SIGBUS    BUS_ADRALN       invalid address alignment
                        BUS_ADRERR       non-existent physical address
                        BUS_OBJERR       object    specific   hardware
              SIGCHLD   CLD_EXITED       child has exited
                        CLD_KILLED       child was killed
                        CLD_DUMPED       child terminated abnormally
                        CLD_TRAPPED      traced child has trapped
                        CLD_STOPPED      child has stopped
                        CLD_CONTINUED    stopped child has continued
                        CLD_SIGEXITING   child  is   about   to   exit
                                         because  it  received a fatal
              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
              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
              SIGSEGV   SEGV_MAPERR      address not mapped to object
                        SEGV_ACCERR      invalid    permissions    for
                                         mapped object
              SIGTRAP   TRAP_BRKPT       process breakpoint
                        TRAP_TRACE       process trace trap

              When a signal is generated by the system, the meaning
 of the code is as follows:

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

              Note,  if the signal is SIGCHLD, and the si_code is
              equivalent to CLD_EXITED, si_status  is  equivalent
              to  the  exit  value of the process.  If si_code is
              not equivalent to CLD_EXITED, the  si_status  field
              is equivalent to the signal that caused the process
              to change state.  In some  instances,  si_addr  may
              not be defined, but si_addr will appear on the same
              page as the faulting instruction or  memory  reference.

SEE ALSO    [Toc]    [Back]

       Functions: kill(2), sigaction(2), sigsend(2), waitid(2)

       Files: signal(4)

[ Back ]
 Similar pages
Name OS Title
siginfo IRIX signal generation information
ssl OpenBSD details for libssl and libcrypto
glxqueryhyperpipeconfigsgix IRIX Query the details of a hyperpipe configuration
dnssec-keygen HP-UX key generation tool for DNSSEC
rndc-confgen HP-UX rndc key generation tool
rndc-confgen OpenBSD rndc key generation tool
pxfsigaddset IRIX Adds an individual signal to the specified signal set
pxfsigdelset IRIX Deletes an individual signal in the specified signal set
pxfsigismember IRIX Determines if the specified signal is a member of the specified signal set
glTexGen Tru64 control the generation of texture coordinates
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service