| GETITIMER(2) | System Calls Manual | GETITIMER(2) | 
getitimer, setitimer —
#include <sys/time.h>
int
  
  getitimer(int
    which, struct itimerval
    *value);
int
  
  setitimer(int
    which, const struct
    itimerval * restrict value,
    struct itimerval * restrict
    ovalue);
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 not
  NULL.
A timer value is defined by the itimerval structure:
struct itimerval {
	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 expiration. 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 0 disables a timer. Setting it_interval to 0 causes a timer to be disabled after its next expiration (assuming it_value is non-zero).
The which parameter specifies the type of the timer:
ITIMER_REALSIGALRM signal is delivered when this timer
      expires.ITIMER_VIRTUALSIGVTALRM signal is delivered when it
      expires.ITIMER_PROFITIMER_PROF 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.ITIMER_MONOTONICSIGALRM signal is delivered when this timer
      expires.getitimer() function call appeared in
  4.2BSD. The ITIMER_MONOTONIC
  functionality appeared in NetBSD 6.0.
| April 28, 2019 | NetBSD 9.3 |