Provided by: manpages-ja-dev_0.5.0.0.20210215+dfsg-1_all
名前
timeradd, timersub, timercmp, timerclear, timerisset - timeval の操作
書式
#include <sys/time.h> void timeradd(struct timeval *a, struct timeval *b, struct timeval *res); void timersub(struct timeval *a, struct timeval *b, struct timeval *res); void timerclear(struct timeval *tvp); int timerisset(struct timeval *tvp); int timercmp(struct timeval *a, struct timeval *b, CMP); glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照): 上記の全ての関数: _BSD_SOURCE
説明
timeval 構造体を操作するためのマクロが提供されている。 timeval 構造体は <sys/time.h> で以 下のように定義されている。 struct timeval { time_t tv_sec; /* 秒 */ suseconds_t tv_usec; /* マイクロ秒 */ }; timeradd() は、 a と b の時刻値を加算し、その合計を res により参照される timeval 構造体に 格納する。結果は、 res->tv_usec の値が 0 から 999,999 の範囲に入るように正規化される。 timersub() は、 a の時刻値から b の時刻値を減算し、その結果を res により参照される timeval 構造体に格納する。結果は、 res->tv_usec の値が 0 から 999,999 の範囲に入るように正 規化される。 timerclear() は tvp により参照される timeval 構造体を 0 で埋める。 0 で埋められた timeval 構造体は、時刻紀元 (Epoch; 1970-01-01 00:00:00 +0000 (UTC)) を表す。 timerisset() は、 tvp により参照される timeval 構造体のいずれか一方のフィールドに 0 以外 の値が入っていれば、 真 (0 以外) を返す。 timercmp() は a と b の時刻値を比較演算子 CMP を使って比較し、比較結果に基づき、真 (0 以 外) か偽 (0) を返す。 (Linux/glibc はそうではないが) いくつかのシステムでは、 timercmp() の実装がおかしく、 CMP に >=, <=, == を指定すると正しく動作しない。 移植性が必要なアプリ ケーションでは、 代わりに以下を使うこと。 !timercmp(..., <) !timercmp(..., >) !timercmp(..., !=)
返り値
timerisset() と timercmp() は、真 (0 以外) か偽 (0) を返す。
エラー
エラーは定義されていない。
準拠
POSIX.1-2001 にはない。 ほとんどの BSD 由来のシステムには存在する。
関連項目
gettimeofday(2), time(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。