Provided by: freebsd-manpages_10.1~RC1-1_all bug


     boottime, time_second, time_uptime — system time variables


     #include <sys/time.h>

     extern struct timeval boottime;
     extern time_t time_second;
     extern time_t time_uptime;


     The boottime variable holds the system boot time.

     The time_second variable is the system's “wall time” clock to the second.

     The time_uptime variable is the number of seconds since boot.

     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
     elapse since boot more accurately and in an atomic manner.  The boottime variable may be
     read and written without special precautions.


     clock_settime(2), ntp_adjtime(2), settimeofday(2), bintime(9), binuptime(9), getbintime(9),
     getbinuptime(9), getmicrotime(9), getmicrouptime(9), getnanotime(9), getnanouptime(9),
     microtime(9), microuptime(9), nanotime(9), nanouptime(9)

     Poul-Henning Kamp, "Timecounters: Efficient and precise timekeeping in SMP kernels",
     Proceedings of EuroBSDCon 2002, Amsterdam, /usr/share/doc/papers/timecounter.ascii.gz.

     Marshall Kirk McKusick and George V. Neville-Neil, The Design and Implementation of the
     FreeBSD Operating System, Addison-Wesley, 57-61,65-66, July 2004.