ntp_syscall.h revision 82498
1234287Sdim/* 2234287Sdim * ntp_syscall.h - various ways to perform the ntp_adjtime() and ntp_gettime() 3234287Sdim * system calls. 4234287Sdim */ 5234287Sdim 6234287Sdim#ifndef NTP_SYSCALL_H 7234287Sdim#define NTP_SYSCALL_H 8234287Sdim 9234287Sdim#ifdef HAVE_CONFIG_H 10234287Sdim#include <config.h> 11234287Sdim#endif 12234287Sdim 13234287Sdim#ifdef HAVE_SYS_TIMEX_H 14234287Sdim# include <sys/timex.h> 15249423Sdim#endif 16234287Sdim 17234287Sdim#ifdef NTP_SYSCALLS_STD 18249423Sdim# define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t)) 19234287Sdim# define ntp_gettime(t) syscall(SYS_ntp_gettime, (t)) 20234287Sdim#else /* !NTP_SYSCALLS_STD */ 21234287Sdim# ifdef HAVE___ADJTIMEX 22234287Sdimextern int __adjtimex P((struct timex *)); 23234287Sdim 24234287Sdim# define ntp_adjtime(t) __adjtimex((t)) 25234287Sdim 26234287Sdimstatic inline int 27234287Sdimntp_gettime( 28234287Sdim struct ntptimeval *ntv 29234287Sdim ) 30234287Sdim{ 31234287Sdim struct timex tntx; 32234287Sdim int result; 33234287Sdim 34234287Sdim tntx.modes = 0; 35234287Sdim result = __adjtimex (&tntx); 36234287Sdim ntv->time = tntx.time; 37234287Sdim ntv->maxerror = tntx.maxerror; 38234287Sdim ntv->esterror = tntx.esterror; 39234287Sdim#ifdef NTP_API 40234287Sdim# if NTP_API > 3 41234287Sdim ntv->tai = tntx.tai; 42234287Sdim# endif 43234287Sdim#endif 44234287Sdim return(result); 45234287Sdim} 46234287Sdim# else /* !HAVE__ADJTIMEX */ 47234287Sdim# ifdef HAVE___NTP_GETTIME 48234287Sdim# define ntp_gettime(t) __ntp_gettime((t)) 49234287Sdim# endif 50234287Sdim# endif /* !HAVE_ADJTIMEX */ 51234287Sdim#endif /* !NTP_SYSCALLS_STD */ 52234287Sdim 53234287Sdim#endif /* NTP_SYSCALL_H */ 54234287Sdim