1GETITIMER(P)               POSIX Programmer's Manual              GETITIMER(P)
2
3
4

NAME

6       getitimer, setitimer - get and set value of interval timer
7

SYNOPSIS

9       #include <sys/time.h>
10
11       int getitimer(int which, struct itimerval *value);
12       int setitimer(int which, const struct itimerval *restrict value,
13              struct itimerval *restrict ovalue);
14
15

DESCRIPTION

17       The  getitimer()  function  shall  store the current value of the timer
18       specified by  which  into  the  structure  pointed  to  by  value.  The
19       setitimer()  function  shall  set  the  timer specified by which to the
20       value specified in the structure pointed to by value, and if ovalue  is
21       not a null pointer, store the previous value of the timer in the struc‐
22       ture pointed to by ovalue.
23
24       A timer value is defined  by  the  itimerval  structure,  specified  in
25       <sys/time.h>.  If  it_value  is non-zero, it shall indicate the time to
26       the next timer expiration. If it_interval is non-zero, it shall specify
27       a  value  to be used in reloading it_value when the timer expires. Set‐
28       ting it_value to 0 shall disable a timer, regardless of  the  value  of
29       it_interval.  Setting  it_interval to 0 shall disable a timer after its
30       next expiration (assuming it_value is non-zero).
31
32       Implementations may place limitations on the granularity of timer  val‐
33       ues.  For  each interval timer, if the requested timer value requires a
34       finer granularity than the implementation supports,  the  actual  timer
35       value shall be rounded up to the next supported value.
36
37       An  XSI-conforming  implementation  provides each process with at least
38       three interval timers, which are indicated by the which argument:
39
40       ITIMER_REAL
41              Decrements in real time. A SIGALRM signal is delivered when this
42              timer expires.
43
44       ITIMER_VIRTUAL
45              Decrements  in  process  virtual  time.  It  runs  only when the
46              process is executing. A SIGVTALRM signal is  delivered  when  it
47              expires.
48
49       ITIMER_PROF
50              Decrements  both  in process virtual time and when the system is
51              running on behalf of the process. It is designed to be  used  by
52              interpreters  in statistically profiling the execution of inter‐
53              preted programs. Each time the ITIMER_PROF  timer  expires,  the
54              SIGPROF signal is delivered.
55
56
57       The  interaction  between  setitimer()  and any of alarm(), sleep(), or
58       usleep() is unspecified.
59

RETURN VALUE

61       Upon successful completion, getitimer() or setitimer() shall return  0;
62       otherwise, -1 shall be returned and errno set to indicate the error.
63

ERRORS

65       The setitimer() function shall fail if:
66
67       EINVAL The value argument is not in canonical form. (In canonical form,
68              the number of microseconds is a non-negative integer  less  than
69              1000000 and the number of seconds is a non-negative integer.)
70
71
72       The getitimer() and setitimer() functions may fail if:
73
74       EINVAL The which argument is not recognized.
75
76
77       The following sections are informative.
78

EXAMPLES

80       None.
81

APPLICATION USAGE

83       None.
84

RATIONALE

86       None.
87

FUTURE DIRECTIONS

89       None.
90

SEE ALSO

92       alarm() , sleep() , timer_getoverrun() , ualarm() , usleep() , the Base
93       Definitions volume of IEEE Std 1003.1-2001, <signal.h>, <sys/time.h>
94
96       Portions of this text are reprinted and reproduced in  electronic  form
97       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
98       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
99       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
100       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
101       event of any discrepancy between this version and the original IEEE and
102       The Open Group Standard, the original IEEE and The Open Group  Standard
103       is  the  referee document. The original Standard can be obtained online
104       at http://www.opengroup.org/unix/online.html .
105
106
107
108IEEE/The Open Group                  2003                         GETITIMER(P)
Impressum