| TIMERADD(3) | Library Functions Manual | TIMERADD(3) | 
timeradd —
#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);
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 comparison operator given in
    CMP. The result of the comparison is returned.
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.
| June 7, 2010 | NetBSD 9.3 |