1 /* Copyright (C) 1995-1997,1999,2007,2009,2011 Free Software Foundation, Inc. 2 This file is part of the GNU C Library. 3 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 9 The GNU C Library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with the GNU C Library; if not, see 16 <http://www.gnu.org/licenses/>. */ 17 18 #ifndef _SYS_TIMEX_H 19 #define _SYS_TIMEX_H 1 20 21 #include <features.h> 22 #include <sys/time.h> 23 24 /* These definitions from linux/timex.h as of 2.6.30. */ 25 26 #include <bits/timex.h> 27 28 #define NTP_API 4 /* NTP API version */ 29 30 struct ntptimeval 31 { 32 struct timeval time; /* current time (ro) */ 33 long int maxerror; /* maximum error (us) (ro) */ 34 long int esterror; /* estimated error (us) (ro) */ 35 long int tai; /* TAI offset (ro) */ 36 37 long int __unused1; 38 long int __unused2; 39 long int __unused3; 40 long int __unused4; 41 }; 42 43 /* Clock states (time_state) */ 44 #define TIME_OK 0 /* clock synchronized, no leap second */ 45 #define TIME_INS 1 /* insert leap second */ 46 #define TIME_DEL 2 /* delete leap second */ 47 #define TIME_OOP 3 /* leap second in progress */ 48 #define TIME_WAIT 4 /* leap second has occurred */ 49 #define TIME_ERROR 5 /* clock not synchronized */ 50 #define TIME_BAD TIME_ERROR /* bw compat */ 51 52 /* Maximum time constant of the PLL. */ 53 #define MAXTC 6 54 55 __BEGIN_DECLS 56 57 extern int __adjtimex (struct timex *__ntx) __THROW; 58 extern int adjtimex (struct timex *__ntx) __THROW; 59 60 #ifdef __REDIRECT_NTH 61 extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), 62 ntp_gettimex); 63 #else 64 extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW; 65 # define ntp_gettime ntp_gettimex 66 #endif 67 extern int ntp_adjtime (struct timex *__tntx) __THROW; 68 69 __END_DECLS 70 71 #endif /* sys/timex.h */ 72