TIMERADD(3C) Standard C Library Functions TIMERADD(3C)
NAME
timeradd, timersub, timerclear, timerisset, timercmp - operations on
timeval structures
SYNOPSIS
#include <sys/time.h>
void timeradd(
struct timeval *a,
struct timeval *b,
struct timeval *res);
void timerclear(
struct timeval *tvp);
int timercmp(
struct timeval *a,
struct timeval *b,
CMP);
int timerisset(
struct timeval *tvp);
void timersub(
struct timeval *a,
struct timeval *b,
struct timeval *res);
DESCRIPTION
These macros are provided for manipulating
timeval structures for use
with
gettimeofday(3C) and
settimeofday(3C) operands. The structure is
defined in
<sys/time.h> as:
struct timeval {
long tv_sec; /* seconds since Jan. 1, 1970 */
long tv_usec; /* and microseconds */
};
The
timeradd() macro adds the time information stored in
a to
b and
stores the resulting
timeval in
res. The results are simplified such
that the value of
res->
tv_usec is always less than 1,000,000 (1
second).
The
timersub() macro subtracts the time information stored in
b from
a and stores the resulting
timeval in
res.
The
timerclear() macro initializes
tvp to midnight (0 hour) January
1st, 1970 (the Epoch).
The
timerisset() macro returns true if
tvp is set to any time value
other than the Epoch.
The
timercmp() macro compares
a to
b using the form a
CMP b, where
CMP is one of
<, <=,
==,
!=,
>=, or
>.
USAGE
These macros are not available in function form. All of these macros
evaluate their arguments more than once. If parameters passed to
these macros are expressions with side effects, the results are
undefined.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------------+
|Interface Stability | Committed |
+--------------------+-------------------------+
|MT-Level | MT-Safe with Exceptions |
+--------------------+-------------------------+
SEE ALSO
gettimeofday(3C),
attributes(7) June 12, 2008 TIMERADD(3C)