NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO
cc [ flag... ] file... -lrt [ library... ] #include <time.h>int clock_settime(clockid_t clock_id, const struct timespec *tp);
The clock_settime() function sets the specified clock, clock_id , to the value specified by tp . Time values that are between two consecutive non-negative integer multiples of the resolution of the specified clock are truncated down to the smaller multiple of the resolution.
The clock_gettime() function returns the current value tp for the specified clock, clock_id .
The resolution of any clock can be obtained by calling clock_getres() . Clock resolutions are system-dependent and cannot be set by a process. If the argument res is not NULL , the resolution of the specified clock is stored in the location pointed to by res . If res is NULL , the clock resolution is not returned. If the time argument of clock_settime() is not a multiple of res , then the value is truncated to a multiple of res .
A clock may be systemwide (that is, visible to all processes) or per-process (measuring time that is meaningful only within a process).
A clock_id of CLOCK_REALTIME is defined in <time.h> . This clock represents the realtime clock for the system. For this clock, the values returned by clock_gettime() and specified by clock_settime() represent the amount of time (in seconds and nanoseconds) since the Epoch. Additional clocks may also be supported. The interpretation of time values for these clocks is unspecified.
A clock_id of CLOCK_HIGHRES represents the non-adjustable, high-resolution clock for the system. For this clock, the value returned by clock_gettime(3RT) represents the amount of time (in seconds and nanoseconds) since some arbitrary time in the past; it is not correlated in any way to the time of day, and thus is not subject to resetting or drifting by way of adjtime(2) , ntp_adjtime(2) , settimeofday(3C) , or clock_settime() . The time source for this clock is the same as that for gethrtime(3C) .
Additional clocks may also be supported. The interpretation of time values for these clocks is unspecified.
Upon successful completion, 0 is returned. Otherwise, -1 is returned and errno is set to indicate the error.
The clock_settime() , clock_gettime() and clock_getres() functions will fail if:
The clock_id argument does not specify a known clock.
The functions clock_settime() , clock_gettime() , and clock_getres() are not supported by this implementation.
The clock_settime() function will fail if:
The tp argument to clock_settime() is outside the range for the given clock ID; or the tp argument specified a nanosecond value less than zero or greater than or equal to 1000 million.
The clock_settime() function may fail if:
The requesting process does not have the appropriate privilege to set the specified clock.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
MT-Level | clock_gettime() is Async-Signal-Safe |
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO