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