ADJTIME(2) — NEWS-OS Programmer’s Manual
名称
adjtime − 時刻を訂正してシステムクロックを同期させる
形式
#include <sys/time.h>
adjtime(delta, olddelta)
struct timeval ∗delta;
struct timeval ∗olddelta;
解説
adjtime は、 timeval delta で指定された時間だけ進めたり、 遅らせたりして、 gettimeofday(2) で返されるシステム時刻を 微調整します。 delta が負である場合には、 訂正が完了するまで通常よりもゆっくり システムクロックを進めることによって、 クロックが遅らされます。 delta が正である場合には、 通常よりも 速くクロックを進めます。 時刻の訂正を 行うために使用されるスキュー (歪み値) は、 普通、 1% よりずっと小さな値です。 したがって、 時刻は常に単調に増加を 続ける関数です。 先に adjtime を 呼び出して時刻の訂正を 行っている場合、 adjtime を 再び呼び出しても終了させることはできません。 olddelta がゼロではない場合、 指し示されている構造体には、 リターン時に、 以前の呼び出しによってセットされて 訂正中のマイクロ秒数が収められます。
このコールは、 ローカルエリアネットワーク内のコンピュータのクロックを 同期させるタイムサーバによって使用されます。 そのようなタイムサーバは、 いくつかのマシンのクロックを 遅らせて、あるいは 他のマシンのクロックを スピードアップさせて、 すべてのマシンが標準ネットワーク時刻になるように調整します。
adjtime(2) コールは、 スーパーユーザだけに制限されています。
リターン値
正常終了時には、リターン値 0 が返されます。 リターン値 −1 は、 エラーが発生したことを 示し、 この場合、 エラーコードがグローバル変数 errno に入れられます。
エラー
次のエラーコードが errno にセットされることがあります。
[EFAULT] 引数が、 そのプロセスに割り当てられたアドレススペースの外を 指している。
[EPERM] プロセスの有効ユーザ ID がスーパーユーザのものではない。
関連事項
date(1), gettimeofday(2), timed(8), timedc(8),
TSP: The Time Synchronization Protocol for UNIX 4.3BSD, R. Gusella and S. Zatti
NEWS-OSRelease 4.2.1R