From b22da3d8526a935aa31e086e63f60ff3246cb61c Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Sat, 09 Dec 2023 07:24:11 +0000 Subject: [PATCH] add stmac read mac form eeprom --- kernel/include/uapi/linux/errqueue.h | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 deletions(-) diff --git a/kernel/include/uapi/linux/errqueue.h b/kernel/include/uapi/linux/errqueue.h index c015120..3c70e8a 100644 --- a/kernel/include/uapi/linux/errqueue.h +++ b/kernel/include/uapi/linux/errqueue.h @@ -3,6 +3,14 @@ #define _UAPI_LINUX_ERRQUEUE_H #include <linux/types.h> +#include <linux/time_types.h> + +/* RFC 4884: return offset to extension struct + validation */ +struct sock_ee_data_rfc4884 { + __u16 len; + __u8 flags; + __u8 reserved; +}; struct sock_extended_err { __u32 ee_errno; @@ -11,7 +19,10 @@ __u8 ee_code; __u8 ee_pad; __u32 ee_info; - __u32 ee_data; + union { + __u32 ee_data; + struct sock_ee_data_rfc4884 ee_rfc4884; + }; }; #define SO_EE_ORIGIN_NONE 0 @@ -30,15 +41,28 @@ #define SO_EE_CODE_TXTIME_INVALID_PARAM 1 #define SO_EE_CODE_TXTIME_MISSED 2 +#define SO_EE_RFC4884_FLAG_INVALID 1 + /** * struct scm_timestamping - timestamps exposed through cmsg * * The timestamping interfaces SO_TIMESTAMPING, MSG_TSTAMP_* * communicate network timestamps by passing this struct in a cmsg with - * recvmsg(). See Documentation/networking/timestamping.txt for details. + * recvmsg(). See Documentation/networking/timestamping.rst for details. + * User space sees a timespec definition that matches either + * __kernel_timespec or __kernel_old_timespec, in the kernel we + * require two structure definitions to provide both. */ struct scm_timestamping { +#ifdef __KERNEL__ + struct __kernel_old_timespec ts[3]; +#else struct timespec ts[3]; +#endif +}; + +struct scm_timestamping64 { + struct __kernel_timespec ts[3]; }; /* The type of scm_timestamping, passed in sock_extended_err ee_info. -- Gitblit v1.6.2