[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    TIMERADD(3) manual page Table of Contents

Name

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

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
*tvp);int timerisset(struct timeval *tvp);int timercmp(struct timeval *a,
struct timeval *b, CMP);

Feature Test Macro Requirements for glibc (see feature_test_macros(7) ):

All functions shown above: _BSD_SOURCE

Description

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

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

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

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

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

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

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

Return Value

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

Errors

No errors are defined.

Conforming to

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

See Also

gettimeofday(2) , time(7)

Colophon

This page is part of release 3.78 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 http://www.kernel.org/doc/man-pages/.


Table of Contents