| 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 |
|
| 12 | #include <linux/time64.h>
|
| 13 | #include <linux/timex.h>
|
| 14 |
|
| 15 | #include <vdso/time32.h>
|
| 16 |
|
| 17 | struct old_itimerspec32 {
|
| 18 | struct old_timespec32 it_interval;
|
| 19 | struct old_timespec32 it_value;
|
| 20 | };
|
| 21 |
|
| 22 | struct old_utimbuf32 {
|
| 23 | old_time32_t actime;
|
| 24 | old_time32_t modtime;
|
| 25 | };
|
| 26 |
|
| 27 | struct old_timex32 {
|
| 28 | u32 modes;
|
| 29 | s32 offset;
|
| 30 | s32 freq;
|
| 31 | s32 maxerror;
|
| 32 | s32 esterror;
|
| 33 | s32 status;
|
| 34 | s32 constant;
|
| 35 | s32 precision;
|
| 36 | s32 tolerance;
|
| 37 | struct old_timeval32 time;
|
| 38 | s32 tick;
|
| 39 | s32 ppsfreq;
|
| 40 | s32 jitter;
|
| 41 | s32 shift;
|
| 42 | s32 stabil;
|
| 43 | s32 jitcnt;
|
| 44 | s32 calcnt;
|
| 45 | s32 errcnt;
|
| 46 | s32 stbcnt;
|
| 47 | s32 tai;
|
| 48 |
|
| 49 | s32:32; s32:32; s32:32; s32:32;
|
| 50 | s32:32; s32:32; s32:32; s32:32;
|
| 51 | s32:32; s32:32; s32:32;
|
| 52 | };
|
| 53 |
|
| 54 | extern int get_old_timespec32(struct timespec64 *, const void __user *);
|
| 55 | extern int put_old_timespec32(const struct timespec64 *, void __user *);
|
| 56 | extern int get_old_itimerspec32(struct itimerspec64 *its,
|
| 57 | const struct old_itimerspec32 __user *uits);
|
| 58 | extern int put_old_itimerspec32(const struct itimerspec64 *its,
|
| 59 | struct old_itimerspec32 __user *uits);
|
| 60 | struct __kernel_timex;
|
| 61 | int get_old_timex32(struct __kernel_timex *, const struct old_timex32 __user *);
|
| 62 | int put_old_timex32(struct old_timex32 __user *, const struct __kernel_timex *);
|
| 63 |
|
| 64 | |
| 65 | * ns_to_kernel_old_timeval - Convert nanoseconds to timeval
|
| 66 | * @nsec: the nanoseconds value to be converted
|
| 67 | *
|
| 68 | * Returns the timeval representation of the nsec parameter.
|
| 69 |
|
| 70 | extern struct __kernel_old_timeval ns_to_kernel_old_timeval(s64 nsec);
|
| 71 |
|
| 72 | #endif
|