xref: /openbmc/qemu/linux-user/sparc/sockbits.h (revision 99d423e5)
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License version 2 as
4  * published by the Free Software Foundation, or (at your option) any
5  * later version. See the COPYING file in the top-level directory.
6  */
7 
8 #ifndef SPARC_SOCKBITS_H
9 #define SPARC_SOCKBITS_H
10 
11 /* For setsockopt(2) */
12 #define TARGET_SOL_SOCKET      0xffff
13 
14 #define TARGET_SO_DEBUG        0x0001
15 #define TARGET_SO_PASSCRED     0x0002
16 #define TARGET_SO_REUSEADDR    0x0004
17 #define TARGET_SO_KEEPALIVE    0x0008
18 #define TARGET_SO_DONTROUTE    0x0010
19 #define TARGET_SO_BROADCAST    0x0020
20 #define TARGET_SO_PEERCRED     0x0040
21 #define TARGET_SO_LINGER       0x0080
22 #define TARGET_SO_OOBINLINE    0x0100
23 #define TARGET_SO_REUSEPORT    0x0200
24 #define TARGET_SO_BSDCOMPAT    0x0400
25 #define TARGET_SO_RCVLOWAT     0x0800
26 #define TARGET_SO_SNDLOWAT     0x1000
27 #define TARGET_SO_RCVTIMEO     0x2000
28 #define TARGET_SO_SNDTIMEO     0x4000
29 #define TARGET_SO_ACCEPTCONN   0x8000
30 
31 #define TARGET_SO_SNDBUF       0x1001
32 #define TARGET_SO_RCVBUF       0x1002
33 #define TARGET_SO_SNDBUFFORCE  0x100a
34 #define TARGET_SO_RCVBUFFORCE  0x100b
35 #define TARGET_SO_ERROR        0x1007
36 #define TARGET_SO_TYPE         0x1008
37 #define TARGET_SO_PROTOCOL     0x1028
38 #define TARGET_SO_DOMAIN       0x1029
39 
40 /* Linux specific, keep the same. */
41 #define TARGET_SO_NO_CHECK     0x000b
42 #define TARGET_SO_PRIORITY     0x000c
43 
44 #define TARGET_SO_BINDTODEVICE 0x000d
45 
46 #define TARGET_SO_ATTACH_FILTER        0x001a
47 #define TARGET_SO_DETACH_FILTER        0x001b
48 #define TARGET_SO_GET_FILTER           TARGET_SO_ATTACH_FILTER
49 
50 #define TARGET_SO_PEERNAME             0x001c
51 #define TARGET_SO_TIMESTAMP            0x001d
52 #define TARGET_SCM_TIMESTAMP           TARGET_SO_TIMESTAMP
53 
54 #define TARGET_SO_PEERSEC              0x001e
55 #define TARGET_SO_PASSSEC              0x001f
56 #define TARGET_SO_TIMESTAMPNS          0x0021
57 #define TARGET_SCM_TIMESTAMPNS         TARGET_SO_TIMESTAMPNS
58 
59 #define TARGET_SO_MARK                 0x0022
60 
61 #define TARGET_SO_TIMESTAMPING         0x0023
62 #define TARGET_SCM_TIMESTAMPING        TARGET_SO_TIMESTAMPING
63 
64 #define TARGET_SO_RXQ_OVFL             0x0024
65 
66 #define TARGET_SO_WIFI_STATUS          0x0025
67 #define TARGET_SCM_WIFI_STATUS         TARGET_SO_WIFI_STATUS
68 #define TARGET_SO_PEEK_OFF             0x0026
69 
70 /* Instruct lower device to use last 4-bytes of skb data as FCS */
71 #define TARGET_SO_NOFCS                0x0027
72 
73 #define TARGET_SO_LOCK_FILTER          0x0028
74 
75 #define TARGET_SO_SELECT_ERR_QUEUE     0x0029
76 
77 #define TARGET_SO_BUSY_POLL            0x0030
78 
79 #define TARGET_SO_MAX_PACING_RATE      0x0031
80 
81 #define TARGET_SO_BPF_EXTENSIONS       0x0032
82 
83 #define TARGET_SO_INCOMING_CPU         0x0033
84 
85 #define TARGET_SO_ATTACH_BPF           0x0034
86 #define TARGET_SO_DETACH_BPF           TARGET_SO_DETACH_FILTER
87 
88 #define TARGET_SO_ATTACH_REUSEPORT_CBPF        0x0035
89 #define TARGET_SO_ATTACH_REUSEPORT_EBPF        0x0036
90 
91 #define TARGET_SO_CNX_ADVICE           0x0037
92 
93 #define TARGET_SCM_TIMESTAMPING_OPT_STATS      0x0038
94 
95 #define TARGET_SO_MEMINFO              0x0039
96 
97 #define TARGET_SO_INCOMING_NAPI_ID     0x003a
98 
99 #define TARGET_SO_COOKIE               0x003b
100 
101 #define TARGET_SCM_TIMESTAMPING_PKTINFO        0x003c
102 
103 #define TARGET_SO_PEERGROUPS           0x003d
104 
105 #define TARGET_SO_ZEROCOPY             0x003e
106 
107 /* Security levels - as per NRL IPv6 - don't actually do anything */
108 #define TARGET_SO_SECURITY_AUTHENTICATION              0x5001
109 #define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT        0x5002
110 #define TARGET_SO_SECURITY_ENCRYPTION_NETWORK          0x5004
111 #endif
112