logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

timeradd, timersub, timerclear, timerisset, timercmp, timespecadd, timespecsub, timespecclear,

Description

These macros are provided for manipulating the timeval and timespec structures described in timeval(3bsd). 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 structtimespec 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.

History

The 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. Debian June 7, 2010 timeradd(3bsd)

Library

Utility functions from BSD systems (libbsd, -lbsd)

Name

timeradd, timersub, timerclear, timerisset, timercmp, timespecadd, timespecsub, timespecclear, timespecisset, timespeccmp — operations on time structure

See Also

timeval(3bsd)

Synopsis

#include<sys/time.h> (See libbsd(7) for include usage.) voidtimeradd(structtimeval*a, structtimeval*b, structtimeval*res); voidtimersub(structtimeval*a, structtimeval*b, structtimeval*res); voidtimerclear(structtimeval*tv); inttimerisset(structtimeval*tv); inttimercmp(structtimeval*a, structtimeval*b, CMP); voidtimespecadd(structtimespec*a, structtimespec*b, structtimespec*res); voidtimespecsub(structtimespec*a, structtimespec*b, structtimespec*res); voidtimespecclear(structtimespec*ts); inttimespecisset(structtimespec*ts); inttimespeccmp(structtimespec*a, structtimespecb, CMP);

See Also