ADJFREQ(2) | System Calls Manual | ADJFREQ(2)

# NAME

`adjfreq` — correct the rate of the system clock

# SYNOPSIS

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

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

# DESCRIPTION

`adjfreq`() 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.

# RETURN VALUES

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.

# ERRORS

`adjfreq`() will fail if:

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

# SEE ALSO

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

# HISTORY

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

July 9, 2020 | Debian