2
2
#if defined(TARGET_MIPS)
3
// MIPS special values for constants
8
* This defines are ABI conformant as far as Linux supports these ...
10
#define TARGET_SOL_SOCKET 0xffff
12
#define TARGET_SO_DEBUG 0x0001 /* Record debugging information. */
13
#define TARGET_SO_REUSEADDR 0x0004 /* Allow reuse of local addresses. */
14
#define TARGET_SO_KEEPALIVE 0x0008 /* Keep connections alive and send
15
SIGPIPE when they die. */
16
#define TARGET_SO_DONTROUTE 0x0010 /* Don't do local routing. */
17
#define TARGET_SO_BROADCAST 0x0020 /* Allow transmission of
18
broadcast messages. */
19
#define TARGET_SO_LINGER 0x0080 /* Block on close of a reliable
20
socket to transmit pending data. */
21
#define TARGET_SO_OOBINLINE 0x0100 /* Receive out-of-band data in-band. */
23
To add: #define TARGET_SO_REUSEPORT 0x0200 /* Allow local address and port reuse. */
26
#define TARGET_SO_TYPE 0x1008 /* Compatible name for SO_STYLE. */
27
#define TARGET_SO_STYLE SO_TYPE /* Synonym */
28
#define TARGET_SO_ERROR 0x1007 /* get error status and clear */
29
#define TARGET_SO_SNDBUF 0x1001 /* Send buffer size. */
30
#define TARGET_SO_RCVBUF 0x1002 /* Receive buffer. */
31
#define TARGET_SO_SNDLOWAT 0x1003 /* send low-water mark */
32
#define TARGET_SO_RCVLOWAT 0x1004 /* receive low-water mark */
33
#define TARGET_SO_SNDTIMEO 0x1005 /* send timeout */
34
#define TARGET_SO_RCVTIMEO 0x1006 /* receive timeout */
35
#define TARGET_SO_ACCEPTCONN 0x1009
37
/* linux-specific, might as well be the same as on i386 */
38
#define TARGET_SO_NO_CHECK 11
39
#define TARGET_SO_PRIORITY 12
40
#define TARGET_SO_BSDCOMPAT 14
42
#define TARGET_SO_PASSCRED 17
43
#define TARGET_SO_PEERCRED 18
45
/* Security levels - as per NRL IPv6 - don't actually do anything */
46
#define TARGET_SO_SECURITY_AUTHENTICATION 22
47
#define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT 23
48
#define TARGET_SO_SECURITY_ENCRYPTION_NETWORK 24
50
#define TARGET_SO_BINDTODEVICE 25
52
/* Socket filtering */
53
#define TARGET_SO_ATTACH_FILTER 26
54
#define TARGET_SO_DETACH_FILTER 27
56
#define TARGET_SO_PEERNAME 28
57
#define TARGET_SO_TIMESTAMP 29
58
#define SCM_TIMESTAMP SO_TIMESTAMP
60
#define TARGET_SO_PEERSEC 30
61
#define TARGET_SO_SNDBUFFORCE 31
62
#define TARGET_SO_RCVBUFFORCE 33
64
/** sock_type - Socket types
66
* Please notice that for binary compat reasons MIPS has to
67
* override the enum sock_type in include/linux/net.h, so
68
* we define ARCH_HAS_SOCKET_TYPES here.
70
* @SOCK_DGRAM - datagram (conn.less) socket
71
* @SOCK_STREAM - stream (connection) socket
72
* @SOCK_RAW - raw socket
73
* @SOCK_RDM - reliably-delivered message
74
* @SOCK_SEQPACKET - sequential packet socket
75
* @SOCK_PACKET - linux specific way of getting packets at the dev level.
76
* For writing rarp and other similar things on the user level.
79
TARGET_SOCK_DGRAM = 1,
80
TARGET_SOCK_STREAM = 2,
83
TARGET_SOCK_SEQPACKET = 5,
85
TARGET_SOCK_PACKET = 10,
88
#define TARGET_SOCK_MAX (SOCK_PACKET + 1)
3
/* MIPS special values for constants */
8
* This defines are ABI conformant as far as Linux supports these ...
10
#define TARGET_SOL_SOCKET 0xffff
12
#define TARGET_SO_DEBUG 0x0001 /* Record debugging information. */
13
#define TARGET_SO_REUSEADDR 0x0004 /* Allow reuse of local addresses. */
14
#define TARGET_SO_KEEPALIVE 0x0008 /* Keep connections alive and send
15
SIGPIPE when they die. */
16
#define TARGET_SO_DONTROUTE 0x0010 /* Don't do local routing. */
17
#define TARGET_SO_BROADCAST 0x0020 /* Allow transmission of
18
broadcast messages. */
19
#define TARGET_SO_LINGER 0x0080 /* Block on close of a reliable
20
* socket to transmit pending data.
22
#define TARGET_SO_OOBINLINE 0x0100 /* Receive out-of-band data in-band.
25
/* To add: Allow local address and port reuse. */
26
#define TARGET_SO_REUSEPORT 0x0200
29
#define TARGET_SO_TYPE 0x1008 /* Compatible name for SO_STYLE. */
30
#define TARGET_SO_STYLE SO_TYPE /* Synonym */
31
#define TARGET_SO_ERROR 0x1007 /* get error status and clear */
32
#define TARGET_SO_SNDBUF 0x1001 /* Send buffer size. */
33
#define TARGET_SO_RCVBUF 0x1002 /* Receive buffer. */
34
#define TARGET_SO_SNDLOWAT 0x1003 /* send low-water mark */
35
#define TARGET_SO_RCVLOWAT 0x1004 /* receive low-water mark */
36
#define TARGET_SO_SNDTIMEO 0x1005 /* send timeout */
37
#define TARGET_SO_RCVTIMEO 0x1006 /* receive timeout */
38
#define TARGET_SO_ACCEPTCONN 0x1009
40
/* linux-specific, might as well be the same as on i386 */
41
#define TARGET_SO_NO_CHECK 11
42
#define TARGET_SO_PRIORITY 12
43
#define TARGET_SO_BSDCOMPAT 14
45
#define TARGET_SO_PASSCRED 17
46
#define TARGET_SO_PEERCRED 18
48
/* Security levels - as per NRL IPv6 - don't actually do anything */
49
#define TARGET_SO_SECURITY_AUTHENTICATION 22
50
#define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT 23
51
#define TARGET_SO_SECURITY_ENCRYPTION_NETWORK 24
53
#define TARGET_SO_BINDTODEVICE 25
55
/* Socket filtering */
56
#define TARGET_SO_ATTACH_FILTER 26
57
#define TARGET_SO_DETACH_FILTER 27
59
#define TARGET_SO_PEERNAME 28
60
#define TARGET_SO_TIMESTAMP 29
61
#define SCM_TIMESTAMP SO_TIMESTAMP
63
#define TARGET_SO_PEERSEC 30
64
#define TARGET_SO_SNDBUFFORCE 31
65
#define TARGET_SO_RCVBUFFORCE 33
67
/** sock_type - Socket types
69
* Please notice that for binary compat reasons MIPS has to
70
* override the enum sock_type in include/linux/net.h, so
71
* we define ARCH_HAS_SOCKET_TYPES here.
73
* @SOCK_DGRAM - datagram (conn.less) socket
74
* @SOCK_STREAM - stream (connection) socket
75
* @SOCK_RAW - raw socket
76
* @SOCK_RDM - reliably-delivered message
77
* @SOCK_SEQPACKET - sequential packet socket
78
* @SOCK_DCCP - Datagram Congestion Control Protocol socket
79
* @SOCK_PACKET - linux specific way of getting packets at the dev level.
80
* For writing rarp and other similar things on the user
82
* @SOCK_CLOEXEC - sets the close-on-exec (FD_CLOEXEC) flag.
83
* @SOCK_NONBLOCK - sets the O_NONBLOCK file status flag.
86
#define ARCH_HAS_SOCKET_TYPES 1
89
TARGET_SOCK_DGRAM = 1,
90
TARGET_SOCK_STREAM = 2,
93
TARGET_SOCK_SEQPACKET = 5,
95
TARGET_SOCK_PACKET = 10,
96
TARGET_SOCK_CLOEXEC = 02000000,
97
TARGET_SOCK_NONBLOCK = 0200,
100
#define TARGET_SOCK_MAX (TARGET_SOCK_PACKET + 1)
101
#define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX-1. */
90
103
#elif defined(TARGET_ALPHA)
156
169
/* Instruct lower device to use last 4-bytes of skb data as FCS */
157
170
#define TARGET_SO_NOFCS 43
172
/** sock_type - Socket types
174
* Please notice that for binary compat reasons ALPHA has to
175
* override the enum sock_type in include/linux/net.h, so
176
* we define ARCH_HAS_SOCKET_TYPES here.
178
* @SOCK_DGRAM - datagram (conn.less) socket
179
* @SOCK_STREAM - stream (connection) socket
180
* @SOCK_RAW - raw socket
181
* @SOCK_RDM - reliably-delivered message
182
* @SOCK_SEQPACKET - sequential packet socket
183
* @SOCK_DCCP - Datagram Congestion Control Protocol socket
184
* @SOCK_PACKET - linux specific way of getting packets at the dev level.
185
* For writing rarp and other similar things on the user
187
* @SOCK_CLOEXEC - sets the close-on-exec (FD_CLOEXEC) flag.
188
* @SOCK_NONBLOCK - sets the O_NONBLOCK file status flag.
191
#define ARCH_HAS_SOCKET_TYPES 1
194
TARGET_SOCK_STREAM = 1,
195
TARGET_SOCK_DGRAM = 2,
198
TARGET_SOCK_SEQPACKET = 5,
199
TARGET_SOCK_DCCP = 6,
200
TARGET_SOCK_PACKET = 10,
201
TARGET_SOCK_CLOEXEC = 010000000,
202
TARGET_SOCK_NONBLOCK = 010000000000,
205
#define TARGET_SOCK_MAX (TARGET_SOCK_PACKET + 1)
206
#define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX-1. */
161
/* For setsockopt(2) */
162
#define TARGET_SOL_SOCKET 1
164
#define TARGET_SO_DEBUG 1
165
#define TARGET_SO_REUSEADDR 2
166
#define TARGET_SO_TYPE 3
167
#define TARGET_SO_ERROR 4
168
#define TARGET_SO_DONTROUTE 5
169
#define TARGET_SO_BROADCAST 6
170
#define TARGET_SO_SNDBUF 7
171
#define TARGET_SO_RCVBUF 8
172
#define TARGET_SO_SNDBUFFORCE 32
173
#define TARGET_SO_RCVBUFFORCE 33
174
#define TARGET_SO_KEEPALIVE 9
175
#define TARGET_SO_OOBINLINE 10
176
#define TARGET_SO_NO_CHECK 11
177
#define TARGET_SO_PRIORITY 12
178
#define TARGET_SO_LINGER 13
179
#define TARGET_SO_BSDCOMPAT 14
180
/* To add :#define TARGET_SO_REUSEPORT 15 */
209
#if defined(TARGET_SPARC)
210
/** sock_type - Socket types
212
* Please notice that for binary compat reasons SPARC has to
213
* override the enum sock_type in include/linux/net.h, so
214
* we define ARCH_HAS_SOCKET_TYPES here.
216
* @SOCK_DGRAM - datagram (conn.less) socket
217
* @SOCK_STREAM - stream (connection) socket
218
* @SOCK_RAW - raw socket
219
* @SOCK_RDM - reliably-delivered message
220
* @SOCK_SEQPACKET - sequential packet socket
221
* @SOCK_DCCP - Datagram Congestion Control Protocol socket
222
* @SOCK_PACKET - linux specific way of getting packets at the dev level.
223
* For writing rarp and other similar things on the user
225
* @SOCK_CLOEXEC - sets the close-on-exec (FD_CLOEXEC) flag.
226
* @SOCK_NONBLOCK - sets the O_NONBLOCK file status flag.
229
#define ARCH_HAS_SOCKET_TYPES 1
232
TARGET_SOCK_STREAM = 1,
233
TARGET_SOCK_DGRAM = 2,
236
TARGET_SOCK_SEQPACKET = 5,
237
TARGET_SOCK_DCCP = 6,
238
TARGET_SOCK_PACKET = 10,
239
TARGET_SOCK_CLOEXEC = 020000000,
240
TARGET_SOCK_NONBLOCK = 040000,
243
#define TARGET_SOCK_MAX (TARGET_SOCK_PACKET + 1)
244
#define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX-1. */
247
/* For setsockopt(2) */
248
#define TARGET_SOL_SOCKET 1
250
#define TARGET_SO_DEBUG 1
251
#define TARGET_SO_REUSEADDR 2
252
#define TARGET_SO_TYPE 3
253
#define TARGET_SO_ERROR 4
254
#define TARGET_SO_DONTROUTE 5
255
#define TARGET_SO_BROADCAST 6
256
#define TARGET_SO_SNDBUF 7
257
#define TARGET_SO_RCVBUF 8
258
#define TARGET_SO_SNDBUFFORCE 32
259
#define TARGET_SO_RCVBUFFORCE 33
260
#define TARGET_SO_KEEPALIVE 9
261
#define TARGET_SO_OOBINLINE 10
262
#define TARGET_SO_NO_CHECK 11
263
#define TARGET_SO_PRIORITY 12
264
#define TARGET_SO_LINGER 13
265
#define TARGET_SO_BSDCOMPAT 14
266
/* To add :#define TARGET_SO_REUSEPORT 15 */
181
267
#if defined(TARGET_PPC)
182
#define TARGET_SO_RCVLOWAT 16
183
#define TARGET_SO_SNDLOWAT 17
184
#define TARGET_SO_RCVTIMEO 18
185
#define TARGET_SO_SNDTIMEO 19
186
#define TARGET_SO_PASSCRED 20
187
#define TARGET_SO_PEERCRED 21
268
#define TARGET_SO_RCVLOWAT 16
269
#define TARGET_SO_SNDLOWAT 17
270
#define TARGET_SO_RCVTIMEO 18
271
#define TARGET_SO_SNDTIMEO 19
272
#define TARGET_SO_PASSCRED 20
273
#define TARGET_SO_PEERCRED 21
189
#define TARGET_SO_PASSCRED 16
190
#define TARGET_SO_PEERCRED 17
191
#define TARGET_SO_RCVLOWAT 18
192
#define TARGET_SO_SNDLOWAT 19
193
#define TARGET_SO_RCVTIMEO 20
194
#define TARGET_SO_SNDTIMEO 21
197
/* Security levels - as per NRL IPv6 - don't actually do anything */
198
#define TARGET_SO_SECURITY_AUTHENTICATION 22
199
#define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT 23
200
#define TARGET_SO_SECURITY_ENCRYPTION_NETWORK 24
202
#define TARGET_SO_BINDTODEVICE 25
204
/* Socket filtering */
205
#define TARGET_SO_ATTACH_FILTER 26
206
#define TARGET_SO_DETACH_FILTER 27
208
#define TARGET_SO_PEERNAME 28
209
#define TARGET_SO_TIMESTAMP 29
210
#define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP
212
#define TARGET_SO_ACCEPTCONN 30
214
#define TARGET_SO_PEERSEC 31
275
#define TARGET_SO_PASSCRED 16
276
#define TARGET_SO_PEERCRED 17
277
#define TARGET_SO_RCVLOWAT 18
278
#define TARGET_SO_SNDLOWAT 19
279
#define TARGET_SO_RCVTIMEO 20
280
#define TARGET_SO_SNDTIMEO 21
283
/* Security levels - as per NRL IPv6 - don't actually do anything */
284
#define TARGET_SO_SECURITY_AUTHENTICATION 22
285
#define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT 23
286
#define TARGET_SO_SECURITY_ENCRYPTION_NETWORK 24
288
#define TARGET_SO_BINDTODEVICE 25
290
/* Socket filtering */
291
#define TARGET_SO_ATTACH_FILTER 26
292
#define TARGET_SO_DETACH_FILTER 27
294
#define TARGET_SO_PEERNAME 28
295
#define TARGET_SO_TIMESTAMP 29
296
#define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP
298
#define TARGET_SO_ACCEPTCONN 30
300
#define TARGET_SO_PEERSEC 31
304
#ifndef ARCH_HAS_SOCKET_TYPES
305
/** sock_type - Socket types - default values
308
* @SOCK_STREAM - stream (connection) socket
309
* @SOCK_DGRAM - datagram (conn.less) socket
310
* @SOCK_RAW - raw socket
311
* @SOCK_RDM - reliably-delivered message
312
* @SOCK_SEQPACKET - sequential packet socket
313
* @SOCK_DCCP - Datagram Congestion Control Protocol socket
314
* @SOCK_PACKET - linux specific way of getting packets at the dev level.
315
* For writing rarp and other similar things on the user
317
* @SOCK_CLOEXEC - sets the close-on-exec (FD_CLOEXEC) flag.
318
* @SOCK_NONBLOCK - sets the O_NONBLOCK file status flag.
321
TARGET_SOCK_STREAM = 1,
322
TARGET_SOCK_DGRAM = 2,
325
TARGET_SOCK_SEQPACKET = 5,
326
TARGET_SOCK_DCCP = 6,
327
TARGET_SOCK_PACKET = 10,
328
TARGET_SOCK_CLOEXEC = 02000000,
329
TARGET_SOCK_NONBLOCK = 04000,
332
#define TARGET_SOCK_MAX (TARGET_SOCK_PACKET + 1)
333
#define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX-1. */