TIME_SECOND(9) BSD Kernel Developer's Manual TIME_SECOND(9)
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 timeval 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 microseconds 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), timeval(3), hardclock(9), hz(9)
BSD
March 13, 2008 BSD