proc_signal(9F)




NAME

     proc_signal, proc_ref, proc_unref - send a signal to a  pro-
     cess


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

     Solaris DDI specific (Solaris 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 unam-
     biguous reference to the process  for  signalling  purposes.
     The  return value can be used as a unique handle on the pro-
     cess, 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(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

     proc_ref() returns the following:

          pref  An opaque handle used to  refer  to  the  current
                process.

     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

     proc_unref() and proc_signal() can be called  from  user  or
     interrupt  context.  proc_ref()  should  only be called from
     user context.


SEE ALSO

     signal(3HEAD), putnextctl1(9F)

     Writing Device Drivers


Man(1) output converted with man2html