Penguin
Annotated edit history of adjtimex(2) version 2, including all changes. View license author blame.
Rev Author # Line
1 perry 1 ADJTIMEX
2 !!!ADJTIMEX
2 PerryLorier 3
1 perry 4 ----
5 !!NAME
6
7
8 adjtimex - tune kernel clock
9 !!SYNOPSIS
10
2 PerryLorier 11 __#include <sys/time>
12 __int adjtimex(struct timex *__''buf''__);__
1 perry 13
14 !!DESCRIPTION
15
16 Linux uses David L. Mills' clock adjustment algorithm (see
17 RFC 1305). The system call __adjtimex__ reads and
18 optionally sets adjustment parameters for this algorithm. It
19 takes a pointer to a ''timex'' structure, updates kernel
20 parameters from field values, and returns the same structure
21 with current kernel values. This structure is declared as
22 follows:
23
2 PerryLorier 24 struct timex {
25 int modes; /* mode selector */
26 long offset; /* time offset (usec) */
27 long freq; /* frequency offset (scaled ppm) */
28 long maxerror; /* maximum error (usec) */
29 long esterror; /* estimated error (usec) */
30 int status; /* clock command/status */
31 long constant; /* pll time constant */
32 long precision; /* clock precision (usec) (read only) */
33 long tolerance; /* clock frequency tolerance (ppm) (read only) */
34 struct timeval time; /* current time (read only) */
35 long tick; /* usecs between clock ticks */
36 };
1 perry 37
38 The ''modes'' field determines which parameters, if any,
39 to set. It may contain a bitwise-''or'' combination of
40 zero or more of the following bits:
41
2 PerryLorier 42 #define ADJ_OFFSET 0x0001 /* time offset */
43 #define ADJ_FREQUENCY 0x0002 /* frequency offset */
44 #define ADJ_MAXERROR 0x0004 /* maximum time error */
45 #define ADJ_ESTERROR 0x0008 /* estimated time error */
46 #define ADJ_STATUS 0x0010 /* clock status */
47 #define ADJ_TIMECONST 0x0020 /* pll time constant */
48 #define ADJ_TICK 0x4000 /* tick value */
49 #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */
1 perry 50
2 PerryLorier 51 Ordinary users are restricted to a zero value for ''mode''. Only the superuser may set any parameters.
1 perry 52 !!RETURN VALUE
53
2 PerryLorier 54 On success, __adjtimex__ returns the clock state:
1 perry 55
2 PerryLorier 56 #define TIME_OK 0 /* clock synchronized */
57 #define TIME_INS 1 /* insert leap second */
58 #define TIME_DEL 2 /* delete leap second */
59 #define TIME_OOP 3 /* leap second in progress */
60 #define TIME_WAIT 4 /* leap second has occurred */
61 #define TIME_BAD 5 /* clock not synchronized */
1 perry 62
63
2 PerryLorier 64 On failure, __adjtimex__ returns -1 and sets ''errno''.
1 perry 65 !!ERRORS
66
67
2 PerryLorier 68 ;[EFAULT]: ''buf'' does not point to writable memory.
69 ;[EPERM]: ''buf.mode'' is non-zero and the user is not super-user.
70 ;[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.
1 perry 71 !!CONFORMING TO
72
73 __adjtimex__ is Linux specific and should not be used in
74 programs intended to be portable. There is a similar but
75 less general call __adjtime__ in SVr4.
2 PerryLorier 76
1 perry 77 !!SEE ALSO
78
79 settimeofday(2)
80 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 4 times)