Name

ntp_gettime, ntp_gettimex — get time parameters (NTP daemon interface)

Synopsis

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

DESCRIPTION

Both of these APIs return information to the caller via the ntv argument, a structure of the following type:

struct ntptimeval {
  struct timeval   time;
/* Current time */
  long   maxerror;
/* Maximum error */
  long   esterror;
/* Estimated error */
  long   tai;
/* TAI offset */
/* Further padding bytes allowing for future expansion */
};

The fields of this structure are as follows:

time

The current time, expressed as a timeval structure:

struct timeval {
  time_t   tv_sec;
/* Seconds since the Epoch */
  suseconds_t   tv_usec;
/* Microseconds */
};
maxerror

Maximum error, in microseconds. This value can be initialized by ntp_adjtime(3), and is increased periodically (on Linux: each second), but is clamped to an upper limit (the kernel constant NTP_PHASE_MAX, with a value of 16,000).

esterror

Estimated error, in microseconds. This value can be set via ntp_adjtime(3) to contain an estimate of the difference between the system clock and the true time. This value is not used inside the kernel.

tai

TAI (Atomic International Time) offset.

ntp_gettime() returns an ntptimeval structure in which the time, maxerror, and esterror fields are filled in.

ntp_gettimex() performs the same task as ntp_gettime(), but also returns information in the tai field.

RETURN VALUE

The return values for ntp_gettime() and ntp_gettimex() are as for adjtimex(2). Given a correct pointer argument, these functions always succeed.

VERSIONS

The ntp_gettime() function is available since glibc 2.1. The ntp_gettimex() function is available since glibc 2.12.

ATTRIBUTES

For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
ntp_gettime(), ntp_gettimex() Thread safety MT-Safe

CONFORMING TO

ntp_gettime() is described in the NTP Kernel Application Program Interface. ntp_gettimex() is a GNU extension.

SEE ALSO

adjtimex(2), ntp_adjtime(3), time(7)

NTP "Kernel Application Program Interface"

COLOPHON

This page is part of release 5.11 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man−pages/.


  Copyright (c) 2016 by Michael Kerrisk <mtk.manpagesgmail.com>

%%%LICENSE_START(VERBATIM)
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

Since the Linux kernel and libraries are constantly changing, this
manual page may be incorrect or out-of-date.  The author(s) assume no
responsibility for errors or omissions, or for damages resulting from
the use of the information contained herein.  The author(s) may not
have taken the same level of care in the production of this manual,
which is licensed free of charge, as they might when working
professionally.

Formatted or processed versions of this manual, if unaccompanied by
the source, must acknowledge the copyright and authors of this work.
%%%LICENSE_END