1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*f80ad8b4SAndroid Build Coastguard Worker #ifndef __ASM_GENERIC_SOCKET_H 3*f80ad8b4SAndroid Build Coastguard Worker #define __ASM_GENERIC_SOCKET_H 4*f80ad8b4SAndroid Build Coastguard Worker 5*f80ad8b4SAndroid Build Coastguard Worker #include <linux/posix_types.h> 6*f80ad8b4SAndroid Build Coastguard Worker #include <asm/sockios.h> 7*f80ad8b4SAndroid Build Coastguard Worker 8*f80ad8b4SAndroid Build Coastguard Worker /* For setsockopt(2) */ 9*f80ad8b4SAndroid Build Coastguard Worker #define SOL_SOCKET 1 10*f80ad8b4SAndroid Build Coastguard Worker 11*f80ad8b4SAndroid Build Coastguard Worker #define SO_DEBUG 1 12*f80ad8b4SAndroid Build Coastguard Worker #define SO_REUSEADDR 2 13*f80ad8b4SAndroid Build Coastguard Worker #define SO_TYPE 3 14*f80ad8b4SAndroid Build Coastguard Worker #define SO_ERROR 4 15*f80ad8b4SAndroid Build Coastguard Worker #define SO_DONTROUTE 5 16*f80ad8b4SAndroid Build Coastguard Worker #define SO_BROADCAST 6 17*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDBUF 7 18*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVBUF 8 19*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDBUFFORCE 32 20*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVBUFFORCE 33 21*f80ad8b4SAndroid Build Coastguard Worker #define SO_KEEPALIVE 9 22*f80ad8b4SAndroid Build Coastguard Worker #define SO_OOBINLINE 10 23*f80ad8b4SAndroid Build Coastguard Worker #define SO_NO_CHECK 11 24*f80ad8b4SAndroid Build Coastguard Worker #define SO_PRIORITY 12 25*f80ad8b4SAndroid Build Coastguard Worker #define SO_LINGER 13 26*f80ad8b4SAndroid Build Coastguard Worker #define SO_BSDCOMPAT 14 27*f80ad8b4SAndroid Build Coastguard Worker #define SO_REUSEPORT 15 28*f80ad8b4SAndroid Build Coastguard Worker #ifndef SO_PASSCRED /* powerpc only differs in these */ 29*f80ad8b4SAndroid Build Coastguard Worker #define SO_PASSCRED 16 30*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEERCRED 17 31*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVLOWAT 18 32*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDLOWAT 19 33*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVTIMEO_OLD 20 34*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDTIMEO_OLD 21 35*f80ad8b4SAndroid Build Coastguard Worker #endif 36*f80ad8b4SAndroid Build Coastguard Worker 37*f80ad8b4SAndroid Build Coastguard Worker /* Security levels - as per NRL IPv6 - don't actually do anything */ 38*f80ad8b4SAndroid Build Coastguard Worker #define SO_SECURITY_AUTHENTICATION 22 39*f80ad8b4SAndroid Build Coastguard Worker #define SO_SECURITY_ENCRYPTION_TRANSPORT 23 40*f80ad8b4SAndroid Build Coastguard Worker #define SO_SECURITY_ENCRYPTION_NETWORK 24 41*f80ad8b4SAndroid Build Coastguard Worker 42*f80ad8b4SAndroid Build Coastguard Worker #define SO_BINDTODEVICE 25 43*f80ad8b4SAndroid Build Coastguard Worker 44*f80ad8b4SAndroid Build Coastguard Worker /* Socket filtering */ 45*f80ad8b4SAndroid Build Coastguard Worker #define SO_ATTACH_FILTER 26 46*f80ad8b4SAndroid Build Coastguard Worker #define SO_DETACH_FILTER 27 47*f80ad8b4SAndroid Build Coastguard Worker #define SO_GET_FILTER SO_ATTACH_FILTER 48*f80ad8b4SAndroid Build Coastguard Worker 49*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEERNAME 28 50*f80ad8b4SAndroid Build Coastguard Worker 51*f80ad8b4SAndroid Build Coastguard Worker #define SO_ACCEPTCONN 30 52*f80ad8b4SAndroid Build Coastguard Worker 53*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEERSEC 31 54*f80ad8b4SAndroid Build Coastguard Worker #define SO_PASSSEC 34 55*f80ad8b4SAndroid Build Coastguard Worker 56*f80ad8b4SAndroid Build Coastguard Worker #define SO_MARK 36 57*f80ad8b4SAndroid Build Coastguard Worker 58*f80ad8b4SAndroid Build Coastguard Worker #define SO_PROTOCOL 38 59*f80ad8b4SAndroid Build Coastguard Worker #define SO_DOMAIN 39 60*f80ad8b4SAndroid Build Coastguard Worker 61*f80ad8b4SAndroid Build Coastguard Worker #define SO_RXQ_OVFL 40 62*f80ad8b4SAndroid Build Coastguard Worker 63*f80ad8b4SAndroid Build Coastguard Worker #define SO_WIFI_STATUS 41 64*f80ad8b4SAndroid Build Coastguard Worker #define SCM_WIFI_STATUS SO_WIFI_STATUS 65*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEEK_OFF 42 66*f80ad8b4SAndroid Build Coastguard Worker 67*f80ad8b4SAndroid Build Coastguard Worker /* Instruct lower device to use last 4-bytes of skb data as FCS */ 68*f80ad8b4SAndroid Build Coastguard Worker #define SO_NOFCS 43 69*f80ad8b4SAndroid Build Coastguard Worker 70*f80ad8b4SAndroid Build Coastguard Worker #define SO_LOCK_FILTER 44 71*f80ad8b4SAndroid Build Coastguard Worker 72*f80ad8b4SAndroid Build Coastguard Worker #define SO_SELECT_ERR_QUEUE 45 73*f80ad8b4SAndroid Build Coastguard Worker 74*f80ad8b4SAndroid Build Coastguard Worker #define SO_BUSY_POLL 46 75*f80ad8b4SAndroid Build Coastguard Worker 76*f80ad8b4SAndroid Build Coastguard Worker #define SO_MAX_PACING_RATE 47 77*f80ad8b4SAndroid Build Coastguard Worker 78*f80ad8b4SAndroid Build Coastguard Worker #define SO_BPF_EXTENSIONS 48 79*f80ad8b4SAndroid Build Coastguard Worker 80*f80ad8b4SAndroid Build Coastguard Worker #define SO_INCOMING_CPU 49 81*f80ad8b4SAndroid Build Coastguard Worker 82*f80ad8b4SAndroid Build Coastguard Worker #define SO_ATTACH_BPF 50 83*f80ad8b4SAndroid Build Coastguard Worker #define SO_DETACH_BPF SO_DETACH_FILTER 84*f80ad8b4SAndroid Build Coastguard Worker 85*f80ad8b4SAndroid Build Coastguard Worker #define SO_ATTACH_REUSEPORT_CBPF 51 86*f80ad8b4SAndroid Build Coastguard Worker #define SO_ATTACH_REUSEPORT_EBPF 52 87*f80ad8b4SAndroid Build Coastguard Worker 88*f80ad8b4SAndroid Build Coastguard Worker #define SO_CNX_ADVICE 53 89*f80ad8b4SAndroid Build Coastguard Worker 90*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TIMESTAMPING_OPT_STATS 54 91*f80ad8b4SAndroid Build Coastguard Worker 92*f80ad8b4SAndroid Build Coastguard Worker #define SO_MEMINFO 55 93*f80ad8b4SAndroid Build Coastguard Worker 94*f80ad8b4SAndroid Build Coastguard Worker #define SO_INCOMING_NAPI_ID 56 95*f80ad8b4SAndroid Build Coastguard Worker 96*f80ad8b4SAndroid Build Coastguard Worker #define SO_COOKIE 57 97*f80ad8b4SAndroid Build Coastguard Worker 98*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TIMESTAMPING_PKTINFO 58 99*f80ad8b4SAndroid Build Coastguard Worker 100*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEERGROUPS 59 101*f80ad8b4SAndroid Build Coastguard Worker 102*f80ad8b4SAndroid Build Coastguard Worker #define SO_ZEROCOPY 60 103*f80ad8b4SAndroid Build Coastguard Worker 104*f80ad8b4SAndroid Build Coastguard Worker #define SO_TXTIME 61 105*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TXTIME SO_TXTIME 106*f80ad8b4SAndroid Build Coastguard Worker 107*f80ad8b4SAndroid Build Coastguard Worker #define SO_BINDTOIFINDEX 62 108*f80ad8b4SAndroid Build Coastguard Worker 109*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMP_OLD 29 110*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPNS_OLD 35 111*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPING_OLD 37 112*f80ad8b4SAndroid Build Coastguard Worker 113*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMP_NEW 63 114*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPNS_NEW 64 115*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPING_NEW 65 116*f80ad8b4SAndroid Build Coastguard Worker 117*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVTIMEO_NEW 66 118*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDTIMEO_NEW 67 119*f80ad8b4SAndroid Build Coastguard Worker 120*f80ad8b4SAndroid Build Coastguard Worker #define SO_DETACH_REUSEPORT_BPF 68 121*f80ad8b4SAndroid Build Coastguard Worker 122*f80ad8b4SAndroid Build Coastguard Worker #define SO_PREFER_BUSY_POLL 69 123*f80ad8b4SAndroid Build Coastguard Worker #define SO_BUSY_POLL_BUDGET 70 124*f80ad8b4SAndroid Build Coastguard Worker 125*f80ad8b4SAndroid Build Coastguard Worker #define SO_NETNS_COOKIE 71 126*f80ad8b4SAndroid Build Coastguard Worker 127*f80ad8b4SAndroid Build Coastguard Worker #define SO_BUF_LOCK 72 128*f80ad8b4SAndroid Build Coastguard Worker 129*f80ad8b4SAndroid Build Coastguard Worker #define SO_RESERVE_MEM 73 130*f80ad8b4SAndroid Build Coastguard Worker 131*f80ad8b4SAndroid Build Coastguard Worker #define SO_TXREHASH 74 132*f80ad8b4SAndroid Build Coastguard Worker 133*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVMARK 75 134*f80ad8b4SAndroid Build Coastguard Worker 135*f80ad8b4SAndroid Build Coastguard Worker #define SO_PASSPIDFD 76 136*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEERPIDFD 77 137*f80ad8b4SAndroid Build Coastguard Worker 138*f80ad8b4SAndroid Build Coastguard Worker #if !defined(__KERNEL__) 139*f80ad8b4SAndroid Build Coastguard Worker 140*f80ad8b4SAndroid Build Coastguard Worker #if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__)) 141*f80ad8b4SAndroid Build Coastguard Worker /* on 64-bit and x32, avoid the ?: operator */ 142*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMP SO_TIMESTAMP_OLD 143*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD 144*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPING SO_TIMESTAMPING_OLD 145*f80ad8b4SAndroid Build Coastguard Worker 146*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVTIMEO SO_RCVTIMEO_OLD 147*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDTIMEO SO_SNDTIMEO_OLD 148*f80ad8b4SAndroid Build Coastguard Worker #else 149*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW) 150*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW) 151*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW) 152*f80ad8b4SAndroid Build Coastguard Worker 153*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW) 154*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW) 155*f80ad8b4SAndroid Build Coastguard Worker #endif 156*f80ad8b4SAndroid Build Coastguard Worker 157*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TIMESTAMP SO_TIMESTAMP 158*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TIMESTAMPNS SO_TIMESTAMPNS 159*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TIMESTAMPING SO_TIMESTAMPING 160*f80ad8b4SAndroid Build Coastguard Worker 161*f80ad8b4SAndroid Build Coastguard Worker #endif 162*f80ad8b4SAndroid Build Coastguard Worker 163*f80ad8b4SAndroid Build Coastguard Worker #endif /* __ASM_GENERIC_SOCKET_H */ 164