TIMERADD(3) BSD Library Functions Manual TIMERADD(3)NAME
timeradd — operations on time structure
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 *tv);
int
timerisset(struct timeval *tv);
int
timercmp(struct timeval *a, struct timeval *b, CMP);
void
timespecadd(struct timespec *a, struct timespec *b,
struct timespec *res);
void
timespecsub(struct timespec *a, struct timespec *b,
struct timespec *res);
void
timespecclear(struct timespec *ts);
int
timespecisset(struct timespec *ts);
int
timespeccmp(struct timespec *a, struct timespec b, CMP);
DESCRIPTION
These macros are provided for manipulating the timeval and timespec
structures described in timeval(3).
The timeradd() and timespecadd() macros add the time information stored
in a to b, storing the result in res. With timeradd() the results are
simplified such that the value of res->tv_usec is always less than
1,000,000 (1 second). With timespecadd() the res->tv_nsec member of
struct timespec is always less than 1,000,000,000.
The timersub() and timespecsub() macros subtract the time information
stored in b from a and store the resulting structure in res.
The timerclear() and timespecclear() macros initialize the structures to
midnight (0 hour) January 1st, 1970 (the Epoch). In other words, they
set the members of the structure to zero.
The timerisset() and timespecisset() macros return true if the input
structure is set to any time value other than the Epoch.
The timercmp() and timespeccmp() macros compare a to b using the compari‐
son operator given in CMP. The result of the comparison is returned.
SEE ALSOtimeval(3)HISTORY
The timeradd() family of macros first appeared in NetBSD 1.1. These were
later ported to FreeBSD 2.2.6. The timespec() family of macros first
appeared in NetBSD 1.2.
BSD June 7, 2010 BSD