siginfo.h man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

siginfo.h(3HEAD)		    Headers		      siginfo.h(3HEAD)

NAME
       siginfo.h, siginfo - signal generation information

SYNOPSIS
       #include <siginfo.h>

DESCRIPTION
       If  a  process is catching a signal,  it might request information that
       tells why the system generated that signal.  See	  sigaction(2).	 If  a
       process	is  monitoring its children, it might 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 */
       union sigval   si_value	      /* signal value */

       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 the  si_code member is  SI_NOINFO,  only	 the  si_signo
       member  of  siginfo_t is meaningful, and the value of all other members
       is unspecified.

   User Signals
       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),	 _lwp_kill(2),
       sigqueue(3RT), sigsend(2), abort(3C), and raise(3C)) and	 the   siginfo
       structure contains the following additional information:

       pid_t	    si_pid	/* sending process ID */
       uid_t	    si_uid	/* sending user ID */
       ctid_t	    si_ctid	/* sending contract ID */
       zoneid_t	    si_zoneid	/* sending zone ID */S

       If the signal was generated by a user process, the following values are
       defined for si_code:

       SI_USER	       The implementation sets si_code to SI_USER if the  sig‐
		       nal  was	 sent  by  kill(2),  sigsend(2),  raise(3C) or
		       abort(3C).

       SI_LWP	       The signal was sent by _lwp_kill(2).

       SI_QUEUE	       The signal was sent by sigqueue(3RT).

       SI_TIMER	       The signal was generated by the expiration of  a	 timer
		       created by timer_settime(3RT).

       SI_ASYNCIO      The  signal was generated by the completion of an asyn‐
		       chronous	 I/O request.

       SI_MESGQ	       The signal was generated by the arrival of a message on
		       an empty message queue. See mq_notify(3RT).

       si_value	 contains  the application specified value, which is passed to
       the application's signal-catching function at the time  of  the	signal
       delivery	 if   si_code  is  any	of SI_QUEUE, SI_TIMER, SI_ASYNCHIO, or
       SI_MESGQ.

   System Signals
       Non-user generated signals can arise for a number of reasons.  For  all
       of these cases, si_code contains a positive value reflecting the reason
       why the system generated the signal:

       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
		      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

       Signals	can  also  be  generated  from the resource control subsystem.
       Where these signals do not already possess kernel-level siginfo	codes,
       the  siginfo  si_code will be filled with SI_RCTL to indicate a kernel-
       generated signal from an established resource control value.

	  Signal	    Code		   Reason
       SIGXRES	      SI_RCTL		 resource-control generated
					 signal
       SIGHUP
       SIGTERM

       The  uncatchable	 signals  SIGSTOP  and	SIGKILL have undefined siginfo
       codes.

       Signals sent with a siginfo  code  of  SI_RCTL  contain	code-dependent
       information for kernel-generated signals:

	  Code		    Field		       Value
       SI_RCTL	      hr_time si_entity	  process-model entity of control

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

	  Signal	    Field		       Value
       SIGILL	      caddr_t si_addr	  address of faulting instruction
       SIGFPE
       SIGSEGV	      caddr_t si_addr	  address of faulting memory  ref‐
					  erence
       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

SEE ALSO
       _lwp_kill(2), kill(2), setrctl(2), sigaction(2), sigsend(2), waitid(2),
       abort(3C),  aio_read(3RT),  mq_notify(3RT), raise(3C), signal.h(3HEAD),
       sigqueue(3RT), timer_create(3RT), timer_settime(3RT)

NOTES
       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 might not be available; in
       that case, si_addr is guaranteed to be on the same page as the faulting
       instruction or memory reference.

SunOS 5.10			  19 Jul 2004		      siginfo.h(3HEAD)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net