timeradd






timeradd, timersub, timercmp, timerclear, timerisset −
timeval operations


#include<sys/time.h>

     , struct timeval *void timeradd(struct timeval *a );
struct timeval *res

     , struct timeval *void timersub(struct timeval *a );
struct timeval *res

     );void timerclear(struct timeval *tvp

     );int timerisset(struct timeval *tvp

     , struct timeval *int timercmp(struct timeval *a

Feature Test Macro Requirements for glibc (see

     All functions shown above:
    Since glibc 2.19:
        _DEFAULT_SOURCE
    Glibc 2.19 and earlier:
        _BSD_SOURCE

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 */ };

     adds the time values in a and and places the sum in the
timeval pointed to by The result is normalized such that
res−>tv_usec has a value in the range 0 to 999,999.

     subtracts the time value in b from the time value in
and places the result in the timeval pointed to by The
result is normalized such that res−>tv_usec has a value in
the range 0 to 999,999.

     zeros out the timeval structure pointed to by so that
it represents the Epoch: 1970‐01‐01 00:00:00 +0000 (UTC).

     returns true (nonzero) if either field of the timeval
structure pointed to by tvp contains a nonzero value.

     compares the timer values in a and b using the
comparison operator and returns true (nonzero) or false (0)
depending on the result of the comparison.  Some systems
(but not Linux/glibc), have a broken implementation, in
which CMP of and == do not work; portable applications can
instead use









                             ‐2‐


         !timercmp(..., <)
    !timercmp(..., >)
    !timercmp(..., !=)

and return true (nonzero) or false (0).

No errors are defined.

Not in POSIX.1.  Present on most BSD derivatives.



This page is part of release 5.06 of the Linux man‐pages
project.  A description of the project, information about
reporting bugs, and the latest version of this page, can be
found at https://www.kernel.org/doc/man−pages/.