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

FreeBSD Manual Pages

  
 
  

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

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

LIBRARY
     Standard C	Library	(libc, -lc)

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 olddelta is non-nil, the structure pointed to	will
     contain, upon return, the number of microseconds still to be corrected
     from the earlier call.

     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.

     If	the calling user is not	the super user,	then the adjtime() function in
     the standard C library will try to	use the	clockctl(4) device if present,
     thus making possible for non privileged users to adjust the system	time.
     If	clockctl(4) is not present or not accessible, then adjtime() reverts
     to	the adjtime() system call, which is restricted to the super user.

RETURN VALUES
     A return value of 0 indicates that	the call succeeded.  A return value of
     -1	indicates that an error	occurred, and in this case an error code is
     stored in the global variable errno.

ERRORS
     adjtime() will fail if:

     [EFAULT]		An argument points outside the process's allocated ad-
			dress space.

     [EPERM]		The process's effective	user ID	is not that of the su-
			per user.

SEE ALSO
     date(1), gettimeofday(2), clockctl(4), timed(8), timedc(8)

     R.	Gusella	and S. Zatti, TSP: The Time Synchronization Protocol for UNIX
     4.3BSD.

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

BSD				 June 4, 1993				   BSD

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

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

home | help