TIMERADD
Section: Misc. Reference Manual Pages (3bsd)Index Return to Main Contents
BSD mandoc
NAME
timeradd timersub timerclear timerisset timercmp timespecadd timespecsub timespecclear timespecisset timespeccmp - operations on time structureLIBRARY
Lb libbsdSYNOPSIS
In sys/time.h (See libbsd(7) for include usage.) Ft void Fn timeradd struct timeval *a struct timeval *b struct timeval *res Ft void Fn timersub struct timeval *a struct timeval *b struct timeval *res Ft void Fn timerclear struct timeval *tv Ft int Fn timerisset struct timeval *tv Ft int Fn timercmp struct timeval *a struct timeval *b CMP Ft void Fn timespecadd struct timespec *a struct timespec *b struct timespec *res Ft void Fn timespecsub struct timespec *a struct timespec *b struct timespec *res Ft void Fn timespecclear struct timespec *ts Ft int Fn timespecisset struct timespec *ts Ft int Fn timespeccmp struct timespec *a struct timespec b CMPDESCRIPTION
These macros are provided for manipulating the Fa timeval and Fa timespec structures described in timeval(3bsd).The Fn timeradd and Fn timespecadd macros add the time information stored in Fa a to Fa b , storing the result in Fa res . With Fn timeradd the results are simplified such that the value of Fa res->tv_usec is always less than 1,000,000 (1 second). With Fn timespecadd the Fa res->tv_nsec member of Fa struct timespec is always less than 1,000,000,000.
The Fn timersub and Fn timespecsub macros subtract the time information stored in Fa b from Fa a and store the resulting structure in Fa res .
The Fn timerclear and Fn 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 Fn timerisset and Fn timespecisset macros return true if the input structure is set to any time value other than the Epoch.
The Fn timercmp and Fn timespeccmp macros compare Fa a to Fa b using the comparison operator given in Fa CMP . The result of the comparison is returned.
SEE ALSO
timeval(3bsd)HISTORY
The Fn timeradd family of macros first appeared in Nx 1.1 . These were later ported to Fx 2.2.6 . The Fn timespec family of macros first appeared in Nx 1.2 .
Index
This document was created by man2html, using the manual pages.
Time: 04:45:39 GMT, September 16, 2022 Content-type: text/html; charset=UTF-8
TIMERADD
Section: Linux Programmer's Manual (3)Updated: 2017-09-15
Index Return to Main Contents
NAME
timeradd, timersub, timercmp, timerclear, timerisset - timeval operationsSYNOPSIS
#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 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. Present on most BSD derivatives.SEE ALSO
gettimeofday(2), time(7)COLOPHON
This page is part of release 4.15 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/.
Index
This document was created by man2html, using the manual pages.
Time: 04:45:50 GMT, September 16, 2022
0 댓글