adjtime(2) System Calls Manual adjtime(2)
NAME
adjtime - Corrects the time to allow synchronization of the system clock
SYNOPSIS
#include <sys/time.h>
int adjtime ( struct timeval *delta, struct timeval *old_delta );
PARAMETERS
Points to the amount of time to be altered. Points to the number of nanoseconds still to be corrected from an earlier call.
DESCRIPTION
The adjtime() function makes small adjustments to the system time (as returned by the gettimer() function), advancing or decreasing it by
the time specified by the delta parameter of the timeval structure. If delta is negative, the clock is slowed down by incrementing it more
slowly than normal until the correction is complete. If delta is positive, a larger increment than normal is used until the correction is
complete.
The skew used to perform the correction is generally a fraction of one percent. Thus, the time is always a monotonically increasing func-
tion.
A time correction from an earlier call to adjtime() may not be finished when adjtime() is called again. In this case, the delta remaining
from the original call is replaced by the delta of the current call. If the old_delta parameter is nonzero, then when the adjtime() func-
tion returns, the structure pointed to will contain the time remaining from the earlier call.
This call may be used by time servers that synchronize the clocks of computers in a local area network. Such time servers would slow down
the clocks of some machines and speed up the clocks of others to bring them to the average network time.
The adjtime() function is restricted to users with superuser privilege.
NOTES
In BSD, system time is defined in units of seconds and microseconds, while in POSIX real time extensions, the units are seconds and
nanoseconds. However, the adjtime() function is not specified by POSIX. Therefore, the existing BSD interface is preserved.
RETURN VALUES
Upon successful completion, the adjtime() function returns a 0 (zero). If the adjtime() function fails, a value of -1 is returned, and
errno is set to indicate the error.
ERRORS
If the adjtime() function fails, errno may be set to one of the following values: An argument address referenced invalid memory. The
process's effective user ID does not have appropriate system privilege.
RELATED INFORMATION
Functions: gettimeofday(2), gettimer(3) delim off
adjtime(2)