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)

illumos June 12, 2008 TIMERADD(3C)