ADJTIME(2)

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

ライブラリ
libc

書式
<sys/time.h> int adjtime(const struct timeval *delta, struct timeval *olddelta)

解説
adjtime() システムコールは、 gettimeofday(2) が返すようなシステム時刻を微調整します。 時間値 delta で指定された時間だけシステム時刻を進ませる、または遅らせます。 delta が負の場合、 訂正が完了するまでクロックをよりゆっくりと増加させることによって クロックを低速化します。 delta が正の場合は通常より大きな増分を使用します。 訂正を実行するために使用されるずれは、 一般には 1 パーセントの割合です。 これにより、時刻は常に単調増加関数となります。 以前の adjtime() 呼び出しによる時刻訂正が、再び adjtime() が呼び出された時に完了していない可能性があります。 olddelta が nil でない場合、指し示されている構造体は、 以前の呼び出しからの、依然として 訂正する必要のあるマイクロ秒単位の数が戻り時に格納されているでしょう。

この呼び出しは、ローカルエリアネットワーク内のコンピュータのクロックを 同期するタイムサーバが使用することがあります。 このようなタイムサーバはマシンのクロックを低速化、または 高速化して、それらを平均ネットワーク時刻にします。

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

戻り値

エラー
adjtime() システムコールは次の場合に処理を失敗します:

[EFAULT]
    引数は、プロセスに割り当てられたアドレス空間の範囲外を指しています。

[EPERM]
    プロセスの実効ユーザ ID がスーパユーザのものではありません。

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

歴史
adjtime() システムコールは 4.3BSD で登場しました。