tail head cat sleep
QR code linking to this page

manページ  — NTP_GETTIME

名称

ntp_gettime – NTP ユーザアプリケーションインタフェース

内容

書式

#include <sys/timex.h>

int
ntp_gettime(struct ntptimeval *ntv);

解説

ntp_gettime() によって返される時刻は、 timespec 構造体に格納されますが、マイクロ秒 (秒とマイクロ秒) または ナノ秒 (秒とナノ秒) のどちらかの形式であることができます。 使用中の特有の形式は、 ntp_adjtime() システムコールによって返される status ワードの STA_NANO ビットによって決定されます。 ntp_gettime() は以下のメンバを持つ ntptimeval 構造体へのポインタを引数として持ちます:
struct ntptimeval {
        struct timespec time;   /* 現在の時刻 (ns) (ro) */
        long maxerror;          /* 最大誤差 (us) (ro) */
        long esterror;          /* 推定誤差 (us) (ro) */
        long tai;               /* TAI-UTC オフセット */
        int time_state;         /* 時間状態 */
};

これらは以下のように理解されます:
time
  現在の時刻です (読取り専用)。
maxerror
  マイクロ秒単位での最大誤差です (読取り専用)。
esterror
  マイクロ秒単位での推定誤差です (読取り専用)。
tai
  TAI および UTC の時間スケールの間の秒単位のオフセットです。 このオフセットは 1 年毎に 2 回発行され、 TAI (閏秒がない) と UTC (閏秒がある) との間の整数秒差です。 ntpd(8) またはその他のエージェントがこの値を管理します。 値 0 は不明を意味します。 このマニュアルページの日付では、このオフセットは 32 秒です。
time_state
  現在時刻の状態です。

戻り値

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

起こりうるクロックの状態は以下のとおりです:

TIME_OK 全てが OK で、閏秒の警告もありません。
TIME_INS 正の閏秒の警告です。 この日の最後の 23:59:59 の後に追加の 1 秒が挿入されます。
TIME_DEL 負の閏秒の警告です。 この日の最後の 23:59:59 はスキップされます。
TIME_OOP 閏秒の経過中です。
TIME_WAIT 閏秒が発生しました。
TIME_ERROR クロックが同期していません。

関連項目

ntp_adjtime(2), ntpd(8)
http://www.bipm.fr/enus/5_Scientific/c_time/time_1.html
http://www.boulder.nist.gov/timefreq/general/faq.htm
ftp://time.nist.gov/pub/leap-seconds.list
 

作者

このマニュアルページは Tom Rhodes <trhodes@FreeBSD.org> が書きました。

NTP_GETTIME (2) June 21,2003

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.