glibc (2.38)

(root)/
include/
sys/
timex.h
       1  /* Copyright (C) 1995-2023 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     <https://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 __glibc_reserved1;
      38    long int __glibc_reserved2;
      39    long int __glibc_reserved3;
      40    long int __glibc_reserved4;
      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  #ifndef __USE_TIME_BITS64
      58  extern int adjtimex (struct timex *__ntx) __THROW __nonnull ((1));
      59  extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW __nonnull ((1));
      60  
      61  # ifdef __REDIRECT_NTH
      62  extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv),
      63                             ntp_gettimex) __nonnull ((1));
      64  # else
      65  #  define ntp_gettime ntp_gettimex
      66  # endif
      67  extern int ntp_adjtime (struct timex *__tntx) __THROW __nonnull ((1));
      68  #else
      69  # ifdef __REDIRECT_NTH
      70  extern int __REDIRECT_NTH (adjtimex, (struct timex *__ntx),
      71                             ___adjtimex64) __nonnull ((1));
      72  extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv),
      73                             __ntp_gettime64) __nonnull ((1));
      74  extern int __REDIRECT_NTH (ntp_gettimex, (struct ntptimeval *__ntv),
      75                             __ntp_gettimex64) __nonnull ((1));
      76  extern int __REDIRECT_NTH (ntp_adjtime, (struct timex *__ntx),
      77                             ___adjtimex64) __nonnull ((1));
      78  # else
      79  #  define adjtimex ___adjtimex64
      80  #  define ntp_adjtime ___adjtimex64
      81  #  define ntp_gettime __ntp_gettime64
      82  #  define ntp_gettimex __ntp_gettimex64
      83  # endif
      84  #endif
      85  
      86  __END_DECLS
      87  
      88  #endif /* sys/timex.h */