Merge commit 'c5bab7026b8e0ac44b25ee08507ea360f177d844' into merges
[unleashed.git] / share / man / man2 / ntp_adjtime.2
blob417413eba56898a16a83601a3b9c311bfb8c6810
1 '\" te
2 .\" Copyright (c) David L. Mills 1992, 1993, 1994, 1995, 1996, 1997
3 .\" Portions Copyright (c) 2003, Sun Microsystems, Inc.  All Rights Reserved.
4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
5 .\"  See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with
6 .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
7 .TH NTP_ADJTIME 2 "May 13, 2017"
8 .SH NAME
9 ntp_adjtime \- adjust local clock parameters
10 .SH SYNOPSIS
11 .LP
12 .nf
13 #include <sys/timex.h>
15 \fBint\fR \fBntp_adjtime\fR(\fBstruct timex *\fR\fItptr\fR);
16 .fi
18 .SH DESCRIPTION
19 .LP
20 The \fBntp_adjtime()\fR function adjusts the parameters used to discipline the
21 local clock, according to the values in the struct \fBtimex\fR pointed to by
22 \fItptr\fR. Before returning, it fills in the structure with the most recent
23 values kept in the kernel.
24 .sp
25 .LP
26 The adjustment is effected in part by speeding up or slowing down the clock, as
27 necessary, and in part by phase-locking onto a once-per second pulse (PPS)
28 provided by a driver, if available.
29 .sp
30 .in +2
31 .nf
32 struct timex {
33     uint32_t modes;        /* clock mode bits (w) */
34     int32_t  offset;       /* time offset (us) (rw) */
35     int32_t  freq;         /* frequency offset (scaled ppm) (rw) */
36     int32_t  maxerror;     /* maximum error (us) (rw) */
37     int32_t  esterror;     /* estimated error (us) (rw) */
38     int32_t  status;       /* clock status bits (rw) */
39     int32_t  constant;     /* pll time constant (rw) */
40     int32_t  precision;    /* clock precision (us) (r) */
41     int32_t  tolerance;    /* clock frequency tolerance
42                               (scaled ppm) (r) */
43     int32_t  ppsfreq;      /* pps frequency (scaled ppm) (r) */
44     int32_t  jitter;       /* pps jitter (us) (r) */
45     int32_t  shift;        /* interval duration (s) (shift) (r) */
46     int32_t  stabil;       /* pps stability (scaled ppm) (r) */
47     int32_t  jitcnt;       /* jitter limit exceeded (r) */
48     int32_t  calcnt;       /* calibration intervals (r) */
49     int32_t  errcnt;       /* calibration errors (r) */
50     int32_t  stbcnt;       /* stability limit exceeded (r) */
52 .fi
53 .in -2
55 .SH RETURN VALUES
56 .LP
57 Upon successful completion, \fBntp_adjtime()\fR returns the current clock state
58 (see <\fBsys/timex.h\fR>). Otherwise, it returns \fB\(mi1\fR and sets
59 \fBerrno\fR to indicate the error.
60 .SH ERRORS
61 .LP
62 The \fBntp_adjtime()\fR function will fail if:
63 .sp
64 .ne 2
65 .na
66 \fB\fBEFAULT\fR\fR
67 .ad
68 .RS 10n
69 The \fItptr\fR argument is an invalid pointer.
70 .RE
72 .sp
73 .ne 2
74 .na
75 \fB\fBEINVAL\fR\fR
76 .ad
77 .RS 10n
78 The \fBconstant\fR member of the structure pointed to by \fItptr\fR is less
79 than 0 or greater than 30.
80 .RE
82 .sp
83 .ne 2
84 .na
85 \fB\fBEPERM\fR\fR
86 .ad
87 .RS 10n
88 The {\fBPRIV_SYS_TIME\fR} privilege is not asserted in the effective set of the
89 calling process.
90 .RE
92 .SH SEE ALSO
93 .LP
94 \fBntp_gettime\fR(2), \fBprivileges\fR(5)