1 #ifndef _ASM_SOCKET_H
2 #define _ASM_SOCKET_H
3 
4 #include <asm/sockios.h>
5 
6 /* For setsockopt(2) */
7 #define SOL_SOCKET	0xffff
8 
9 #define SO_DEBUG	0x0001
10 #define SO_REUSEADDR	0x0004
11 #define SO_KEEPALIVE	0x0008
12 #define SO_DONTROUTE	0x0010
13 #define SO_BROADCAST	0x0020
14 #define SO_LINGER	0x0080
15 #define SO_OOBINLINE	0x0100
16 /* To add :#define SO_REUSEPORT 0x0200 */
17 #define SO_SNDBUF	0x1001
18 #define SO_RCVBUF	0x1002
19 #define SO_SNDBUFFORCE	0x100a
20 #define SO_RCVBUFFORCE	0x100b
21 #define SO_SNDLOWAT	0x1003
22 #define SO_RCVLOWAT	0x1004
23 #define SO_SNDTIMEO	0x1005
24 #define SO_RCVTIMEO	0x1006
25 #define SO_ERROR	0x1007
26 #define SO_TYPE		0x1008
27 #define SO_PROTOCOL	0x1028
28 #define SO_DOMAIN	0x1029
29 #define SO_PEERNAME	0x2000
30 
31 #define SO_NO_CHECK	0x400b
32 #define SO_PRIORITY	0x400c
33 #define SO_BSDCOMPAT	0x400e
34 #define SO_PASSCRED	0x4010
35 #define SO_PEERCRED	0x4011
36 #define SO_TIMESTAMP	0x4012
37 #define SCM_TIMESTAMP	SO_TIMESTAMP
38 #define SO_TIMESTAMPNS	0x4013
39 #define SCM_TIMESTAMPNS	SO_TIMESTAMPNS
40 
41 /* Security levels - as per NRL IPv6 - don't actually do anything */
42 #define SO_SECURITY_AUTHENTICATION		0x4016
43 #define SO_SECURITY_ENCRYPTION_TRANSPORT	0x4017
44 #define SO_SECURITY_ENCRYPTION_NETWORK		0x4018
45 
46 #define SO_BINDTODEVICE	0x4019
47 
48 /* Socket filtering */
49 #define SO_ATTACH_FILTER        0x401a
50 #define SO_DETACH_FILTER        0x401b
51 
52 #define SO_ACCEPTCONN		0x401c
53 
54 #define SO_PEERSEC		0x401d
55 #define SO_PASSSEC		0x401e
56 
57 #define SO_MARK			0x401f
58 
59 #define SO_TIMESTAMPING		0x4020
60 #define SCM_TIMESTAMPING	SO_TIMESTAMPING
61 
62 #define SO_RXQ_OVFL             0x4021
63 
64 /* O_NONBLOCK clashes with the bits used for socket types.  Therefore we
65  * have to define SOCK_NONBLOCK to a different value here.
66  */
67 #define SOCK_NONBLOCK   0x40000000
68 
69 #endif /* _ASM_SOCKET_H */
70