Commit feb558c2 authored by David S. Miller's avatar David S. Miller

Merge branch 'uapi-Add-a-new-header-for-time-types'

Deepa Dinamani says:

====================
uapi: Add a new header for time types

The series aims at adding a new time header: time_types.h.  This header
is what will eventually hold all the uapi time types that we plan to
leave across the interfaces after the y2038 cleanup.

The series was discussed with Arnd Bergmann.

The second patch fixes the errqueue.h header, which has a dependency on
these types.

Note that there may be a trivial merge conflict with linux-next
c70a772f ("y2038: remove struct definition redirects").
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents a08ef41f 460a2db0
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#define _UAPI_LINUX_ERRQUEUE_H #define _UAPI_LINUX_ERRQUEUE_H
#include <linux/types.h> #include <linux/types.h>
#include <linux/time_types.h>
struct sock_extended_err { struct sock_extended_err {
__u32 ee_errno; __u32 ee_errno;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#define _UAPI_LINUX_TIME_H #define _UAPI_LINUX_TIME_H
#include <linux/types.h> #include <linux/types.h>
#include <linux/time_types.h>
#ifndef _STRUCT_TIMESPEC #ifndef _STRUCT_TIMESPEC
#define _STRUCT_TIMESPEC #define _STRUCT_TIMESPEC
...@@ -23,7 +23,6 @@ struct timezone { ...@@ -23,7 +23,6 @@ struct timezone {
int tz_dsttime; /* type of dst correction */ int tz_dsttime; /* type of dst correction */
}; };
/* /*
* Names of the interval timers, and structure * Names of the interval timers, and structure
* defining a timer setting: * defining a timer setting:
...@@ -42,39 +41,6 @@ struct itimerval { ...@@ -42,39 +41,6 @@ struct itimerval {
struct timeval it_value; /* current value */ struct timeval it_value; /* current value */
}; };
#ifndef __kernel_timespec
struct __kernel_timespec {
__kernel_time64_t tv_sec; /* seconds */
long long tv_nsec; /* nanoseconds */
};
#endif
#ifndef __kernel_itimerspec
struct __kernel_itimerspec {
struct __kernel_timespec it_interval; /* timer period */
struct __kernel_timespec it_value; /* timer expiration */
};
#endif
/*
* legacy timeval structure, only embedded in structures that
* traditionally used 'timeval' to pass time intervals (not absolute
* times). Do not add new users. If user space fails to compile
* here, this is probably because it is not y2038 safe and needs to
* be changed to use another interface.
*/
#ifndef __kernel_old_timeval
struct __kernel_old_timeval {
__kernel_long_t tv_sec;
__kernel_long_t tv_usec;
};
#endif
struct __kernel_sock_timeval {
__s64 tv_sec;
__s64 tv_usec;
};
/* /*
* The IDs of the various system clocks (for POSIX.1b interval timers): * The IDs of the various system clocks (for POSIX.1b interval timers):
*/ */
......
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_LINUX_TIME_TYPES_H
#define _UAPI_LINUX_TIME_TYPES_H
#include <linux/types.h>
#ifndef __kernel_timespec
struct __kernel_timespec {
__kernel_time64_t tv_sec; /* seconds */
long long tv_nsec; /* nanoseconds */
};
#endif
#ifndef __kernel_itimerspec
struct __kernel_itimerspec {
struct __kernel_timespec it_interval; /* timer period */
struct __kernel_timespec it_value; /* timer expiration */
};
#endif
/*
* legacy timeval structure, only embedded in structures that
* traditionally used 'timeval' to pass time intervals (not absolute
* times). Do not add new users. If user space fails to compile
* here, this is probably because it is not y2038 safe and needs to
* be changed to use another interface.
*/
#ifndef __kernel_old_timeval
struct __kernel_old_timeval {
__kernel_long_t tv_sec;
__kernel_long_t tv_usec;
};
#endif
struct __kernel_sock_timeval {
__s64 tv_sec;
__s64 tv_usec;
};
#endif /* _UAPI_LINUX_TIME_TYPES_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment