Provided by: freebsd-manpages_6.2-1_all bug


      ntp_gettime - NTP user application interface


      #include <sys/timex.h>
      ntp_gettime(struct ntptimeval *ntv);


      The time returned by ntp_gettime() is in a timespec structure, but may be
      in either microsecond (seconds and microseconds) or nanosecond (seconds
      and nanoseconds) format.  The particular format in use is determined by
      the STA_NANO bit of the status word returned by the ntp_adjtime() system
      call.  ntp_gettime() has as argument a pointer to the ntptimeval struc‐
      ture with the following members:
      struct ntptimeval {
              struct timespec time;   /* current time (ns) (ro) */
              long maxerror;          /* maximum error (us) (ro) */
              long esterror;          /* estimated error (us) (ro) */
              long tai;               /* TAI-UTC offset */
              int time_state;         /* time status */
      These are understood as:
      time        Current time (read-only).
      maxerror    Maximum error in microseconds (read-only).
      esterror    Estimated error in microseconds (read-only).
      tai         Offset in seconds between the TAI and UTC time scales.  This
                  offset is published twice a year and is an integral number of
                  seconds between TAI (which does not have leap seconds) and
                  UTC (which does).  ntpd(8) or some other agent maintains this
                  value.  A value of 0 means unknown.  As of the date of the
                  manual page, the offset is 32 seconds.
      time_state  Current time status.
      The ntp_gettime() function returns the value 0 if successful; otherwise
      the value -1 is returned and the global variable errno is set to indicate
      the error.
      Possible states of the clock are:
      TIME_OK     Everything okay, no leap second warning.
      TIME_INS    Positive leap second warning.  At the end of the day, an
                  additional second will be inserted after 23:59:59.
      TIME_DEL    Negative leap second warning.  At the end of the day,
                  23:59:59 is skipped.
      TIME_OOP    Leap second in progress.
      TIME_WAIT   Leap second has occurred.
      TIME_ERROR  Clock not synchronized.
      ntp_adjtime(2), ntpd(8)


      This manual page was written by Tom Rhodes 〈〉.