]> git.lizzy.rs Git - rust.git/blob - library/std/src/sys/unsupported/net.rs
Remove socklen_t from platforms where it's no longer used
[rust.git] / library / std / src / sys / unsupported / net.rs
1 use crate::fmt;
2 use crate::io::{self, IoSlice, IoSliceMut};
3 use crate::net::{Ipv4Addr, Ipv6Addr, Shutdown, SocketAddr};
4 use crate::sys::unsupported;
5 use crate::time::Duration;
6
7 pub struct TcpStream(!);
8
9 impl TcpStream {
10     pub fn connect(_: io::Result<&SocketAddr>) -> io::Result<TcpStream> {
11         unsupported()
12     }
13
14     pub fn connect_timeout(_: &SocketAddr, _: Duration) -> io::Result<TcpStream> {
15         unsupported()
16     }
17
18     pub fn set_read_timeout(&self, _: Option<Duration>) -> io::Result<()> {
19         self.0
20     }
21
22     pub fn set_write_timeout(&self, _: Option<Duration>) -> io::Result<()> {
23         self.0
24     }
25
26     pub fn read_timeout(&self) -> io::Result<Option<Duration>> {
27         self.0
28     }
29
30     pub fn write_timeout(&self) -> io::Result<Option<Duration>> {
31         self.0
32     }
33
34     pub fn peek(&self, _: &mut [u8]) -> io::Result<usize> {
35         self.0
36     }
37
38     pub fn read(&self, _: &mut [u8]) -> io::Result<usize> {
39         self.0
40     }
41
42     pub fn read_vectored(&self, _: &mut [IoSliceMut<'_>]) -> io::Result<usize> {
43         self.0
44     }
45
46     pub fn is_read_vectored(&self) -> bool {
47         self.0
48     }
49
50     pub fn write(&self, _: &[u8]) -> io::Result<usize> {
51         self.0
52     }
53
54     pub fn write_vectored(&self, _: &[IoSlice<'_>]) -> io::Result<usize> {
55         self.0
56     }
57
58     pub fn is_write_vectored(&self) -> bool {
59         self.0
60     }
61
62     pub fn peer_addr(&self) -> io::Result<SocketAddr> {
63         self.0
64     }
65
66     pub fn socket_addr(&self) -> io::Result<SocketAddr> {
67         self.0
68     }
69
70     pub fn shutdown(&self, _: Shutdown) -> io::Result<()> {
71         self.0
72     }
73
74     pub fn duplicate(&self) -> io::Result<TcpStream> {
75         self.0
76     }
77
78     pub fn set_linger(&self, _: Option<Duration>) -> io::Result<()> {
79         self.0
80     }
81
82     pub fn linger(&self) -> io::Result<Option<Duration>> {
83         self.0
84     }
85
86     pub fn set_nodelay(&self, _: bool) -> io::Result<()> {
87         self.0
88     }
89
90     pub fn nodelay(&self) -> io::Result<bool> {
91         self.0
92     }
93
94     pub fn set_ttl(&self, _: u32) -> io::Result<()> {
95         self.0
96     }
97
98     pub fn ttl(&self) -> io::Result<u32> {
99         self.0
100     }
101
102     pub fn take_error(&self) -> io::Result<Option<io::Error>> {
103         self.0
104     }
105
106     pub fn set_nonblocking(&self, _: bool) -> io::Result<()> {
107         self.0
108     }
109 }
110
111 impl fmt::Debug for TcpStream {
112     fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result {
113         self.0
114     }
115 }
116
117 pub struct TcpListener(!);
118
119 impl TcpListener {
120     pub fn bind(_: io::Result<&SocketAddr>) -> io::Result<TcpListener> {
121         unsupported()
122     }
123
124     pub fn socket_addr(&self) -> io::Result<SocketAddr> {
125         self.0
126     }
127
128     pub fn accept(&self) -> io::Result<(TcpStream, SocketAddr)> {
129         self.0
130     }
131
132     pub fn duplicate(&self) -> io::Result<TcpListener> {
133         self.0
134     }
135
136     pub fn set_ttl(&self, _: u32) -> io::Result<()> {
137         self.0
138     }
139
140     pub fn ttl(&self) -> io::Result<u32> {
141         self.0
142     }
143
144     pub fn set_only_v6(&self, _: bool) -> io::Result<()> {
145         self.0
146     }
147
148     pub fn only_v6(&self) -> io::Result<bool> {
149         self.0
150     }
151
152     pub fn take_error(&self) -> io::Result<Option<io::Error>> {
153         self.0
154     }
155
156     pub fn set_nonblocking(&self, _: bool) -> io::Result<()> {
157         self.0
158     }
159 }
160
161 impl fmt::Debug for TcpListener {
162     fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result {
163         self.0
164     }
165 }
166
167 pub struct UdpSocket(!);
168
169 impl UdpSocket {
170     pub fn bind(_: io::Result<&SocketAddr>) -> io::Result<UdpSocket> {
171         unsupported()
172     }
173
174     pub fn peer_addr(&self) -> io::Result<SocketAddr> {
175         self.0
176     }
177
178     pub fn socket_addr(&self) -> io::Result<SocketAddr> {
179         self.0
180     }
181
182     pub fn recv_from(&self, _: &mut [u8]) -> io::Result<(usize, SocketAddr)> {
183         self.0
184     }
185
186     pub fn peek_from(&self, _: &mut [u8]) -> io::Result<(usize, SocketAddr)> {
187         self.0
188     }
189
190     pub fn send_to(&self, _: &[u8], _: &SocketAddr) -> io::Result<usize> {
191         self.0
192     }
193
194     pub fn duplicate(&self) -> io::Result<UdpSocket> {
195         self.0
196     }
197
198     pub fn set_read_timeout(&self, _: Option<Duration>) -> io::Result<()> {
199         self.0
200     }
201
202     pub fn set_write_timeout(&self, _: Option<Duration>) -> io::Result<()> {
203         self.0
204     }
205
206     pub fn read_timeout(&self) -> io::Result<Option<Duration>> {
207         self.0
208     }
209
210     pub fn write_timeout(&self) -> io::Result<Option<Duration>> {
211         self.0
212     }
213
214     pub fn set_broadcast(&self, _: bool) -> io::Result<()> {
215         self.0
216     }
217
218     pub fn broadcast(&self) -> io::Result<bool> {
219         self.0
220     }
221
222     pub fn set_multicast_loop_v4(&self, _: bool) -> io::Result<()> {
223         self.0
224     }
225
226     pub fn multicast_loop_v4(&self) -> io::Result<bool> {
227         self.0
228     }
229
230     pub fn set_multicast_ttl_v4(&self, _: u32) -> io::Result<()> {
231         self.0
232     }
233
234     pub fn multicast_ttl_v4(&self) -> io::Result<u32> {
235         self.0
236     }
237
238     pub fn set_multicast_loop_v6(&self, _: bool) -> io::Result<()> {
239         self.0
240     }
241
242     pub fn multicast_loop_v6(&self) -> io::Result<bool> {
243         self.0
244     }
245
246     pub fn join_multicast_v4(&self, _: &Ipv4Addr, _: &Ipv4Addr) -> io::Result<()> {
247         self.0
248     }
249
250     pub fn join_multicast_v6(&self, _: &Ipv6Addr, _: u32) -> io::Result<()> {
251         self.0
252     }
253
254     pub fn leave_multicast_v4(&self, _: &Ipv4Addr, _: &Ipv4Addr) -> io::Result<()> {
255         self.0
256     }
257
258     pub fn leave_multicast_v6(&self, _: &Ipv6Addr, _: u32) -> io::Result<()> {
259         self.0
260     }
261
262     pub fn set_ttl(&self, _: u32) -> io::Result<()> {
263         self.0
264     }
265
266     pub fn ttl(&self) -> io::Result<u32> {
267         self.0
268     }
269
270     pub fn take_error(&self) -> io::Result<Option<io::Error>> {
271         self.0
272     }
273
274     pub fn set_nonblocking(&self, _: bool) -> io::Result<()> {
275         self.0
276     }
277
278     pub fn recv(&self, _: &mut [u8]) -> io::Result<usize> {
279         self.0
280     }
281
282     pub fn peek(&self, _: &mut [u8]) -> io::Result<usize> {
283         self.0
284     }
285
286     pub fn send(&self, _: &[u8]) -> io::Result<usize> {
287         self.0
288     }
289
290     pub fn connect(&self, _: io::Result<&SocketAddr>) -> io::Result<()> {
291         self.0
292     }
293 }
294
295 impl fmt::Debug for UdpSocket {
296     fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result {
297         self.0
298     }
299 }
300
301 pub struct LookupHost(!);
302
303 impl LookupHost {
304     pub fn port(&self) -> u16 {
305         self.0
306     }
307 }
308
309 impl Iterator for LookupHost {
310     type Item = SocketAddr;
311     fn next(&mut self) -> Option<SocketAddr> {
312         self.0
313     }
314 }
315
316 impl TryFrom<&str> for LookupHost {
317     type Error = io::Error;
318
319     fn try_from(_v: &str) -> io::Result<LookupHost> {
320         unsupported()
321     }
322 }
323
324 impl<'a> TryFrom<(&'a str, u16)> for LookupHost {
325     type Error = io::Error;
326
327     fn try_from(_v: (&'a str, u16)) -> io::Result<LookupHost> {
328         unsupported()
329     }
330 }
331
332 #[allow(nonstandard_style)]
333 pub mod netc {
334     pub const AF_INET: u8 = 0;
335     pub const AF_INET6: u8 = 1;
336     pub type sa_family_t = u8;
337
338     #[derive(Copy, Clone)]
339     pub struct in_addr {
340         pub s_addr: u32,
341     }
342
343     #[derive(Copy, Clone)]
344     pub struct sockaddr_in {
345         pub sin_family: sa_family_t,
346         pub sin_port: u16,
347         pub sin_addr: in_addr,
348     }
349
350     #[derive(Copy, Clone)]
351     pub struct in6_addr {
352         pub s6_addr: [u8; 16],
353     }
354
355     #[derive(Copy, Clone)]
356     pub struct sockaddr_in6 {
357         pub sin6_family: sa_family_t,
358         pub sin6_port: u16,
359         pub sin6_addr: in6_addr,
360         pub sin6_flowinfo: u32,
361         pub sin6_scope_id: u32,
362     }
363
364     #[derive(Copy, Clone)]
365     pub struct sockaddr {}
366 }