xref: /illumos-gate/usr/src/man/man3c/timeradd.3c (revision 5422785d352a2bb398daceab3d1898a8aa64d006)
te
Copyright 1994-2008 The FreeBSD Project. All Rights Reserved.
Copyright (c) 1982, 1986, 1993 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution.
Portions Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
TIMERADD 3C "Jun 12, 2008"
NAME
timeradd, timersub, timerclear, timerisset, timercmp - operations on timeval structures
SYNOPSIS

#include <sys/time.h>

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

void timerclear(struct timeval *tvp);

int timercmp(struct timeval *a, struct timeval *b, CMP);

int timerisset(struct timeval *tvp);

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

These macros are provided for manipulating timeval structures for use with gettimeofday(3C) and settimeofday(3C) operands. The structure is defined in <sys/time.h> as:

struct timeval {
 long tv_sec; /* seconds since Jan. 1, 1970 */
 long tv_usec; /* and microseconds */
};

The timeradd() macro adds the time information stored in a to b and stores the resulting timeval in res. The results are simplified such that the value of res\(->tv_usec is always less than 1,000,000 (1 second).

The timersub() macro subtracts the time information stored in b from a and stores the resulting timeval in res.

The timerclear() macro initializes tvp to midnight (0 hour) January 1st, 1970 (the Epoch).

The timerisset() macro returns true if tvp is set to any time value other than the Epoch.

The timercmp() macro compares a to b using the form a CMP b, where CMP is one of <, <=, ==, !=, >=, or >.

USAGE

These macros are not available in function form. All of these macros evaluate their arguments more than once. If parameters passed to these macros are expressions with side effects, the results are undefined.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe with Exceptions
SEE ALSO

gettimeofday(3C), attributes(5)