dwww Home | Manual pages | Find package

timeradd(3)                 Library Functions Manual                timeradd(3)

NAME
       timeradd,  timersub,  timercmp,  timerclear, timerisset - timeval opera-
       tions

LIBRARY
       Standard C library (libc, -lc)

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:
           Since glibc 2.19:
               _DEFAULT_SOURCE
           glibc 2.19 and earlier:
               _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  nor-
       malized 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 op-
       erator CMP, and returns true (nonzero) or false (0) depending on the re-
       sult of the comparison.  Some systems (but not Linux/glibc), have a bro-
       ken  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.

STANDARDS
       None.

HISTORY
       BSD.

SEE ALSO
       gettimeofday(2), time(7)

Linux man-pages 6.9.1              2024-05-02                       timeradd(3)

Generated by dwww version 1.16 on Tue Dec 16 04:35:00 CET 2025.