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

NAME

     ntp_gettime - NTP user application interface

SYNOPSIS

     #include <sys/timex.h>

     int
     ntp_gettime(struct ntptimeval *ntv);

DESCRIPTION

     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
     structure 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.

RETURN VALUES

     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.

SEE ALSO

     ntp_adjtime(2), ntpd(8)

     http://www.bipm.fr/enus/5_Scientific/c_time/time_1.html

     http://www.boulder.nist.gov/timefreq/general/faq.htm

     ftp://time.nist.gov/pub/leap-seconds.list

AUTHORS

     This manual page was written by Tom Rhodes 〈trhodes@FreeBSD.org〉.