Manpages

名 前

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() は 、 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 構 造 体 は 、 時 刻 紀 元 (Epoch; 1970−01−01 00:00:00 +0000 (UTC)) を 表 す 。

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

timercmp() は ab の 時 刻 値 を 比 較 演 算 子 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/ に 書 か れ て い る 。