EN JA
ADJTIME(2)
ADJTIME(2) FreeBSD System Calls Manual ADJTIME(2)

名称

adjtimeシステムクロックの同期化ができるように時刻を補正する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/time.h>

int
adjtime( const struct timeval *delta, struct timeval *olddelta);

解説

adjtime() システムコールは、timeval delta によって指定された時間で時刻を進めるかまたは遅らせる gettimeofday(2) によって返されるようなシステム時刻を少し調節を行います。 delta が負であるなら、補正が完了するまで、通常より遅く、それを増加することによって、クロックは、遅くなります。 delta が正であるなら、通常より大きな増加が使用されます。補正を行なうために使用されるゆがみは、一般的に 1 パーセントの割合です。したがって、時刻は、常に単調増加関数です。初期の呼び出しから adjtime() までの時刻の補正は、 adjtime() が再び呼び出されるとき、終了されません。 olddelta が NULL ポインタでないなら、指される構造体は、返るときに、前の呼び出しから修正されるマイクロ秒の数値を含みます。

この呼び出しは、ローカルエリアネットワーク中のコンピュータのクロックを同期させるタイムサーバによって使用されます。そのようなタイムサーバは、平均化されたネットワーク時刻になるように、いくつかのマシンのクロック遅くし、他のクロックを高速化します。

adjtime() システムコールは、スーパユーザに制限されています。

戻り値

The adjtime() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

adjtime() システムコールは、次の場合に失敗します:
[ EFAULT]
引数が、プロセスの割り付けられたアドレス空間の外側を指しています。
[ EPERM]
プロセスの実効ユーザ ID がスーパユーザではありません。

関連項目

date(1), gettimeofday(2), timed(8), timedc(8) R. Gusella and S. Zatti, TSP: The Time Synchronization Protocol for UNIX 4.3BSD.

歴史

adjtime() システムコールは、 4.3BSD で登場しました。
June 4, 1993 FreeBSD