TIMERADD(3) Linux Programmer's Manual TIMERADD(3)NAME
timeradd, timersub, timercmp, timerclear, timerisset - timeval opera‐
tions
SYNOPSIS
#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);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
All functions shown above: _BSD_SOURCE
DESCRIPTION
The macros are provided to operate on timeval structures, defined in
<sys/time.h> as:
struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
timeradd() adds the time values in a and b, and places the sum in the
timeval pointed to by res. The result is normalized such that
res->tv_usec has a value in the range 0 to 999,999.
timersub() subtracts the time value in b from the time value in a, and
places the result in the timeval pointed to by res. The result is nor‐
malized such that res->tv_usec has a value in the range 0 to 999,999.
timerclear() zeros out the timeval structure pointed to by tvp, so that
it represents the time at midnight on the morning of 1 January 1970
(the Epoch).
timerisset() returns true (non-zero) if either field of the timeval
structure pointed to by tvp contains a non-zero value.
timercmp() compares the timer values in a and b using the comparison
operator CMP, and returns true (non-zero) or false (0) depending on the
result of the comparison. Some systems (but not Linux/glibc), have a
broken timercmp() implementation, in which CMP of >=, <=, and == do not
work; portable applications can instead use
!timercmp(..., <)
!timercmp(..., >)
!timercmp(..., !=)
RETURN VALUEtimerisset() and timercmp() return true (non-zero) or false (0).
ERRORS
No errors are defined.
CONFORMING TO
Not in POSIX.1-2001. Present on most BSD derivatives.
SEE ALSOgettimeofday(2), time(7)COLOPHON
This page is part of release 3.23 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2009-02-26 TIMERADD(3)