timex.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #ifndef _SYS_TIMEX_H
  2. #define _SYS_TIMEX_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define __NEED_clockid_t
  7. #include <bits/alltypes.h>
  8. #include <sys/time.h>
  9. struct ntptimeval {
  10. struct timeval time;
  11. long maxerror, esterror;
  12. };
  13. struct timex {
  14. unsigned modes;
  15. long offset, freq, maxerror, esterror;
  16. int status;
  17. long constant, precision, tolerance;
  18. struct timeval time;
  19. long tick, ppsfreq, jitter;
  20. int shift;
  21. long stabil, jitcnt, calcnt, errcnt, stbcnt;
  22. int tai;
  23. int __padding[11];
  24. };
  25. #define ADJ_OFFSET 0x0001
  26. #define ADJ_FREQUENCY 0x0002
  27. #define ADJ_MAXERROR 0x0004
  28. #define ADJ_ESTERROR 0x0008
  29. #define ADJ_STATUS 0x0010
  30. #define ADJ_TIMECONST 0x0020
  31. #define ADJ_TAI 0x0080
  32. #define ADJ_MICRO 0x1000
  33. #define ADJ_NANO 0x2000
  34. #define ADJ_TICK 0x4000
  35. #define ADJ_OFFSET_SINGLESHOT 0x8001
  36. #define ADJ_OFFSET_SS_READ 0xa001
  37. #define MOD_OFFSET ADJ_OFFSET
  38. #define MOD_FREQUENCY ADJ_FREQUENCY
  39. #define MOD_MAXERROR ADJ_MAXERROR
  40. #define MOD_ESTERROR ADJ_ESTERROR
  41. #define MOD_STATUS ADJ_STATUS
  42. #define MOD_TIMECONST ADJ_TIMECONST
  43. #define MOD_CLKB ADJ_TICK
  44. #define MOD_CLKA ADJ_OFFSET_SINGLESHOT
  45. #define MOD_MICRO ADJ_MICRO
  46. #define MOD_NANO ADJ_NANO
  47. #define STA_PLL 0x0001
  48. #define STA_PPSFREQ 0x0002
  49. #define STA_PPSTIME 0x0004
  50. #define STA_FLL 0x0008
  51. #define STA_INS 0x0010
  52. #define STA_DEL 0x0020
  53. #define STA_UNSYNC 0x0040
  54. #define STA_FREQHOLD 0x0080
  55. #define STA_PPSSIGNAL 0x0100
  56. #define STA_PPSJITTER 0x0200
  57. #define STA_PPSWANDER 0x0400
  58. #define STA_PPSERROR 0x0800
  59. #define STA_CLOCKERR 0x1000
  60. #define STA_NANO 0x2000
  61. #define STA_MODE 0x4000
  62. #define STA_CLK 0x8000
  63. #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
  64. STA_PPSERROR | STA_CLOCKERR)
  65. #define TIME_OK 0
  66. #define TIME_INS 1
  67. #define TIME_DEL 2
  68. #define TIME_OOP 3
  69. #define TIME_WAIT 4
  70. #define TIME_ERROR 5
  71. #define TIME_BAD TIME_ERROR
  72. #define MAXTC 6
  73. int adjtimex(struct timex *);
  74. int clock_adjtime(clockid_t, struct timex *);
  75. #ifdef __cplusplus
  76. }
  77. #endif
  78. #endif