linux-headers (unknown)

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