TIME(9)                   BSD Kernel Developer's Manual                  TIME(9)

     boottime, time_second, time_uptime — system time variables

     #include <sys/time.h>

     extern struct timeval boottime;
     extern struct time_t time_second;
     extern struct timeval 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 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,

     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.

BSD                            September 17, 2004                            BSD