getitimer()

Get the value of an interval timer

Synopsis:

#include <sys/time.h>

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

Arguments:

which
The interval timer whose value you want to get. Currently, this must be ITIMER_REAL.
value
A pointer to an itimerval structure where the function can store the value of the interval timer.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The getitimer() function stores the current value of the timer specified by which into the structure pointed to by value.


Note: You should use timer_gettime() and timer_settime() instead of the obsolescent getitimer() and setitimer().

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 */

Each timeval structure contains the following members:

The it_value member indicates the time to the next timer expiration. The it_interval member specifies a value to be used in reloading it_value when the timer expires. An it_value of 0 indicates a timer that's disabled, regardless of the value of it_interval. An it_interval of 0 represents a timer that won't be reloaded after its next expiration (assuming it_value is nonzero).

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

The interval timers include:

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

Returns:

0
Success.
-1
An error occurred (errno is set).

Errors:

EINVAL
The which argument is unrecognized.

Classification:

POSIX 1003.1 XSI (but obsolescent)

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

alarm(), gettimeofday(), pthread_attr_setscope(), pthread_sigmask(), setitimer(), sigprocmask(), sleep(), sysconf()

Tick, Tock: Understanding the Neutrino Microkernel's Concept of Time chapter of the QNX Neutrino Programmer's Guide