Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Apropos / Subsearch:
optional field

GETITIMER(2)                  System Calls Manual                 GETITIMER(2)

       getitimer, setitimer - get/set value of interval timer

       #include <&lt;sys/time.h>&gt;

       int getitimer (which, value)
       int which;
       struct itimerval *value;

       int setitimer (which, value, ovalue)
       int which;
       struct itimerval *value, *ovalue;

       The system provides each process with three interval timers, defined in
       <&lt;sys/time.h>&gt;.  The getitimer() call stores the  current  value  of  the
       timer  specified  by which into the structure pointed to by value.  The
       setitimer() call sets the value of the timer specified by which to  the
       value  specified in the structure pointed to by value, and if ovalue is
       not a NULL pointer, stores the previous  value  of  the  timer  in  the
       structure pointed to by ovalue.

       A timer value is defined by the itimerval structure, which includes the
       following members:

              struct timeval it_interval; /* timer interval */
              struct timeval it_value;    /* current value */

       If it_value is non-zero, it indicates the time to the next timer  expi-
       ration.  If it_interval is non-zero, it specifies a value to be used in
       reloading it_value when the timer expires.  Setting  it_value  to  zero
       disables  a timer; however, it_value and it_interval must still be ini-
       tialized.  Setting it_interval to zero causes a timer  to  be  disabled
       after its next expiration (assuming it_value is non-zero).

       Time values smaller than the resolution of the system clock are rounded
       up to this resolution.

       The three timers are:

       ITIMER_REAL         Decrements in  real  time.   A  SIGALRM  signal  is
                           delivered when this timer expires.

       ITIMER_VIRTUAL      Decrements  in  process virtual time.  It runs only
                           when the process is executing.  A SIGVTALRM  signal
                           is delivered when it expires.

       ITIMER_PROF         Decrements  both  in  process virtual time and when
                           the system is running on behalf of the process.  It
                           is designed to be used by interpreters in statisti-
                           cally profiling the execution of  interpreted  pro-
                           grams.   Each  time  the ITIMER_PROF timer expires,
                           the SIGPROF signal is delivered.  Because this sig-
                           nal  may  interrupt  in-progress system calls, pro-
                           grams using this timer must be prepared to  restart
                           interrupted system calls.

       getitimer() and setitimer() return:

       0      on success.

       -1     on failure and set errno to indicate the error.

       The possible errors are:

       EFAULT         The value or ovalue parameter specified a bad address.

       EINVAL         The  value parameter specified a time that was too large
                      to be handled.

       sigvec(2), gettimeofday(2)

       Three macros for manipulating time values are defined in  <&lt;sys/time.h>&gt;.
       timerclear  sets a time value to zero, timerisset tests if a time value
       is non-zero, and timercmp() compares two time values  (beware  that  >&gt;=
       and <&lt;= do not work with this macro).

                                21 January 1990                   GETITIMER(2)