Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ADJTIME(2)		  FreeBSD System Calls Manual		    ADJTIME(2)

NAME
     adjtime --	correct	the time to allow synchronization of the system	clock

SYNOPSIS
     #include <sys/time.h>

     int
     adjtime(const struct timeval *delta, struct timeval *olddelta);

DESCRIPTION
     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 incre-
     menting 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 correc-
     tion from an earlier call to adjtime() may	not be finished	when adjtime()
     is	called again.  If delta	is NULL, no adjustment is done.	 If olddelta
     is	non-NULL, the number of	microseconds still to be corrected from	the
     earlier call is stored into *olddelta.  Setting the time with
     settimeofday(2) cancels any in-progress time adjustment.

     This call may be used by time servers that	synchronize the	clocks of com-
     puters 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.

     Only the superuser	may adjust the time using the adjtime()	function.

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
     adjtime() will fail if:

     [EFAULT]		Either of the arguments	point outside the process's
			allocated address space.

     [EINVAL]		The delta argument is non-NULL and specifies a mi-
			crosecond value	less than zero or greater than or
			equal to one million.

     [EINVAL]		The delta argument is non-NULL and represents an ad-
			justment greater than INT64_MAX	microseconds or	less
			than INT64_MIN microseconds.

     [EPERM]		The delta argument is non-NULL and the process's ef-
			fective	user ID	is not that of the superuser.

SEE ALSO
     date(1), adjfreq(2), gettimeofday(2), ntpd(8)

HISTORY
     The adjtime() function call appeared in 4.3BSD.

CAVEATS
     Other operating systems restrict calling adjtime()	to the superuser and
     might not allow requesting	the current correction without specifying a
     new value.

FreeBSD	13.0			March 26, 2019			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | HISTORY | CAVEATS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=adjtime&sektion=2&manpath=OpenBSD+6.9>

home | help