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.

The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language.
— Donald Knuth