NAME
time_second,
time_uptime,
boottime —
system time
variables
SYNOPSIS
#include <sys/time.h>
extern time_t time_second;
extern time_t time_uptime;
#include <sys/kernel.h>
extern struct timespec boottime;
DESCRIPTION
The
time_second variable is the system's “wall
time” clock. It is set at boot by
inittodr(9), and is updated
periodically via
timecounter(9) framework,
and also updated by the
settimeofday(2) system
call.
The
time_uptime variable is a monotonically increasing
system clock. It is set at boot, and is updated periodically. (It is not
updated by
settimeofday(2).)
The
boottime variable holds the system boot time. It is
set at system boot, and is updated when the system time is adjusted with
settimeofday(2). The
variable may be read and written without special precautions.
All of these variables contain times expressed in seconds and nanoseconds since
midnight (0 hour), January 1, 1970.
The
bintime(9),
getbintime(9),
microtime(9),
getmicrotime(9),
nanotime(9), and
getnanotime(9) functions
can be used to get the current time more accurately and in an atomic manner.
Similarly, the
binuptime(9),
getbinuptime(9),
microuptime(9),
getmicrouptime(9),
nanouptime(9), and
getnanouptime(9)
functions can be used to get the time elapsed since boot more accurately and
in an atomic manner.
SEE ALSO
clock_settime(2),
ntp_adjtime(2),
timespec(3),
hardclock(9),
hz(9)