Annotation of embedaddon/ntp/include/ntp_syscall.h, revision 1.1

1.1     ! misho       1: /*
        !             2:  * ntp_syscall.h - various ways to perform the ntp_adjtime() and ntp_gettime()
        !             3:  *                system calls.
        !             4:  */
        !             5: 
        !             6: #ifndef NTP_SYSCALL_H
        !             7: #define NTP_SYSCALL_H
        !             8: 
        !             9: #ifdef HAVE_CONFIG_H
        !            10: #include <config.h>
        !            11: #endif
        !            12: 
        !            13: #ifdef HAVE_SYS_TIMEX_H
        !            14: # include <sys/timex.h>
        !            15: #endif
        !            16: 
        !            17: #ifndef NTP_SYSCALLS_LIBC
        !            18: #ifdef NTP_SYSCALLS_STD
        !            19: # define ntp_adjtime(t)                syscall(SYS_ntp_adjtime, (t))
        !            20: # define ntp_gettime(t)                syscall(SYS_ntp_gettime, (t))
        !            21: #else /* !NTP_SYSCALLS_STD */
        !            22: # ifdef HAVE___ADJTIMEX
        !            23: extern int     __adjtimex      (struct timex *);
        !            24: 
        !            25: #  define ntp_adjtime(t)       __adjtimex((t))
        !            26: 
        !            27: #ifndef HAVE_STRUCT_NTPTIMEVAL
        !            28: struct ntptimeval
        !            29: {
        !            30:   struct timeval time;  /* current time (ro) */
        !            31:   long int maxerror;    /* maximum error (us) (ro) */
        !            32:   long int esterror;    /* estimated error (us) (ro) */
        !            33: };
        !            34: #endif
        !            35: 
        !            36: static inline int
        !            37: ntp_gettime(
        !            38:        struct ntptimeval *ntv
        !            39:        )
        !            40: {
        !            41:        struct timex tntx;
        !            42:        int result;
        !            43: 
        !            44:        tntx.modes = 0;
        !            45:        result = __adjtimex (&tntx);
        !            46:        ntv->time = tntx.time;
        !            47:        ntv->maxerror = tntx.maxerror;
        !            48:        ntv->esterror = tntx.esterror;
        !            49: #ifdef NTP_API
        !            50: # if NTP_API > 3
        !            51:        ntv->tai = tntx.tai;
        !            52: # endif
        !            53: #endif
        !            54:        return(result);
        !            55: }
        !            56: # else /* !HAVE__ADJTIMEX */
        !            57: #  ifdef HAVE___NTP_GETTIME
        !            58: #   define ntp_gettime(t)      __ntp_gettime((t))
        !            59: #  endif
        !            60: # endif /* !HAVE_ADJTIMEX */
        !            61: #endif /* !NTP_SYSCALLS_STD */
        !            62: #endif /* !NTP_SYSCALLS_LIBC */
        !            63: 
        !            64: #endif /* NTP_SYSCALL_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>