Subject: [PATCH 6/8] socket: Add struct sock_timeval

From: Deepa Dinamani <[email-masked]>
Date: Fri, 23 Nov 2018 18:20:33 -0800

The new type is meant to be used as a y2038 safe structure
to be used as part of cmsg data.
Presently the SO_TIMESTAMP socket option uses struct timeval
for timestamps. This is not y2038 safe.
Subsequent patches in the series add new y2038 safe socket
option to be used in the place of SO_TIMESTAMP_OLD.
struct sock_timeval will be used as the timestamp format
at that time.

struct sock_timeval also maintains the same layout across
32 bit and 64 bit ABIs.

Signed-off-by: Deepa Dinamani <[email-masked]>
---
 include/uapi/linux/time.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/uapi/linux/time.h b/include/uapi/linux/time.h
index 04d5587f30d3..106f9398c285 100644
--- a/include/uapi/linux/time.h
+++ b/include/uapi/linux/time.h
@@ -70,6 +70,11 @@ struct __kernel_old_timeval {
 };
 #endif
 
+struct sock_timeval {
+	long long tv_sec;
+	long long tv_usec;
+};
+
 /*
  * The IDs of the various system clocks (for POSIX.1b interval timers):
  */
-- 
2.17.1