MICROTIME(9)

NAME
microtime, getmicrotime, microuptime, getmicrouptime, nanotime, getnanotime, nanouptime, getnanouptime, bintime, binuptime - system clock

SYNOPSIS
#include <sys/time.h>
void
microtime(struct timeval *tv);
void
getmicrotime(struct timeval *tv);
void
microuptime(struct timeval *tv);
void
getmicrouptime(struct timeval *tv);
void
nanotime(struct timespec *tv);
void
getnanotime(struct timespec *tv);
void
nanouptime(struct timespec *tv);
void
getnanouptime(struct timespec *tv);
void
bintime(struct bintime *tv);
void
binuptime(struct bintime *tv);

DESCRIPTION
This family of functions return the system clock in various different formats. The functions with the "uptime" suffix return the monotonically increasing time since boot. The functions without "up" return UTC time. The various formats for the result are specified with:

bin result in struct bintime containing seconds and 64-bit fractions of seconds.

nano
    result in struct timespec containing seconds and nanoseconds

micro
    result in struct timeval containing seconds and microseconds

The functions with the "get" prefix return a less precise result, but much faster. They should be used where a precision of 10 msec is acceptable and where performance is critical. The functions without the "get" prefix return the best timestamp that can be produced in the given format.

CODE REFERENCES
The implementation of these functions is partly machine dependent, but the bulk of the code is in the file sys/kern/kern_clock.c.

SEE ALSO
settimeofday(2), hardclock(9), hz(9), inittodr(9), time_second(9)