int timer_gettime (
struct itimerspec *value);
int timer_settime (
const struct itimerspec *value,
struct itimerspec *ovalue);
The timer_gettime function returns the amount of time remaining in the current time interval before the expiration of the specified timer. The timer_settime function sets the expiration time of the specified per-process timer, determines whether the timer is an absolute or relative timer, returns the time remaining (if any) on the previous specified timer, and arms the timer.
Both the timer_gettime and timer_settime functions use an itimerspec structure, which consists of the following members:
Each timespec structure consists of the following members:
Values specified for these members determine the duration of the timer intervals, as well as the start and end times.
Use the timer_gettime function to determine whether a per-process timer is still active. If the timer is disabled, zero is returned.
The timer_settime function sets the expiration time of the specified per-process timer and arms the timer. The TIMER_ABSTIME flag determines whether the timer is an absolute or relative timer. If the TIMER_ABSTIME flag is not set (flags=0), the timer is set relative to the current time (a relative timer). In this case, the time until the next timer expiration equals the interval specified by the it_value member of value. The timer expires in the specified number of seconds and nanoseconds from when the call was made.
If the TIMER_ABSTIME flag is set, the timer is set with a specified starting time (an absolute timer). In this case, the time until the next timer expiration equals the difference between the absolute time specified by the it_value member of value and the current value of the clock associated with the timer ID. The timer expires when the clock reaches the value specified by it_value member.
Times that are between two consecutive non-negative integer multiples of the resolution are rounded up to the larger multiple of the resolution.
To disarm a timer, specify a value of zero for the it_value member and call the timer_settime function.
The reload value to the timer is set to the value specified by the it_interval member of value. If the it_interval is zero, a one-shot timer is specified. If the it_interval is non-zero, a periodic timer is specified.
On a successful call to the timer_gettime and timer_settime functions, a value of 0 is returned.
On an unsuccessful call, a value of -1 is returned and errno is set to indicate that an error occurred.
The timer_gettime and timer_settime functions fail under the following conditions:
The timer_settime function can fail with this error if a value structure specified a nanosecond value less than zero or greater than or equal to 1000 million.
Functions: clock_gettime(3), timer_create(3) delim off