Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ siginfo(5) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sigaction(2)

signal(5)

waitid(2)






       siginfo(5)                                                siginfo(5)


       NAME
             siginfo - signal generation information

       SYNOPSIS
             #include <siginfo.h>

       DESCRIPTION
             If a process is catching a signal, it may request information
             that tells why the system generated that signal [see
             sigaction(2)].  If a process is monitoring its children, it
             may receive information that tells why a child changed state
             [see waitid(2)].  In either case, the system returns the
             information in a structure of type siginfo_t, which includes
             the following information:

                   int si_signo      /* signal number */
                   int si_errno      /* error number */
                   int si_code /* signal code */

             si_signo contains the system-generated signal number.  (For
             the waitid(2) function, si_signo is always SIGCHLD.)

             If si_errno is non-zero, it contains an error number
             associated with this signal, as defined in errno.h.

             si_code contains a code identifying the cause of the signal.
             If the value of si_code is less than or equal to 0, then the
             signal was generated by a user process [see kill(2) and
             sigsend(2)] and the siginfo structure contains the following
             additional information:

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

             Otherwise, si_code contains a signal-specific reason why the
             signal was generated, as follows:

            Signal    Code            Reason
            _______________________________________________________________
            SIGILL    ILL_ILLOPC      illegal opcode
                      ILL_ILLOPN      illegal operand
                      ILL_ILLADR      illegal addressing mode
                      ILL_ILLTRP      illegal trap
                      ILL_PRVOPC      privileged opcode




                           Copyright 1994 Novell, Inc.               Page 1













      siginfo(5)                                                siginfo(5)


           Signal    Code            Reason
           _______________________________________________________________
                     ILL_PRVREG      privileged register
                     ILL_COPROC      co-processor 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-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 terminated abnormally
                     CLD_TRAPPED     traced child has trapped
                     CLD_STOPPED     child has stopped
                     CLD_CONTINUED   stopped child had 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

            In addition, the following signal-dependent information is
            available for kernel-generated signals:








                          Copyright 1994 Novell, Inc.               Page 2













       siginfo(5)                                                siginfo(5)


       Signal         Field                            Value
       _________________________________________________________________________
       SIGILL    caddr_t si_addr   address of faulting instruction
       SIGFPE
       _________________________________________________________________________
       SIGSEGV   caddr_t si_addr   address of faulting memory reference
       SIGBUS
       _________________________________________________________________________
       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

       REFERENCES
             sigaction(2), signal(5), waitid(2)

       NOTICES
             For SIGCHLD signals, if si_code is equal to CLD_EXITED, then
             si_status is equal to the exit value of the process;
             otherwise, it is equal to the signal that caused the process
             to change state.  For some implementations, the exact value of
             si_addr may not be available; in that case, si_addr is
             guaranteed to be on the same page as the faulting instruction
             or memory reference.
























                           Copyright 1994 Novell, Inc.               Page 3








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026