linux/arch/mips/include/asm/socket.h
<<
>>
Prefs
   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 <asm/sockios.h>
  13
  14/*
  15 * For setsockopt(2)
  16 *
  17 * This defines are ABI conformant as far as Linux supports these ...
  18 */
  19#define SOL_SOCKET      0xffff
  20
  21#define SO_DEBUG        0x0001  /* Record debugging information.  */
  22#define SO_REUSEADDR    0x0004  /* Allow reuse of local addresses.  */
  23#define SO_KEEPALIVE    0x0008  /* Keep connections alive and send
  24                                   SIGPIPE when they die.  */
  25#define SO_DONTROUTE    0x0010  /* Don't do local routing.  */
  26#define SO_BROADCAST    0x0020  /* Allow transmission of
  27                                   broadcast messages.  */
  28#define SO_LINGER       0x0080  /* Block on close of a reliable
  29                                   socket to transmit pending data.  */
  30#define SO_OOBINLINE 0x0100     /* Receive out-of-band data in-band.  */
  31#if 0
  32To add: #define SO_REUSEPORT 0x0200     /* Allow local address and port reuse.  */
  33#endif
  34
  35#define SO_TYPE         0x1008  /* Compatible name for SO_STYLE.  */
  36#define SO_STYLE        SO_TYPE /* Synonym */
  37#define SO_ERROR        0x1007  /* get error status and clear */
  38#define SO_SNDBUF       0x1001  /* Send buffer size. */
  39#define SO_RCVBUF       0x1002  /* Receive buffer. */
  40#define SO_SNDLOWAT     0x1003  /* send low-water mark */
  41#define SO_RCVLOWAT     0x1004  /* receive low-water mark */
  42#define SO_SNDTIMEO     0x1005  /* send timeout */
  43#define SO_RCVTIMEO     0x1006  /* receive timeout */
  44#define SO_ACCEPTCONN   0x1009
  45#define SO_PROTOCOL     0x1028  /* protocol type */
  46#define SO_DOMAIN       0x1029  /* domain/socket family */
  47
  48/* linux-specific, might as well be the same as on i386 */
  49#define SO_NO_CHECK     11
  50#define SO_PRIORITY     12
  51#define SO_BSDCOMPAT    14
  52
  53#define SO_PASSCRED     17
  54#define SO_PEERCRED     18
  55
  56/* Security levels - as per NRL IPv6 - don't actually do anything */
  57#define SO_SECURITY_AUTHENTICATION              22
  58#define SO_SECURITY_ENCRYPTION_TRANSPORT        23
  59#define SO_SECURITY_ENCRYPTION_NETWORK          24
  60
  61#define SO_BINDTODEVICE         25
  62
  63/* Socket filtering */
  64#define SO_ATTACH_FILTER        26
  65#define SO_DETACH_FILTER        27
  66
  67#define SO_PEERNAME             28
  68#define SO_TIMESTAMP            29
  69#define SCM_TIMESTAMP           SO_TIMESTAMP
  70
  71#define SO_PEERSEC              30
  72#define SO_SNDBUFFORCE          31
  73#define SO_RCVBUFFORCE          33
  74#define SO_PASSSEC              34
  75#define SO_TIMESTAMPNS          35
  76#define SCM_TIMESTAMPNS         SO_TIMESTAMPNS
  77
  78#define SO_MARK                 36
  79
  80#define SO_TIMESTAMPING         37
  81#define SCM_TIMESTAMPING        SO_TIMESTAMPING
  82
  83#ifdef __KERNEL__
  84
  85/** sock_type - Socket types
  86 *
  87 * Please notice that for binary compat reasons MIPS has to
  88 * override the enum sock_type in include/linux/net.h, so
  89 * we define ARCH_HAS_SOCKET_TYPES here.
  90 *
  91 * @SOCK_DGRAM - datagram (conn.less) socket
  92 * @SOCK_STREAM - stream (connection) socket
  93 * @SOCK_RAW - raw socket
  94 * @SOCK_RDM - reliably-delivered message
  95 * @SOCK_SEQPACKET - sequential packet socket
  96 * @SOCK_PACKET - linux specific way of getting packets at the dev level.
  97 *                For writing rarp and other similar things on the user level.
  98 */
  99enum sock_type {
 100        SOCK_DGRAM      = 1,
 101        SOCK_STREAM     = 2,
 102        SOCK_RAW        = 3,
 103        SOCK_RDM        = 4,
 104        SOCK_SEQPACKET  = 5,
 105        SOCK_DCCP       = 6,
 106        SOCK_PACKET     = 10,
 107};
 108
 109#define SOCK_MAX (SOCK_PACKET + 1)
 110/* Mask which covers at least up to SOCK_MASK-1.  The
 111 *  * remaining bits are used as flags. */
 112#define SOCK_TYPE_MASK 0xf
 113
 114/* Flags for socket, socketpair, paccept */
 115#define SOCK_CLOEXEC    O_CLOEXEC
 116#define SOCK_NONBLOCK   O_NONBLOCK
 117
 118#define ARCH_HAS_SOCKET_TYPES 1
 119
 120#endif /* __KERNEL__ */
 121
 122#endif /* _ASM_SOCKET_H */
 123