time32.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef _LINUX_TIME32_H
  2. #define _LINUX_TIME32_H
  3. /*
  4. * These are all interfaces based on the old time_t definition
  5. * that overflows in 2038 on 32-bit architectures. New code
  6. * should use the replacements based on time64_t and timespec64.
  7. *
  8. * Any interfaces in here that become unused as we migrate
  9. * code to time64_t should get removed.
  10. */
  11. #include <linux/time64.h>
  12. #include <linux/timex.h>
  13. #include <vdso/time32.h>
  14. struct old_itimerspec32 {
  15. struct old_timespec32 it_interval;
  16. struct old_timespec32 it_value;
  17. };
  18. struct old_utimbuf32 {
  19. old_time32_t actime;
  20. old_time32_t modtime;
  21. };
  22. struct old_timex32 {
  23. u32 modes;
  24. s32 offset;
  25. s32 freq;
  26. s32 maxerror;
  27. s32 esterror;
  28. s32 status;
  29. s32 constant;
  30. s32 precision;
  31. s32 tolerance;
  32. struct old_timeval32 time;
  33. s32 tick;
  34. s32 ppsfreq;
  35. s32 jitter;
  36. s32 shift;
  37. s32 stabil;
  38. s32 jitcnt;
  39. s32 calcnt;
  40. s32 errcnt;
  41. s32 stbcnt;
  42. s32 tai;
  43. s32:32; s32:32; s32:32; s32:32;
  44. s32:32; s32:32; s32:32; s32:32;
  45. s32:32; s32:32; s32:32;
  46. };
  47. extern int get_old_timespec32(struct timespec64 *, const void __user *);
  48. extern int put_old_timespec32(const struct timespec64 *, void __user *);
  49. extern int get_old_itimerspec32(struct itimerspec64 *its,
  50. const struct old_itimerspec32 __user *uits);
  51. extern int put_old_itimerspec32(const struct itimerspec64 *its,
  52. struct old_itimerspec32 __user *uits);
  53. struct __kernel_timex;
  54. int get_old_timex32(struct __kernel_timex *, const struct old_timex32 __user *);
  55. int put_old_timex32(struct old_timex32 __user *, const struct __kernel_timex *);
  56. /**
  57. * ns_to_kernel_old_timeval - Convert nanoseconds to timeval
  58. * @nsec: the nanoseconds value to be converted
  59. *
  60. * Returns the timeval representation of the nsec parameter.
  61. */
  62. extern struct __kernel_old_timeval ns_to_kernel_old_timeval(s64 nsec);
  63. #endif