xref: /openbmc/qemu/linux-user/alpha/sockbits.h (revision f67c9b69)
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
21*b0a7413dSLaurent Vivier #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 
788f553bf7SLaurent Vivier /* TARGET_O_NONBLOCK clashes with the bits used for socket types.  Therefore we
798f553bf7SLaurent Vivier  * have to define SOCK_NONBLOCK to a different value here.
80f24cbd39SLaurent Vivier  */
818f553bf7SLaurent Vivier #define TARGET_SOCK_NONBLOCK   0x40000000
82f24cbd39SLaurent Vivier 
83f24cbd39SLaurent Vivier #endif
84