GETITIMER(2) GETITIMER(2)
NAME
getitimer, setitimer - get/set value of interval timer
SYNOPSIS
#include <sys/time.h>
getitimer(which, value)
int which;
struct itimerval *value;
setitimer(which, value, ovalue)
int which;
struct itimerval *value, *ovalue;
DESCRIPTION
The system provides each process with three interval timers,
defined in <sys/time.h> . The getitimer call returns the
current value for the timer specified in which in the
structure at value . The setitimer call sets a timer to the
specified value (returning the previous value of the timer
if ovalue is nonzero).
A timer value is defined by the itimerval structure:
struct itimerval {
struct timeval it_interval; /* timer interval */
struct timeval it_value; /* current value */
};
If itvalue is nonzero, it indicates the time to the next
timer expiration. If itinterval is nonzero, it specifies a
value to be used in reloading itvalue when the timer
expires. Setting itvalue to 0 disables a timer. Setting
itinterval to 0 causes a timer to be disabled after its
next expiration (assuming itvalue is nonzero).
Time values smaller than the resolution of the system clock
are rounded up to this resolution.
The ITIMERREAL timer decrements in real time. A SIGALRM
Page 1 May 1989
GETITIMER(2) GETITIMER(2)
signal is delivered when this timer expires.
The ITIMERVIRTUAL timer decrements in process virtual time.
It runs only when the process is executing. A SIGVTALRM
signal is delivered when it expires.
The ITIMERPROF timer 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
statistically profiling the execution of interpreted
programs. Each time the ITIMERPROF timer expires, the
SIGPROF signal is delivered. Because this signal may
interrupt in-progress system calls, programs using this
timer must be prepared to restart interrupted system calls.
RETURN VALUE
If the calls succeed, a value of 0 is returned. If an error
occurs, the value -1 is returned, and a more precise error
code is placed in the global variable errno.
ERRORS
The possible errors are:
[EFAULT] The value parameter specified a bad address.
[EINVAL] A value parameter specified a time was too
large to be handled.
SEE ALSO
sigaction(2), alarm(2).
Page 2 May 1989