1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 #ifndef _UAPI_ASM_SOCKET_H
  11 #define _UAPI_ASM_SOCKET_H
  12 
  13 #include <linux/posix_types.h>
  14 #include <asm/sockios.h>
  15 
  16 
  17 
  18 
  19 
  20 
  21 #define SOL_SOCKET      0xffff
  22 
  23 #define SO_DEBUG        0x0001  
  24 #define SO_REUSEADDR    0x0004  
  25 #define SO_KEEPALIVE    0x0008  
  26 
  27 #define SO_DONTROUTE    0x0010  
  28 #define SO_BROADCAST    0x0020  
  29 
  30 #define SO_LINGER       0x0080  
  31 
  32 #define SO_OOBINLINE 0x0100     
  33 #define SO_REUSEPORT 0x0200     
  34 
  35 #define SO_TYPE         0x1008  
  36 #define SO_STYLE        SO_TYPE 
  37 #define SO_ERROR        0x1007  
  38 #define SO_SNDBUF       0x1001  
  39 #define SO_RCVBUF       0x1002  
  40 #define SO_SNDLOWAT     0x1003  
  41 #define SO_RCVLOWAT     0x1004  
  42 #define SO_SNDTIMEO_OLD 0x1005  
  43 #define SO_RCVTIMEO_OLD 0x1006  
  44 #define SO_ACCEPTCONN   0x1009
  45 #define SO_PROTOCOL     0x1028  
  46 #define SO_DOMAIN       0x1029  
  47 
  48 
  49 #define SO_NO_CHECK     11
  50 #define SO_PRIORITY     12
  51 #define SO_BSDCOMPAT    14
  52 
  53 #define SO_PASSCRED     17
  54 #define SO_PEERCRED     18
  55 
  56 
  57 #define SO_SECURITY_AUTHENTICATION              22
  58 #define SO_SECURITY_ENCRYPTION_TRANSPORT        23
  59 #define SO_SECURITY_ENCRYPTION_NETWORK          24
  60 
  61 #define SO_BINDTODEVICE         25
  62 
  63 
  64 #define SO_ATTACH_FILTER        26
  65 #define SO_DETACH_FILTER        27
  66 #define SO_GET_FILTER           SO_ATTACH_FILTER
  67 
  68 #define SO_PEERNAME             28
  69 
  70 #define SO_PEERSEC              30
  71 #define SO_SNDBUFFORCE          31
  72 #define SO_RCVBUFFORCE          33
  73 #define SO_PASSSEC              34
  74 
  75 #define SO_MARK                 36
  76 
  77 #define SO_RXQ_OVFL             40
  78 
  79 #define SO_WIFI_STATUS          41
  80 #define SCM_WIFI_STATUS         SO_WIFI_STATUS
  81 #define SO_PEEK_OFF             42
  82 
  83 
  84 #define SO_NOFCS                43
  85 
  86 #define SO_LOCK_FILTER          44
  87 
  88 #define SO_SELECT_ERR_QUEUE     45
  89 
  90 #define SO_BUSY_POLL            46
  91 
  92 #define SO_MAX_PACING_RATE      47
  93 
  94 #define SO_BPF_EXTENSIONS       48
  95 
  96 #define SO_INCOMING_CPU         49
  97 
  98 #define SO_ATTACH_BPF           50
  99 #define SO_DETACH_BPF           SO_DETACH_FILTER
 100 
 101 #define SO_ATTACH_REUSEPORT_CBPF        51
 102 #define SO_ATTACH_REUSEPORT_EBPF        52
 103 
 104 #define SO_CNX_ADVICE           53
 105 
 106 #define SCM_TIMESTAMPING_OPT_STATS      54
 107 
 108 #define SO_MEMINFO              55
 109 
 110 #define SO_INCOMING_NAPI_ID     56
 111 
 112 #define SO_COOKIE               57
 113 
 114 #define SCM_TIMESTAMPING_PKTINFO        58
 115 
 116 #define SO_PEERGROUPS           59
 117 
 118 #define SO_ZEROCOPY             60
 119 
 120 #define SO_TXTIME               61
 121 #define SCM_TXTIME              SO_TXTIME
 122 
 123 #define SO_BINDTOIFINDEX        62
 124 
 125 #define SO_TIMESTAMP_OLD        29
 126 #define SO_TIMESTAMPNS_OLD      35
 127 #define SO_TIMESTAMPING_OLD     37
 128 
 129 #define SO_TIMESTAMP_NEW        63
 130 #define SO_TIMESTAMPNS_NEW      64
 131 #define SO_TIMESTAMPING_NEW     65
 132 
 133 #define SO_RCVTIMEO_NEW         66
 134 #define SO_SNDTIMEO_NEW         67
 135 
 136 #define SO_DETACH_REUSEPORT_BPF 68
 137 
 138 #if !defined(__KERNEL__)
 139 
 140 #if __BITS_PER_LONG == 64
 141 #define SO_TIMESTAMP            SO_TIMESTAMP_OLD
 142 #define SO_TIMESTAMPNS          SO_TIMESTAMPNS_OLD
 143 #define SO_TIMESTAMPING         SO_TIMESTAMPING_OLD
 144 
 145 #define SO_RCVTIMEO             SO_RCVTIMEO_OLD
 146 #define SO_SNDTIMEO             SO_SNDTIMEO_OLD
 147 #else
 148 #define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW)
 149 #define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW)
 150 #define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW)
 151 
 152 #define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW)
 153 #define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW)
 154 #endif
 155 
 156 #define SCM_TIMESTAMP           SO_TIMESTAMP
 157 #define SCM_TIMESTAMPNS         SO_TIMESTAMPNS
 158 #define SCM_TIMESTAMPING        SO_TIMESTAMPING
 159 
 160 #endif
 161 
 162 #endif