1f24cbd39SLaurent Vivier /* 2f24cbd39SLaurent Vivier * This program is free software; you can redistribute it and/or modify 3f24cbd39SLaurent Vivier * it under the terms of the GNU General Public License version 2 as 4f24cbd39SLaurent Vivier * published by the Free Software Foundation, or (at your option) any 5f24cbd39SLaurent Vivier * later version. See the COPYING file in the top-level directory. 6f24cbd39SLaurent Vivier */ 7f24cbd39SLaurent Vivier 8f24cbd39SLaurent Vivier #ifndef ALPHA_SOCKBITS_H 9f24cbd39SLaurent Vivier #define ALPHA_SOCKBITS_H 10f24cbd39SLaurent Vivier 11f24cbd39SLaurent Vivier /* For setsockopt(2) */ 12f24cbd39SLaurent Vivier #define TARGET_SOL_SOCKET 0xffff 13f24cbd39SLaurent Vivier 14f24cbd39SLaurent Vivier #define TARGET_SO_DEBUG 0x0001 15f24cbd39SLaurent Vivier #define TARGET_SO_REUSEADDR 0x0004 16f24cbd39SLaurent Vivier #define TARGET_SO_KEEPALIVE 0x0008 17f24cbd39SLaurent Vivier #define TARGET_SO_DONTROUTE 0x0010 18f24cbd39SLaurent Vivier #define TARGET_SO_BROADCAST 0x0020 19f24cbd39SLaurent Vivier #define TARGET_SO_LINGER 0x0080 20f24cbd39SLaurent Vivier #define TARGET_SO_OOBINLINE 0x0100 21f24cbd39SLaurent Vivier /* To add :#define TARGET_SO_REUSEPORT 0x0200 */ 22f24cbd39SLaurent Vivier 23f24cbd39SLaurent Vivier #define TARGET_SO_TYPE 0x1008 24f24cbd39SLaurent Vivier #define TARGET_SO_ERROR 0x1007 25f24cbd39SLaurent Vivier #define TARGET_SO_SNDBUF 0x1001 26f24cbd39SLaurent Vivier #define TARGET_SO_RCVBUF 0x1002 27f24cbd39SLaurent Vivier #define TARGET_SO_SNDBUFFORCE 0x100a 28f24cbd39SLaurent Vivier #define TARGET_SO_RCVBUFFORCE 0x100b 29f24cbd39SLaurent Vivier #define TARGET_SO_RCVLOWAT 0x1010 30f24cbd39SLaurent Vivier #define TARGET_SO_SNDLOWAT 0x1011 31f24cbd39SLaurent Vivier #define TARGET_SO_RCVTIMEO 0x1012 32f24cbd39SLaurent Vivier #define TARGET_SO_SNDTIMEO 0x1013 33f24cbd39SLaurent Vivier #define TARGET_SO_ACCEPTCONN 0x1014 34f24cbd39SLaurent Vivier #define TARGET_SO_PROTOCOL 0x1028 35f24cbd39SLaurent Vivier #define TARGET_SO_DOMAIN 0x1029 36f24cbd39SLaurent Vivier 37f24cbd39SLaurent Vivier /* linux-specific, might as well be the same as on i386 */ 38f24cbd39SLaurent Vivier #define TARGET_SO_NO_CHECK 11 39f24cbd39SLaurent Vivier #define TARGET_SO_PRIORITY 12 40f24cbd39SLaurent Vivier #define TARGET_SO_BSDCOMPAT 14 41f24cbd39SLaurent Vivier 42f24cbd39SLaurent Vivier #define TARGET_SO_PASSCRED 17 43f24cbd39SLaurent Vivier #define TARGET_SO_PEERCRED 18 44f24cbd39SLaurent Vivier #define TARGET_SO_BINDTODEVICE 25 45f24cbd39SLaurent Vivier 46f24cbd39SLaurent Vivier /* Socket filtering */ 47f24cbd39SLaurent Vivier #define TARGET_SO_ATTACH_FILTER 26 48f24cbd39SLaurent Vivier #define TARGET_SO_DETACH_FILTER 27 49f24cbd39SLaurent Vivier 50f24cbd39SLaurent Vivier #define TARGET_SO_PEERNAME 28 51f24cbd39SLaurent Vivier #define TARGET_SO_TIMESTAMP 29 52f24cbd39SLaurent Vivier #define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP 53f24cbd39SLaurent Vivier 54f24cbd39SLaurent Vivier #define TARGET_SO_PEERSEC 30 55f24cbd39SLaurent Vivier #define TARGET_SO_PASSSEC 34 56f24cbd39SLaurent Vivier #define TARGET_SO_TIMESTAMPNS 35 57f24cbd39SLaurent Vivier #define TARGET_SCM_TIMESTAMPNS TARGET_SO_TIMESTAMPNS 58f24cbd39SLaurent Vivier 59f24cbd39SLaurent Vivier /* Security levels - as per NRL IPv6 - don't actually do anything */ 60f24cbd39SLaurent Vivier #define TARGET_SO_SECURITY_AUTHENTICATION 19 61f24cbd39SLaurent Vivier #define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT 20 62f24cbd39SLaurent Vivier #define TARGET_SO_SECURITY_ENCRYPTION_NETWORK 21 63f24cbd39SLaurent Vivier 64f24cbd39SLaurent Vivier #define TARGET_SO_MARK 36 65f24cbd39SLaurent Vivier 66f24cbd39SLaurent Vivier #define TARGET_SO_TIMESTAMPING 37 67f24cbd39SLaurent Vivier #define TARGET_SCM_TIMESTAMPING TARGET_SO_TIMESTAMPING 68f24cbd39SLaurent Vivier 69f24cbd39SLaurent Vivier #define TARGET_SO_RXQ_OVFL 40 70f24cbd39SLaurent Vivier 71f24cbd39SLaurent Vivier #define TARGET_SO_WIFI_STATUS 41 72f24cbd39SLaurent Vivier #define TARGET_SCM_WIFI_STATUS TARGET_SO_WIFI_STATUS 73f24cbd39SLaurent Vivier #define TARGET_SO_PEEK_OFF 42 74f24cbd39SLaurent Vivier 75f24cbd39SLaurent Vivier /* Instruct lower device to use last 4-bytes of skb data as FCS */ 76f24cbd39SLaurent Vivier #define TARGET_SO_NOFCS 43 77f24cbd39SLaurent Vivier 78*8f553bf7SLaurent Vivier /* TARGET_O_NONBLOCK clashes with the bits used for socket types. Therefore we 79*8f553bf7SLaurent Vivier * have to define SOCK_NONBLOCK to a different value here. 80f24cbd39SLaurent Vivier */ 81*8f553bf7SLaurent Vivier #define TARGET_SOCK_NONBLOCK 0x40000000 82f24cbd39SLaurent Vivier 83f24cbd39SLaurent Vivier #endif 84