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

FreeBSD Manual Pages

  
 
  

home | help
ADJTIMEX(2)		   Linux Programmer's Manual		   ADJTIMEX(2)

NAME
       adjtimex	- tune kernel clock

SYNOPSIS
       #include	<sys/timex.h>

       int adjtimex(struct timex *buf);

DESCRIPTION
       Linux  uses  David L. Mills' clock adjustment algorithm (see RFC	1305).
       The system call adjtimex	reads and optionally sets  adjustment  parame-
       ters  for this algorithm.  It takes a pointer to	a timex	structure, up-
       dates kernel parameters from field values, and returns the same	struc-
       ture  with  current  kernel values.  This structure is declared as fol-
       lows:

	      struct timex {
		  int modes;	       /* mode selector	*/
		  long offset;	       /* time offset (usec) */
		  long freq;	       /* frequency offset (scaled ppm)	*/
		  long maxerror;       /* maximum error	(usec) */
		  long esterror;       /* estimated error (usec) */
		  int status;	       /* clock	command/status */
		  long constant;       /* pll time constant */
		  long precision;      /* clock	precision (usec) (read only) */
		  long tolerance;      /* clock	frequency tolerance (ppm)
					  (read	only) */
		  struct timeval time; /* current time (read only) */
		  long tick;	       /* usecs	between	clock ticks */
	      };

       The modes field determines which	parameters, if any, to	set.   It  may
       contain a bitwise-or combination	of zero	or more	of the following bits:

	      #define ADJ_OFFSET	    0x0001 /* time offset */
	      #define ADJ_FREQUENCY	    0x0002 /* frequency	offset */
	      #define ADJ_MAXERROR	    0x0004 /* maximum time error */
	      #define ADJ_ESTERROR	    0x0008 /* estimated	time error */
	      #define ADJ_STATUS	    0x0010 /* clock status */
	      #define ADJ_TIMECONST	    0x0020 /* pll time constant	*/
	      #define ADJ_TICK		    0x4000 /* tick value */
	      #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */

       Ordinary	users are restricted to	a zero value for mode.	Only the supe-
       ruser may set any parameters.

RETURN VALUE
       On success, adjtimex returns the	clock state:

	      #define TIME_OK	0 /* clock synchronized	*/
	      #define TIME_INS	1 /* insert leap second	*/
	      #define TIME_DEL	2 /* delete leap second	*/
	      #define TIME_OOP	3 /* leap second in progress */
	      #define TIME_WAIT	4 /* leap second has occurred */
	      #define TIME_BAD	5 /* clock not synchronized */

       On failure, adjtimex returns -1 and sets	errno.

ERRORS
       EFAULT buf does not point to writable memory.

       EPERM  buf.mode is non-zero and the user	is not super-user.

       EINVAL An attempt is made to set	buf.offset  to	a  value  outside  the
	      range  -131071 to	+131071, or to set buf.status to a value other
	      than those listed	above, or to set buf.tick to a	value  outside
	      the  range 900000/HZ to 1100000/HZ, where	HZ is the system timer
	      interrupt	frequency.

CONFORMING TO
       adjtimex	is Linux specific and should not be used in programs  intended
       to  be  portable.   There is a similar but less general call adjtime in
       SVr4.

SEE ALSO
       settimeofday(2)

Linux 2.0			  1997-07-30			   ADJTIMEX(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=adjtimex&sektion=2&manpath=Red+Hat+9>

home | help