- NetBSD Manual Pages
TIMER_SETTIME(2) NetBSD System Calls Manual TIMER_SETTIME(2)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
timer_settime, timer_gettime, timer_getoverrun -- process timer manipula-
Standard C Library (libc, -lc)
timer_settime(timer_t timerid, int flags,
const struct itimerspec * restrict tim,
struct itimerspec * restrict otim);
timer_gettime(timer_t timerid, struct itimerspec *tim);
The timer_settime() sets the next expiration time of the timer with ID
timerid to the it_value (see itimerspec(3)) specified in the tim argu-
ment. If the value is 0, the timer is disarmed. If the argument otim is
not NULL the old timer settings are returned.
If the flags argument is set to TIMER_RELTIME then the expiration time is
set to the value in nanoseconds specified in the tim argument from the
time the call to timer_settime() was made. If the flags argument is set
to TIMER_ABSTIME then the expiration time is set to be equal to the dif-
ference between the clock associated with this timer, and the value spec-
ified in the tim argument. If that time has already passed, then the
call succeeds, and the expiration notification occurs.
If the it_interval of the tim argument is non-zero, then the timer
reloads upon expiration.
The timer_gettime() function returns the current settings of the timer
specified by the timerid argument in the tim argument.
Only one notification event (signal) can be pending for a given timer and
process. If a timer expires while the signal is still queued for deliv-
ery, then the overrun counter for that timer is increased. The counter
can store values up to DELAYTIMER_MAX. When the signal is finally deliv-
ered to the process, then the timer_getoverrun() function can be used to
retrieve the overrun counter for the timer specified in the timerid argu-
Expiration time values are always rounded up to the resolution of the
timer, so a notification will never be sent before the requested time.
Values returned in the otim argument of timer_settime() or in the tim
argument of timer_gettime() are subject to the above rounding effect and
might not exactly match the requested values by the user.
If successful, the timer_gettime() and timer_settime() functions return
0, and the timer_getoverrun() function returns the expiration overrun
count for the specified timer. Otherwise, the functions return -1, and
set errno to indicate the error.
The timer_gettime(), timer_getoverrun(), and timer_settime() functions
will fail if:
[EINVAL] The argument timerid does not correspond to a valid
timer id as returned by timer_create() or that timer
id has been deleted by timer_delete().
The timer_settime() function will fail if:
[EINVAL] A nanosecond field in the tim structure specified a
value less than zero or greater than or equal to 10e9.
clock_gettime(2), timer_create(2), timer_delete(2)
IEEE Std 1003.1b-1993 (``POSIX.1''), IEEE Std 1003.1i-1995 (``POSIX.1'')
NetBSD 9.3 May 17, 2010 NetBSD 9.3