I'm very pleased to announce the release of our new website and documentation using the new toolchain with Hugo and AsciiDoctor. To get more information about the new toolchain please read the FreeBSD Documentation Project Primer[1], Hugo docs[2] and AsciiDoctor docs[3]. Acknowledgment: Benedict Reuschling <bcr@> Glen Barber <gjb@> Hiroki Sato <hrs@> Li-Wen Hsu <lwhsu@> Sean Chittenden <seanc@> The FreeBSD Foundation [1] https://docs.FreeBSD.org/en/books/fdp-primer/ [2] https://gohugo.io/documentation/ [3] https://docs.asciidoctor.org/home/ Approved by: doceng, core
144 lines
4.5 KiB
Groff
144 lines
4.5 KiB
Groff
.\"
|
|
.\" Copyright (c) 2003 Tom Rhodes
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" %FreeBSD: src/lib/libc/sys/ntp_adjtime.2,v 1.2 2003/06/20 21:14:59 imp Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd April 1, 2003
|
|
.Dt NTP_ADJTIME 2
|
|
.Os
|
|
.Sh 名称
|
|
.Nm ntp_adjtime
|
|
.Nd NTP デーモンアプリケーションインタフェース
|
|
.Sh 書式
|
|
.In sys/types.h
|
|
.In sys/timex.h
|
|
.Ft int
|
|
.Fn ntp_adjtime "struct timex *tp"
|
|
.Sh 解説
|
|
.Fn ntp_adjtime
|
|
システムコールは Network Time Protocol (ネットワークタイムプロトコル) デーモン
|
|
.Xr ntpd 8
|
|
のためのカーネルインタフェースとして使用されます。
|
|
.Vt timex
|
|
構造体の特定のフィールドは、
|
|
.Va status
|
|
ワードの
|
|
.Dv STA_NANO
|
|
ビットの状態に従って、マイクロ秒またはナノ秒に変換されます。
|
|
.Pp
|
|
.Fx
|
|
カーネルの中では、
|
|
.Fn ntp_adjtime
|
|
および
|
|
.Xr ntp_gettime 2
|
|
システムコールはどちらの分解能を使用するかを決定するために、または
|
|
もう一方を選択するために、いつでも使用することが可能です。
|
|
選択された分解能は、
|
|
.Fn ntp_gettime
|
|
および
|
|
.Fn ntp_adjtime
|
|
システムコールの中の特定のフィールドのスケーリングに影響を及ぼします。
|
|
.Pp
|
|
この
|
|
.Tn API
|
|
は非常に複雑で、状態があることに注意してください。
|
|
ユーザは、はじめに
|
|
.Xr ntpd 8
|
|
のソースを徹底的に吟味することなしに、修正を試みるべきではありません。
|
|
.Bd -literal
|
|
/*
|
|
* NTP デーモンインタフェース (ntp_adjtime()) - CPU クロック発振器の
|
|
* 制御規約と状態の決定のために使用されます。
|
|
*
|
|
* 注意: offset, precision および jitter メンバは STA_NANO が 0 であれば
|
|
* マイクロ秒で、そうでなければナノ秒です。
|
|
*/
|
|
struct timex {
|
|
unsigned int modes; /* クロックモードビット (wo) */
|
|
long offset; /* 時刻オフセット (ns/us) (rw) */
|
|
long freq; /* 周波数オフセット (PPM 単位) (rw) */
|
|
long maxerror; /* 最大誤差 (us) (rw) */
|
|
long esterror; /* 推定誤差 (us) (rw) */
|
|
int status; /* クロック状態ビット (rw) */
|
|
long constant; /* ポール間隔 (log2 s) (rw) */
|
|
long precision; /* 時刻の精度 (ns/us) (ro) */
|
|
long tolerance; /* クロック周波数の公差 (PPM 単位) (ro) */
|
|
/*
|
|
* 以下の読み取り専用の構造体メンバは、カーネル内に PPS
|
|
* シグナル制御規約がコンフィギュレーションされている場合のみ
|
|
* 実装されます。これらはポータビリティを保証するために、全ての
|
|
* コンフィギュレーションに含まれます。
|
|
*/
|
|
long ppsfreq; /* PPS 周波数 (PPM 単位) (ro) */
|
|
long jitter; /* PPS ジッタ (ns/us) (ro) */
|
|
int shift; /* 存続期間 (s) (シフト) (ro) */
|
|
long stabil; /* PPS 安定性 (PPM 単位) (ro) */
|
|
long jitcnt; /* 超過したジッタ制限 (ro) */
|
|
long calcnt; /* 測定間隔 (ro) */
|
|
long errcnt; /* 測定誤差 (ro) */
|
|
long stbcnt; /* 超過した安定性制限 (ro) */
|
|
};
|
|
.Ed
|
|
.Pp
|
|
成功して完了したときには、
|
|
.Fn ntp_adjtime
|
|
は
|
|
.Fa tp
|
|
引数に現在のクロックの状態を入れます。
|
|
.Sh 戻り値
|
|
成功時には完了したクロック状態が返されます。
|
|
そうでなければ、\-1 が返されグローバル変数
|
|
.Va errno
|
|
がそのエラーを示すために設定されます。
|
|
.Pp
|
|
起こりうるクロックの状態は以下のとおりです:
|
|
.Pp
|
|
.Bl -tag -compact -width ".Dv TIME_ERROR"
|
|
.It Dv TIME_OK
|
|
全てが OK で、閏秒の警告もありません。
|
|
.It Dv TIME_INS
|
|
閏秒挿入の警告です。
|
|
.It Dv TIME_DEL
|
|
閏秒削除の警告です。
|
|
.It Dv TIME_OOP
|
|
閏秒の経過中です。
|
|
.It Dv TIME_WAIT
|
|
閏秒が発生しました。
|
|
.It Dv TIME_ERROR
|
|
クロックが同期していません。
|
|
.El
|
|
.Sh エラー
|
|
.Fn ntp_gettime
|
|
システムコールは、呼び出し側が十分なパーミッションを持っていない場合に、
|
|
.Er EPERM
|
|
を返すことがあります。
|
|
.Sh 関連項目
|
|
.Xr ntp_gettime 2 ,
|
|
.Xr ntpd 8
|
|
.Sh 作者
|
|
このマニュアルページは
|
|
.An Tom Rhodes Aq trhodes@FreeBSD.org
|
|
が書きました。
|