/*
 *  include/asm-s390/socket.h
 *
 *  S390 version
 *
 *  Derived from "include/asm-i386/socket.h"
 */

#ifndef _ASM_SOCKET_H
#define _ASM_SOCKET_H

#include <asm/sockios.h>

/* For setsockoptions(2) */
#define SOL_SOCKET	1

#define SO_DEBUG	1
#define SO_REUSEADDR	2
#define SO_TYPE		3
#define SO_ERROR	4
#define SO_DONTROUTE	5
#define SO_BROADCAST	6
#define SO_SNDBUF	7
#define SO_RCVBUF	8
#define SO_KEEPALIVE	9
#define SO_OOBINLINE	10
#define SO_NO_CHECK	11
#define SO_PRIORITY	12
#define SO_LINGER	13
#define SO_BSDCOMPAT	14
/* To add :#define SO_REUSEPORT 15 */
#define SO_PASSCRED	16
#define SO_PEERCRED	17
#define SO_RCVLOWAT	18
#define SO_SNDLOWAT	19
#define SO_RCVTIMEO	20
#define SO_SNDTIMEO	21

/* Security levels - as per NRL IPv6 - don't actually do anything */
#define SO_SECURITY_AUTHENTICATION		22
#define SO_SECURITY_ENCRYPTION_TRANSPORT	23
#define SO_SECURITY_ENCRYPTION_NETWORK		24

#ifdef __KERNEL__
/* Socket types. */
#define SOCK_STREAM    1               /* stream (connection) socket   */
#define SOCK_DGRAM     2               /* datagram (conn.less) socket  */
#define SOCK_RAW       3               /* raw socket                   */
#define SOCK_RDM       4               /* reliably-delivered message   */
#define SOCK_SEQPACKET 5               /* sequential packet socket     */
#define SOCK_PACKET    10              /* linux specific way of        */
                                       /* getting packets at the dev   */
                                       /* level.  For writing rarp and */
                                       /* other similar things on the  */
                                       /* user level.                  */
#endif

#define SO_BINDTODEVICE	25

/* Socket filtering */
#define SO_ATTACH_FILTER        26
#define SO_DETACH_FILTER        27

#endif /* _ASM_SOCKET_H */
