adjtime
makes small adjustments to the system time
as returned by gettimeofday
(2), advancing or retarding
it by the time specified by the timeval delta.
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. The skew used to perform the correction is generally a
fraction of one percent. Thus, the time is always a monotonically
increasing function. A time correction from an earlier call to
adjtime
may not be finished when
adjtime
is called again. If
olddelta is non-NULL, the
structure pointed to will contain, upon return, the number of microseconds
still to be corrected from the earlier call.
adjtime
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
is restricted to the super-user.
On success, 0 is returned. On error, -1 is returned and the global variable errno is set appropriately.