NTP_ADJTIME(2) | System Calls | NTP_ADJTIME(2) |
#include <sys/timex.h> int ntp_adjtime(struct timex *tptr);
The adjustment is effected in part by speeding up or slowing down the clock, as necessary, and in part by phase-locking onto a once-per second pulse (PPS) provided by a driver, if available.
struct timex { uint32_t modes; /* clock mode bits (w) */ int32_t offset; /* time offset (us) (rw) */ int32_t freq; /* frequency offset (scaled ppm) (rw) */ int32_t maxerror; /* maximum error (us) (rw) */ int32_t esterror; /* estimated error (us) (rw) */ int32_t status; /* clock status bits (rw) */ int32_t constant; /* pll time constant (rw) */ int32_t precision; /* clock precision (us) (r) */ int32_t tolerance; /* clock frequency tolerance (scaled ppm) (r) */ int32_t ppsfreq; /* pps frequency (scaled ppm) (r) */ int32_t jitter; /* pps jitter (us) (r) */ int32_t shift; /* interval duration (s) (shift) (r) */ int32_t stabil; /* pps stability (scaled ppm) (r) */ int32_t jitcnt; /* jitter limit exceeded (r) */ int32_t calcnt; /* calibration intervals (r) */ int32_t errcnt; /* calibration errors (r) */ int32_t stbcnt; /* stability limit exceeded (r) */ };
EFAULT
EINVAL
EPERM
May 13, 2017 | OmniOS |