Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 de-
     livered 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 additional 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 ad-
		 ditional 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 con-
		 tains the side	and priority of	the operation.	If the opera-
		 tion 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 cre-
			     ate 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	fol-
     lowing additional members:

	   void	*si_addr;
	   int si_trap;

     si_addr contains the address of the faulting instruction and si_trap con-
     tains a hardware specific reason.

     For SIGBUS	and SIGSEGV the	siginfo	structure contains the following addi-
     tional 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 mem-
     bers:

	   int si_fd;
	   long	si_band;

     The si_fd argument	contains the file descriptor number on which the oper-
     ation was completed and the si_band field contains	the side and priority
     of	the operation as described above.

     Finally, for SIGCHLD the siginfo structure	contains the following addi-
     tional 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

NAME | SYNOPSIS | DESCRIPTION | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=siginfo&sektion=2&manpath=NetBSD+6.0>

home | help