arm64: mte: change ASYNC and SYNC TCF settings into bitfields
[linux-2.6-microblaze.git] / include / uapi / linux / time_types.h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _UAPI_LINUX_TIME_TYPES_H
3 #define _UAPI_LINUX_TIME_TYPES_H
4
5 #include <linux/types.h>
6
7 struct __kernel_timespec {
8         __kernel_time64_t       tv_sec;                 /* seconds */
9         long long               tv_nsec;                /* nanoseconds */
10 };
11
12 struct __kernel_itimerspec {
13         struct __kernel_timespec it_interval;    /* timer period */
14         struct __kernel_timespec it_value;       /* timer expiration */
15 };
16
17 /*
18  * legacy timeval structure, only embedded in structures that
19  * traditionally used 'timeval' to pass time intervals (not absolute
20  * times). Do not add new users. If user space fails to compile
21  * here, this is probably because it is not y2038 safe and needs to
22  * be changed to use another interface.
23  */
24 #ifndef __kernel_old_timeval
25 struct __kernel_old_timeval {
26         __kernel_long_t tv_sec;
27         __kernel_long_t tv_usec;
28 };
29 #endif
30
31 struct __kernel_old_timespec {
32         __kernel_old_time_t     tv_sec;         /* seconds */
33         long                    tv_nsec;        /* nanoseconds */
34 };
35
36 struct __kernel_old_itimerval {
37         struct __kernel_old_timeval it_interval;/* timer interval */
38         struct __kernel_old_timeval it_value;   /* current value */
39 };
40
41 struct __kernel_sock_timeval {
42         __s64 tv_sec;
43         __s64 tv_usec;
44 };
45
46 #endif /* _UAPI_LINUX_TIME_TYPES_H */