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