PROC_SIGNAL(9F)         Kernel Functions for Drivers         PROC_SIGNAL(9F)
NAME
       proc_signal, proc_ref, proc_unref - send a signal to a process
SYNOPSIS
       #include <sys/ddi.h>
       #include <sys/sunddi.h>
       #include <sys/signal.h>       
void *proc_ref(void)       
voidproc_unref(
void *pref);       
int proc_signal(
void *pref, 
int sig);
INTERFACE LEVEL
       illumos DDI specific (illumos DDI).
PARAMETERS
       pref               A handle for the process to be signalled.       
sig               Signal number to be sent to the process.
DESCRIPTION
       This set of routines allows a driver to send a signal to a process.
       The routine 
proc_ref() is used to retrieve an unambiguous reference
       to the process for signalling purposes. The return value can be used
       as a unique handle on the process, even if the process dies. Because
       system resources are committed to a process reference, 
proc_unref()       should be used to remove it as soon as it is no longer
       needed.
proc_signal() is used to send signal 
sig to the referenced
       process. The following set of signals may be sent to a process from a
       driver:       
SIGHUP                   The device has been disconnected.       
SIGINT                   The interrupt character has been received.       
SIGQUIT                   The quit character has been received.       
SIGPOLL                   A pollable event has occurred.       
SIGKILL                   Kill the process (cannot be caught or ignored).       
SIGWINCH                   Window size change.       
SIGURG                   Urgent data are available.
       See 
signal.h(3HEAD) for more details on the meaning of these signals.
       If the process has exited at the time the signal was sent,       
proc_signal() returns an error code; the caller should remove the
       reference on the process by calling 
proc_unref().
       The driver writer must ensure that for each call made to 
proc_ref(),
       there is exactly one corresponding call to 
proc_unref().
RETURN VALUES
       The 
proc_ref() returns the following:       
pref               An opaque handle used to refer to the current process.
       The 
proc_signal() returns the following:       
0             The process existed before the signal was sent.       
-1             The process no longer exists; no signal was sent.
CONTEXT
       The 
proc_unref() and 
proc_signal() functions can be called from user,
       interrupt, or kernel context. The 
proc_ref() function should be
       called only from user context.
SEE ALSO
       signal.h(3HEAD), 
putnextctl1(9F)       Writing Device Drivers                              January 16, 2006               PROC_SIGNAL(9F)