Scroll to navigation

TIMERADD(3) Linux Programmer's Manual TIMERADD(3)

名前

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);
void timerisset(struct timeval *tvp);
void 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() は、 ab の時刻値を加算し、その合計を 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 構造体は、時刻紀元 (the Epoch) である 1970 年 1 月 1 日の午前 0 時を表す。

timerisset() は、 tvp により参照される timeval 構造体のいずれか一方のフィールドに 0 以外の値が入っていれば、 真 (0 以外) を返す。

timercmp() は ab の時刻値を比較演算子 CMP を使って比較し、比較結果に基づき、真 (0 以外) か偽 (0) を返す。

返り値

timerisset() と timercmp() は、真 (0 以外) か偽 (0) を返す。

エラー

エラーは定義されていない。

準拠

POSIX.1-2001 にはない。 ほとんどの BSD 由来のシステムに存在する。

関連項目

gettimeofday(2), time(7)

2007-07-31 Linux