MICROUPTIME(9) | Kernel Developer's Manual | MICROUPTIME(9)

# NAME

`binuptime`, `getbinuptime`, `microuptime`, `getmicrouptime`, `nanouptime`, `getnanouptime` —
get the time elapsed since boot

# SYNOPSIS

`#include <sys/time.h>`

void
`binuptime`(struct bintime *bt);

void
`getbinuptime`(struct bintime *bt);

void
`microuptime`(struct timeval *tv);

void
`getmicrouptime`(struct timeval *tv);

void
`nanouptime`(struct timespec *ts);

void
`getnanouptime`(struct timespec *tsp);

# DESCRIPTION

The `binuptime`() and `getbinuptime`() functions store the time elapsed since boot as a struct bintime at the address specified by bt. The `microuptime`() and `getmicrouptime`() functions perform the same utility, but record the elapsed time as a struct timeval instead. Similarly the `nanouptime`() and `getnanouptime`() functions store the elapsed time as a struct timespec. The used structures are described in timeval(3).

The `binuptime`(), `microuptime`(), and `nanouptime`() functions always query the timecounter to return the current time as precisely as possible. Whereas `getbinuptime`(), `getmicrouptime`(), and `getnanouptime`() functions are abstractions which return a less precise, but faster to obtain, time.

The intent of the `getbinuptime`(), `getmicrouptime`(), and `getnanouptime`() functions is to enforce the user's preference for timer accuracy versus execution time. They should be used where a precision of 1/HZ (e.g., 10 msec on a 100HZ machine, see hz(9)) is acceptable or where performance is priority.

# SEE ALSO

microtime(9), timecounter(9), tvtohz(9)

# AUTHORS

This manual page was written by Kelly Yancey <kbyanc@posi.net>.

June 8, 2010 | NetBSD 9.2