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_SNDLOWAT	0x1003
20#define SO_RCVLOWAT	0x1004
21#define SO_SNDTIMEO	0x1005
22#define SO_RCVTIMEO	0x1006
23#define SO_ERROR	0x1007
24#define SO_TYPE		0x1008
25#define SO_PEERNAME	0x2000
26
27#define SO_NO_CHECK	0x400b
28#define SO_PRIORITY	0x400c
29#define SO_BSDCOMPAT	0x400e
30#define SO_PASSCRED	0x4010
31#define SO_PEERCRED	0x4011
32#define SO_TIMESTAMP	0x4012
33#define SCM_TIMESTAMP	SO_TIMESTAMP
34
35/* Security levels - as per NRL IPv6 - don't actually do anything */
36#define SO_SECURITY_AUTHENTICATION		0x4016
37#define SO_SECURITY_ENCRYPTION_TRANSPORT	0x4017
38#define SO_SECURITY_ENCRYPTION_NETWORK		0x4018
39
40#define SO_BINDTODEVICE	0x4019
41
42/* Socket filtering */
43#define SO_ATTACH_FILTER        0x401a
44#define SO_DETACH_FILTER        0x401b
45
46#define SO_ACCEPTCONN		0x401c
47
48#if defined(__KERNEL__)
49#define SOCK_STREAM	1	/* stream (connection) socket	*/
50#define SOCK_DGRAM	2	/* datagram (conn.less) socket	*/
51#define SOCK_RAW	3	/* raw socket			*/
52#define SOCK_RDM	4	/* reliably-delivered message	*/
53#define SOCK_SEQPACKET	5	/* sequential packet socket	*/
54#define SOCK_PACKET	10	/* linux specific way of	*/
55				/* getting packets at the dev	*/
56				/* level.  For writing rarp and	*/
57				/* other similar things on the	*/
58				/* user level.			*/
59#define	SOCK_MAX	(SOCK_PACKET+1)
60#endif
61
62#endif /* _ASM_SOCKET_H */
63