Blame view

include/linux/time32.h 1.75 KB
5dbf20127   Arnd Bergmann   time: Move time_t...
1
2
3
4
5
6
7
8
9
10
11
12
  #ifndef _LINUX_TIME32_H
  #define _LINUX_TIME32_H
  /*
   * These are all interfaces based on the old time_t definition
   * that overflows in 2038 on 32-bit architectures. New code
   * should use the replacements based on time64_t and timespec64.
   *
   * Any interfaces in here that become unused as we migrate
   * code to time64_t should get removed.
   */
  
  #include <linux/time64.h>
4d5f007ee   Arnd Bergmann   time: make adjtim...
13
  #include <linux/timex.h>
5dbf20127   Arnd Bergmann   time: Move time_t...
14

9a4162316   Vincenzo Frascino   linux/time32.h: E...
15
  #include <vdso/time32.h>
9afc5eee6   Arnd Bergmann   y2038: globally r...
16
17
18
19
20
  
  struct old_itimerspec32 {
  	struct old_timespec32 it_interval;
  	struct old_timespec32 it_value;
  };
4faea239e   Arnd Bergmann   y2038: utimes: Re...
21
22
23
24
  struct old_utimbuf32 {
  	old_time32_t	actime;
  	old_time32_t	modtime;
  };
4d5f007ee   Arnd Bergmann   time: make adjtim...
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  struct old_timex32 {
  	u32 modes;
  	s32 offset;
  	s32 freq;
  	s32 maxerror;
  	s32 esterror;
  	s32 status;
  	s32 constant;
  	s32 precision;
  	s32 tolerance;
  	struct old_timeval32 time;
  	s32 tick;
  	s32 ppsfreq;
  	s32 jitter;
  	s32 shift;
  	s32 stabil;
  	s32 jitcnt;
  	s32 calcnt;
  	s32 errcnt;
  	s32 stbcnt;
  	s32 tai;
  
  	s32:32; s32:32; s32:32; s32:32;
  	s32:32; s32:32; s32:32; s32:32;
  	s32:32; s32:32; s32:32;
  };
9afc5eee6   Arnd Bergmann   y2038: globally r...
51
52
53
54
55
56
  extern int get_old_timespec32(struct timespec64 *, const void __user *);
  extern int put_old_timespec32(const struct timespec64 *, void __user *);
  extern int get_old_itimerspec32(struct itimerspec64 *its,
  			const struct old_itimerspec32 __user *uits);
  extern int put_old_itimerspec32(const struct itimerspec64 *its,
  			struct old_itimerspec32 __user *uits);
ead25417f   Deepa Dinamani   timex: use __kern...
57
58
59
  struct __kernel_timex;
  int get_old_timex32(struct __kernel_timex *, const struct old_timex32 __user *);
  int put_old_timex32(struct old_timex32 __user *, const struct __kernel_timex *);
9afc5eee6   Arnd Bergmann   y2038: globally r...
60

5dbf20127   Arnd Bergmann   time: Move time_t...
61
  /**
412c53a68   Arnd Bergmann   y2038: remove unu...
62
   * ns_to_kernel_old_timeval - Convert nanoseconds to timeval
5dbf20127   Arnd Bergmann   time: Move time_t...
63
64
65
66
   * @nsec:	the nanoseconds value to be converted
   *
   * Returns the timeval representation of the nsec parameter.
   */
a84d11691   Arnd Bergmann   y2038: Introduce ...
67
  extern struct __kernel_old_timeval ns_to_kernel_old_timeval(s64 nsec);
5dbf20127   Arnd Bergmann   time: Move time_t...
68
69
  
  #endif