NAME
ntp_gettime, ntp_gettimex - 시간 매개변수 얻기 (NTP 데몬 인터페이스)
SYNOPSIS
#include <sys/timex.h>
int ntp_gettime(struct ntptimeval *ntv);
int ntp_gettimex(struct ntptimeval *ntv);
DESCRIPTION
이 두 API는 모두 다음 구조체 타입인 ntv
인자를 통해 호출자에게 정보를 반환한다.
struct ntptimeval {
struct timeval time; /* 현재 시간 */
long maxerror; /* 최대 오차 */
long esterror; /* 추정 오차 */
long tai; /* TAI 오프셋 */
/* 향후 확장을 위한 추가 패딩 바이트 */
};
이 구조체의 필드들은 다음과 같다.
time
- 현재 시간.
timeval
구조체로 표현.struct timeval { time_t tv_sec; /* 에포크 이후 초 */ suseconds_t tv_usec; /* 마이크로초 */ };
maxerror
- 최대 오차. 마이크로초 단위. ntp_adjtime(3)으로 이 값을 초기화할 수 있으며, 주기적으로 (리눅스에선 매초마다) 증가하되 상한(커널 상수
NTP_PHASE_MAX
, 16,000)이 있다. esterror
- 추정 오차. 마이크로초 단위. 시스템 클럭과 실제 시간의 추산 차이를 담도록 ntp_adjtime(3)으로 이 값을 설정할 수 있다. 이 값은 커널 내에선 쓰이지 않는다.
tai
- TAI(국제원자시) 오프셋.
ntp_gettime()
은 ntptimeval
구조체의 time
, maxerror
, esterror
필드를 채워서 반환한다.
ntp_gettimex()
는 ntp_gettime()
과 같은 작업을 수행하되 tai
필드로도 정보를 반환한다.
RETURN VALUE
ntp_gettime()
및 ntp_gettimex()
의 반환 값은 adjtimex(2)에서와 같다. 포인터 인자가 올바르면 이 함수들은 항상 성공한다.
VERSIONS
glibc 2.1부터 ntp_gettime()
함수가 사용 가능하다. glibc 2.12부터 ntp_gettimex()
함수가 사용 가능하다.
ATTRIBUTES
이 절에서 사용하는 용어들에 대한 설명은 attributes(7)를 보라.
인터페이스 | 속성 | 값 |
---|---|---|
ntp_gettime() , ntp_gettimex() |
스레드 안전성 | MT-Safe |
CONFORMING TO
ntp_gettime()
은 NTP Kernel Application Program Interface에 기술돼 있다. ntp_gettimex()
는 GNU 확장이다.
SEE ALSO
adjtimex(2), ntp_adjtime(3), time(7)
NTP "Kernel Application Program Interface" (http://www.slac.stanford.edu/comp/unix/package/rtems/src/ssrlApps/ntpNanoclock/api.htm)
2021-03-22