blob: b35eee132142f4a56d1cec877d136b69a065e2d4 [file] [log] [blame]
Greg Kroah-Hartman6f52b162017-11-01 15:08:43 +01001/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
David Howellsb920de12008-02-08 04:19:31 -08002#ifndef _ASM_SOCKET_H
3#define _ASM_SOCKET_H
4
5#include <asm/sockios.h>
6
7/* For setsockopt(2) */
8#define SOL_SOCKET 1
9
10#define SO_DEBUG 1
11#define SO_REUSEADDR 2
12#define SO_TYPE 3
13#define SO_ERROR 4
14#define SO_DONTROUTE 5
15#define SO_BROADCAST 6
16#define SO_SNDBUF 7
17#define SO_RCVBUF 8
18#define SO_SNDBUFFORCE 32
19#define SO_RCVBUFFORCE 33
20#define SO_KEEPALIVE 9
21#define SO_OOBINLINE 10
22#define SO_NO_CHECK 11
23#define SO_PRIORITY 12
24#define SO_LINGER 13
25#define SO_BSDCOMPAT 14
Tom Herbert055dc212013-01-22 09:49:50 +000026#define SO_REUSEPORT 15
David Howellsb920de12008-02-08 04:19:31 -080027#define SO_PASSCRED 16
28#define SO_PEERCRED 17
29#define SO_RCVLOWAT 18
30#define SO_SNDLOWAT 19
31#define SO_RCVTIMEO 20
32#define SO_SNDTIMEO 21
33
34/* Security levels - as per NRL IPv6 - don't actually do anything */
35#define SO_SECURITY_AUTHENTICATION 22
36#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
37#define SO_SECURITY_ENCRYPTION_NETWORK 24
38
39#define SO_BINDTODEVICE 25
40
41/* Socket filtering */
42#define SO_ATTACH_FILTER 26
43#define SO_DETACH_FILTER 27
Pavel Emelyanova8fc9272012-11-01 02:01:48 +000044#define SO_GET_FILTER SO_ATTACH_FILTER
David Howellsb920de12008-02-08 04:19:31 -080045
46#define SO_PEERNAME 28
47#define SO_TIMESTAMP 29
48#define SCM_TIMESTAMP SO_TIMESTAMP
49
50#define SO_ACCEPTCONN 30
51
52#define SO_PEERSEC 31
53#define SO_PASSSEC 34
54#define SO_TIMESTAMPNS 35
55#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
56
David Howells55a26ae2008-02-23 15:23:28 -080057#define SO_MARK 36
58
Patrick Ohlycb9eff02009-02-12 05:03:36 +000059#define SO_TIMESTAMPING 37
60#define SCM_TIMESTAMPING SO_TIMESTAMPING
61
Jan Engelhardt49c794e2009-08-04 07:28:28 +000062#define SO_PROTOCOL 38
Jan Engelhardt0d6038e2009-08-04 07:28:29 +000063#define SO_DOMAIN 39
Jan Engelhardt49c794e2009-08-04 07:28:28 +000064
Neil Horman3b885782009-10-12 13:26:31 -070065#define SO_RXQ_OVFL 40
66
Johannes Berg6e3e9392011-11-09 10:15:42 +010067#define SO_WIFI_STATUS 41
68#define SCM_WIFI_STATUS SO_WIFI_STATUS
Pavel Emelyanovef64a542012-02-21 07:31:34 +000069#define SO_PEEK_OFF 42
Johannes Berg6e3e9392011-11-09 10:15:42 +010070
Ben Greear3bdc0eb2012-02-11 15:39:30 +000071/* Instruct lower device to use last 4-bytes of skb data as FCS */
72#define SO_NOFCS 43
73
Vincent Bernatd59577b2013-01-16 22:55:49 +010074#define SO_LOCK_FILTER 44
75
Keller, Jacob E7d4c04f2013-03-28 11:19:25 +000076#define SO_SELECT_ERR_QUEUE 45
77
Eliezer Tamir64b0dc52013-07-10 17:13:36 +030078#define SO_BUSY_POLL 46
Eliezer Tamirdafcc432013-06-14 16:33:57 +030079
Eric Dumazet62748f32013-09-24 08:20:52 -070080#define SO_MAX_PACING_RATE 47
81
Michal Sekletarea02f942014-01-17 17:09:45 +010082#define SO_BPF_EXTENSIONS 48
83
Eric Dumazet2c8c56e2014-11-11 05:54:28 -080084#define SO_INCOMING_CPU 49
85
Alexei Starovoitov89aa0752014-12-01 15:06:35 -080086#define SO_ATTACH_BPF 50
87#define SO_DETACH_BPF SO_DETACH_FILTER
88
Craig Gallek538950a2016-01-04 17:41:47 -050089#define SO_ATTACH_REUSEPORT_CBPF 51
90#define SO_ATTACH_REUSEPORT_EBPF 52
91
Tom Herberta87cb3e2016-02-24 10:02:52 -080092#define SO_CNX_ADVICE 53
93
Francis Yan1c885802016-11-27 23:07:18 -080094#define SCM_TIMESTAMPING_OPT_STATS 54
95
Josh Hunta2d133b2017-03-20 15:22:03 -040096#define SO_MEMINFO 55
97
Sridhar Samudrala6d433902017-03-24 10:08:36 -070098#define SO_INCOMING_NAPI_ID 56
99
Chenbo Feng5daab9d2017-04-05 19:00:55 -0700100#define SO_COOKIE 57
101
David S. Miller1c4f6762017-05-21 23:13:37 -0400102#define SCM_TIMESTAMPING_PKTINFO 58
103
David Herrmann28b5ba2a2017-06-21 10:47:15 +0200104#define SO_PEERGROUPS 59
105
Willem de Bruijn76851d12017-08-03 16:29:40 -0400106#define SO_ZEROCOPY 60
107
David Howellsb920de12008-02-08 04:19:31 -0800108#endif /* _ASM_SOCKET_H */