1 /* $NetBSD: linux_socket.h,v 1.3 1995/05/28 10:16:34 mycroft Exp $ */ 2 3 /* 4 * Copyright (c) 1995 Frank van der Linden 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 3. All advertising materials mentioning features or use of this software 16 * must display the following acknowledgement: 17 * This product includes software developed for the NetBSD Project 18 * by Frank van der Linden 19 * 4. The name of the author may not be used to endorse or promote products 20 * derived from this software without specific prior written permission 21 * 22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 23 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 25 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 27 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 31 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 */ 33 34 #ifndef _LINUX_SOCKET_H 35 #define _LINUX_SOCKET_H 36 37 /* 38 * Various Linux socket defines. Everything that is not re-defined here 39 * is the same as in NetBSD. 40 * 41 * COMPAT_43 is assumed, and the osockaddr struct is used (it is what 42 * Linux uses) 43 */ 44 45 /* 46 * Address families. There are fewer of them, and they're numbered 47 * a bit different 48 */ 49 50 #define LINUX_AF_UNSPEC 0 51 #define LINUX_AF_UNIX 1 52 #define LINUX_AF_INET 2 53 #define LINUX_AF_AX25 3 54 #define LINUX_AF_IPX 4 55 #define LINUX_AF_APPLETALK 5 56 57 /* 58 * Option levels for [gs]etsockopt(2). Only SOL_SOCKET is different, 59 * the rest matches IPPROTO_XXX 60 */ 61 62 #define LINUX_SOL_SOCKET 1 63 #define LINUX_SOL_IP 0 64 #define LINUX_SOL_IPX 256 65 #define LINUX_SOL_AX25 257 66 #define LINUX_SOL_TCP 6 67 #define LINUX_SOL_UDP 17 68 69 /* 70 * Options for [gs]etsockopt(2), socket level. For Linux, they 71 * are not masks, but just increasing numbers. 72 */ 73 74 #define LINUX_SO_DEBUG 1 75 #define LINUX_SO_REUSEADDR 2 76 #define LINUX_SO_TYPE 3 77 #define LINUX_SO_ERROR 4 78 #define LINUX_SO_DONTROUTE 5 79 #define LINUX_SO_BROADCAST 6 80 #define LINUX_SO_SNDBUF 7 81 #define LINUX_SO_RCVBUF 8 82 #define LINUX_SO_KEEPALIVE 9 83 #define LINUX_SO_OOBINLINE 10 84 #define LINUX_SO_NO_CHECK 11 85 #define LINUX_SO_PRIORITY 12 86 #define LINUX_SO_LINGER 13 87 88 /* 89 * Options vor [gs]etsockopt(2), IP level. 90 */ 91 92 #define LINUX_IP_TOS 1 93 #define LINUX_IP_TTL 2 94 #define LINUX_IP_MULTICAST_IF 32 95 #define LINUX_IP_MULTICAST_TTL 33 96 #define LINUX_IP_MULTICAST_LOOP 34 97 #define LINUX_IP_ADD_MEMBERSHIP 35 98 #define LINUX_IP_DROP_MEMBERSHIP 36 99 100 /* 101 * Options vor [gs]etsockopt(2), TCP level. 102 */ 103 104 #define LINUX_TCP_NODELAY 1 105 #define LINUX_TCP_MAXSEG 2 106 107 #endif /* _LINUX_SOCKET_H */ 108