SECONDS(9)                                             SECONDS(9)

     NAME
          seconds, ticks, fastticks, HZ, MS2HZ, MS2TK, TK2MS, TK2SEC -
          kernel times and time conversions

     SYNOPSIS
          long    seconds(void)

          vlong   fastticks(uvlong *hz)

          #define HZ          ...
          #define MS2HZ       (1000/HZ)
          #define TK2SEC(t)   ((t)/HZ)
          #define TK2MS(t)    ((t)*(1000/HZ))

     DESCRIPTION
          Seconds returns the system's idea of the current time as the
          number of seconds since the start of the epoch (00:00:00
          GMT, January 1, 1970).

          The ticks field of the Mach structure returns the number of
          system-dependent clock ticks on the given processor since
          system boot.  On a multiprocessor, MACHP(0) is sometimes
          used to provide a reference time, since the tick value might
          vary slightly across processors.

          Fastticks returns the number of ticks since boot as measured
          by the fastest clock provided by the platform.  The fre-
          quency of the clock, in ticks per second, is returned
          through hz, unless it is nil.

          The system clock frequencies are platform-dependent.  Sev-
          eral symbolic constants and macro functions are defined by
          the file mem.h to convert between different time units:

          HZ         The number of clock ticks per second.

          MS2HZ      Milliseconds per clock tick.

          TK2SEC(t)  Convert t clock ticks to seconds (truncating not
                     rounding).

          TK2MS(t)   Convert t clock ticks to milliseconds.

     SOURCE
          /sys/src/9/*/mem.h
          /sys/src/9/*/clock.c
          /sys/src/9/*/devarch.c
          /sys/src/9/*/timer.c
          /sys/src/9/port/tod.c