>From 8023f3c19ea939a5b6e60e71734d489dcbfac2f9 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 31 Oct 2019 16:48:30 -0400 Subject: [PATCH 09/15] make time-related socket options overridable by arch bits files SO_RCVTIMEO and SO_SNDTIMEO already were, but only in aggregate with SO_DEBUG and all of the other low/traditional options that varied per arch. SO_TIMESTAMP* are newly overridable. the two groups have to be done separately since mips64 and powerpc64 will override the former but not the latter. at some point this should be cleaned up to use bits headers more idiomatically. --- include/sys/socket.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/include/sys/socket.h b/include/sys/socket.h index 318a98ef..6be699d9 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -182,8 +182,6 @@ struct linger { #define SO_PEERCRED 17 #define SO_RCVLOWAT 18 #define SO_SNDLOWAT 19 -#define SO_RCVTIMEO 20 -#define SO_SNDTIMEO 21 #define SO_ACCEPTCONN 30 #define SO_PEERSEC 31 #define SO_SNDBUFFORCE 32 @@ -192,6 +190,17 @@ struct linger { #define SO_DOMAIN 39 #endif +#ifndef SO_RCVTIMEO +#define SO_RCVTIMEO 20 +#define SO_SNDTIMEO 21 +#endif + +#ifndef SO_TIMESTAMP +#define SO_TIMESTAMP 29 +#define SO_TIMESTAMPNS 35 +#define SO_TIMESTAMPING 37 +#endif + #define SO_SECURITY_AUTHENTICATION 22 #define SO_SECURITY_ENCRYPTION_TRANSPORT 23 #define SO_SECURITY_ENCRYPTION_NETWORK 24 @@ -203,14 +212,10 @@ struct linger { #define SO_GET_FILTER SO_ATTACH_FILTER #define SO_PEERNAME 28 -#define SO_TIMESTAMP 29 #define SCM_TIMESTAMP SO_TIMESTAMP - #define SO_PASSSEC 34 -#define SO_TIMESTAMPNS 35 #define SCM_TIMESTAMPNS SO_TIMESTAMPNS #define SO_MARK 36 -#define SO_TIMESTAMPING 37 #define SCM_TIMESTAMPING SO_TIMESTAMPING #define SO_RXQ_OVFL 40 #define SO_WIFI_STATUS 41 -- 2.21.0