]>
Commit | Line | Data |
---|---|---|
3532fa74 FB |
1 | |
2 | #if defined(TARGET_MIPS) | |
3 | // MIPS special values for constants | |
4 | ||
5 | /* | |
6 | * For setsockopt(2) | |
7 | * | |
8 | * This defines are ABI conformant as far as Linux supports these ... | |
9 | */ | |
10 | #define TARGET_SOL_SOCKET 0xffff | |
11 | ||
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. */ | |
22 | #if 0 | |
23 | To add: #define TARGET_SO_REUSEPORT 0x0200 /* Allow local address and port reuse. */ | |
24 | #endif | |
25 | ||
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 | |
36 | ||
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 | |
41 | ||
42 | #define TARGET_SO_PASSCRED 17 | |
43 | #define TARGET_SO_PEERCRED 18 | |
44 | ||
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 | |
49 | ||
50 | #define TARGET_SO_BINDTODEVICE 25 | |
51 | ||
52 | /* Socket filtering */ | |
53 | #define TARGET_SO_ATTACH_FILTER 26 | |
54 | #define TARGET_SO_DETACH_FILTER 27 | |
55 | ||
56 | #define TARGET_SO_PEERNAME 28 | |
57 | #define TARGET_SO_TIMESTAMP 29 | |
58 | #define SCM_TIMESTAMP SO_TIMESTAMP | |
59 | ||
60 | #define TARGET_SO_PEERSEC 30 | |
61 | #define TARGET_SO_SNDBUFFORCE 31 | |
62 | #define TARGET_SO_RCVBUFFORCE 33 | |
63 | ||
64 | /** sock_type - Socket types | |
65 | * | |
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. | |
69 | * | |
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. | |
77 | */ | |
78 | enum sock_type { | |
79 | TARGET_SOCK_DGRAM = 1, | |
80 | TARGET_SOCK_STREAM = 2, | |
81 | TARGET_SOCK_RAW = 3, | |
82 | TARGET_SOCK_RDM = 4, | |
83 | TARGET_SOCK_SEQPACKET = 5, | |
84 | TARGET_SOCK_DCCP = 6, | |
85 | TARGET_SOCK_PACKET = 10, | |
86 | }; | |
87 | ||
88 | #define TARGET_SOCK_MAX (SOCK_PACKET + 1) | |
89 | ||
90 | #else | |
91 | ||
92 | /* For setsockopt(2) */ | |
93 | #define TARGET_SOL_SOCKET 1 | |
94 | ||
95 | #define TARGET_SO_DEBUG 1 | |
96 | #define TARGET_SO_REUSEADDR 2 | |
97 | #define TARGET_SO_TYPE 3 | |
98 | #define TARGET_SO_ERROR 4 | |
99 | #define TARGET_SO_DONTROUTE 5 | |
100 | #define TARGET_SO_BROADCAST 6 | |
101 | #define TARGET_SO_SNDBUF 7 | |
102 | #define TARGET_SO_RCVBUF 8 | |
103 | #define TARGET_SO_SNDBUFFORCE 32 | |
104 | #define TARGET_SO_RCVBUFFORCE 33 | |
105 | #define TARGET_SO_KEEPALIVE 9 | |
106 | #define TARGET_SO_OOBINLINE 10 | |
107 | #define TARGET_SO_NO_CHECK 11 | |
108 | #define TARGET_SO_PRIORITY 12 | |
109 | #define TARGET_SO_LINGER 13 | |
110 | #define TARGET_SO_BSDCOMPAT 14 | |
111 | /* To add :#define TARGET_SO_REUSEPORT 15 */ | |
e32448e0 JM |
112 | #if defined(TARGET_PPC) |
113 | #define TARGET_SO_RCVLOWAT 16 | |
114 | #define TARGET_SO_SNDLOWAT 17 | |
115 | #define TARGET_SO_RCVTIMEO 18 | |
116 | #define TARGET_SO_SNDTIMEO 19 | |
117 | #define TARGET_SO_PASSCRED 20 | |
118 | #define TARGET_SO_PEERCRED 21 | |
119 | #else | |
3532fa74 FB |
120 | #define TARGET_SO_PASSCRED 16 |
121 | #define TARGET_SO_PEERCRED 17 | |
122 | #define TARGET_SO_RCVLOWAT 18 | |
123 | #define TARGET_SO_SNDLOWAT 19 | |
124 | #define TARGET_SO_RCVTIMEO 20 | |
125 | #define TARGET_SO_SNDTIMEO 21 | |
e32448e0 | 126 | #endif |
3532fa74 FB |
127 | |
128 | /* Security levels - as per NRL IPv6 - don't actually do anything */ | |
129 | #define TARGET_SO_SECURITY_AUTHENTICATION 22 | |
130 | #define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT 23 | |
131 | #define TARGET_SO_SECURITY_ENCRYPTION_NETWORK 24 | |
132 | ||
133 | #define TARGET_SO_BINDTODEVICE 25 | |
134 | ||
135 | /* Socket filtering */ | |
136 | #define TARGET_SO_ATTACH_FILTER 26 | |
137 | #define TARGET_SO_DETACH_FILTER 27 | |
138 | ||
139 | #define TARGET_SO_PEERNAME 28 | |
140 | #define TARGET_SO_TIMESTAMP 29 | |
141 | #define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP | |
142 | ||
143 | #define TARGET_SO_ACCEPTCONN 30 | |
144 | ||
145 | #define TARGET_SO_PEERSEC 31 | |
146 | ||
147 | #endif |