104 lines
2.9 KiB
Groff
104 lines
2.9 KiB
Groff
'\"macro stdmacro
|
|
.\" @(#)adjtime 41.3 91/05/26 SMI; from UCB 4.3
|
|
.\" Copyright 1989, 1990 AT&T
|
|
.\" Copyright (c) 1988 Sun Microsystems, Inc. - All Rights Reserved.
|
|
.\"
|
|
.\" Copyright (c) 1980 Regents of the University of California.
|
|
.\" All rights reserved. The Berkeley software License Agreement
|
|
.\" specifies the terms and conditions for redistribution.
|
|
.\"
|
|
.nr X
|
|
.if \nX=0 .ds x} adjtime 2 "" "\&"
|
|
.if \nX=1 .ds x} adjtime 2 ""
|
|
.if \nX=2 .ds x} adjtime 2 "" "\&"
|
|
.if \nX=3 .ds x} adjtime "" "" "\&"
|
|
.TH \*(x}
|
|
.SH NAME
|
|
\f4adjtime\f1 \- correct the time to allow synchronization of the system clock
|
|
.SH SYNOPSIS
|
|
.nf
|
|
\f4#include <sys/time.h>\f1
|
|
.LP
|
|
.ft 4
|
|
\f4int adjtime(struct timeval \(**delta, struct timeval \(**olddelta);\f1
|
|
.fi
|
|
.SH DESCRIPTION
|
|
\f4adjtime\f1
|
|
adjusts the system's notion of the current time,
|
|
as returned by
|
|
\f4gettimeofday\f1(3C),
|
|
advancing or retarding it by the amount of time specified in the
|
|
\f4struct timeval\f1
|
|
pointed to by
|
|
.IR delta .
|
|
.LP
|
|
The adjustment is effected by speeding up (if that amount of time
|
|
is positive) or slowing down (if that amount of time is negative)
|
|
the system's clock by some small percentage, generally a fraction of
|
|
one percent.
|
|
Thus, the time is always
|
|
a monotonically increasing function.
|
|
A time correction from an earlier call to
|
|
\f4adjtime\f1
|
|
may not be finished when
|
|
\f4adjtime\f1
|
|
is called again.
|
|
If
|
|
.I delta
|
|
is \f40\f1, then
|
|
.I olddelta
|
|
returns the status of the effects of the previous \f4adjtime\f1
|
|
call and there is no effect on the time correction as a result of this call.
|
|
If
|
|
.I olddelta
|
|
is not a
|
|
.SM NULL
|
|
pointer, then the structure it points to will contain, upon return, the
|
|
number of seconds and/or microseconds still to be corrected
|
|
from the earlier call.
|
|
If
|
|
.I olddelta
|
|
is a
|
|
.SM NULL
|
|
pointer, the corresponding information will not be returned.
|
|
.LP
|
|
This call may be used in 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.
|
|
.LP
|
|
Only a process with the super-user privilege
|
|
can adjust the time of day.
|
|
.LP
|
|
The adjustment value will be silently rounded to the resolution
|
|
of the system clock.
|
|
.SH RETURN
|
|
A 0 return value indicates that the call succeeded.
|
|
A \-1 return value indicates an error occurred, and in this
|
|
case an error code is stored into the global variable
|
|
\f4errno\f1.
|
|
.SH ERRORS
|
|
The following error codes may be set in
|
|
\f4errno\f1:
|
|
.TP 20
|
|
\f4EFAULT\f1
|
|
.I delta
|
|
or
|
|
.I olddelta
|
|
points outside the process's allocated address space, or
|
|
.I olddelta
|
|
points to a region of the process' allocated address space that is not
|
|
writable.
|
|
.TP
|
|
\f4EPERM\f1
|
|
The calling process does not have the super-user privilege
|
|
to change the time of day.
|
|
.TP
|
|
\f4EINVAL\f1
|
|
The value of
|
|
.I delta
|
|
is not an acceptable value, it is either too large or too small.
|
|
.SH "SEE ALSO"
|
|
\f4date\f1(1),
|
|
\f4gettimeofday\f1(3C)
|