OpenBSD Handbook Manuals
Search

adjfreq(2)

Canonical URL: /adjfreq.2/

ADJFREQ(2) System Calls Manual ADJFREQ(2)

adjfreqcorrect the rate of the system clock

#include <sys/types.h>
#include <sys/time.h>

int
adjfreq(const int64_t *freq, int64_t *oldfreq);

() adjusts the rate in which time progresses if freq is non-null. The unit of the rate of adjustment is nanoseconds per second, shifted left 32 bits to allow for fractional values.

If oldfreq is non-null, the current value is returned.

Only the superuser may adjust the frequency.

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

adjfreq() will fail if:

[]
Either of the arguments point outside the process's allocated address space.
[]
The freq argument is non-null and the process's effective user ID is not that of the superuser.
[]
freq is less than -500000 ppm or greater than 500000 ppm.

date(1), adjtime(2), gettimeofday(2), ntpd(8)

The adjfreq() function call first appeared in OpenBSD 4.0.

OpenBSD 7.9 July 9, 2020 ADJFREQ(2)

Need conceptual guidance? Continue in the OpenBSD Handbook.