1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1997, 1999, 2000, 2001 Ralf Baechle
7  * Copyright (C) 2000, 2001 Silicon Graphics, Inc.
8  */
9 #ifndef _ASM_SOCKET_H
10 #define _ASM_SOCKET_H
11 
12 #include <uapi/asm/socket.h>
13 
14 
15 /** sock_type - Socket types
16  *
17  * Please notice that for binary compat reasons MIPS has to
18  * override the enum sock_type in include/linux/net.h, so
19  * we define ARCH_HAS_SOCKET_TYPES here.
20  *
21  * @SOCK_DGRAM - datagram (conn.less) socket
22  * @SOCK_STREAM - stream (connection) socket
23  * @SOCK_RAW - raw socket
24  * @SOCK_RDM - reliably-delivered message
25  * @SOCK_SEQPACKET - sequential packet socket
26  * @SOCK_PACKET - linux specific way of getting packets at the dev level.
27  *		  For writing rarp and other similar things on the user level.
28  */
29 enum sock_type {
30 	SOCK_DGRAM	= 1,
31 	SOCK_STREAM	= 2,
32 	SOCK_RAW	= 3,
33 	SOCK_RDM	= 4,
34 	SOCK_SEQPACKET	= 5,
35 	SOCK_DCCP	= 6,
36 	SOCK_PACKET	= 10,
37 };
38 
39 #define SOCK_MAX (SOCK_PACKET + 1)
40 /* Mask which covers at least up to SOCK_MASK-1.  The
41  *  * remaining bits are used as flags. */
42 #define SOCK_TYPE_MASK 0xf
43 
44 /* Flags for socket, socketpair, paccept */
45 #define SOCK_CLOEXEC	O_CLOEXEC
46 #define SOCK_NONBLOCK	O_NONBLOCK
47 
48 #define ARCH_HAS_SOCKET_TYPES 1
49 
50 #endif /* _ASM_SOCKET_H */
51