timex.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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_TAI ADJ_TAI
  46. #define MOD_MICRO ADJ_MICRO
  47. #define MOD_NANO ADJ_NANO
  48. #define STA_PLL 0x0001
  49. #define STA_PPSFREQ 0x0002
  50. #define STA_PPSTIME 0x0004
  51. #define STA_FLL 0x0008
  52. #define STA_INS 0x0010
  53. #define STA_DEL 0x0020
  54. #define STA_UNSYNC 0x0040
  55. #define STA_FREQHOLD 0x0080
  56. #define STA_PPSSIGNAL 0x0100
  57. #define STA_PPSJITTER 0x0200
  58. #define STA_PPSWANDER 0x0400
  59. #define STA_PPSERROR 0x0800
  60. #define STA_CLOCKERR 0x1000
  61. #define STA_NANO 0x2000
  62. #define STA_MODE 0x4000
  63. #define STA_CLK 0x8000
  64. #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
  65. STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
  66. #define TIME_OK 0
  67. #define TIME_INS 1
  68. #define TIME_DEL 2
  69. #define TIME_OOP 3
  70. #define TIME_WAIT 4
  71. #define TIME_ERROR 5
  72. #define TIME_BAD TIME_ERROR
  73. #define MAXTC 6
  74. int adjtimex(struct timex *);
  75. int clock_adjtime(clockid_t, struct timex *);
  76. #ifdef __cplusplus
  77. }
  78. #endif
  79. #endif