1 use crate::net::TcpKeepalive;
2 use std::io;
3 use std::net::{self, SocketAddr};
4 use std::time::Duration;
5
6 pub(crate) type TcpSocket = i32;
7
new_v4_socket() -> io::Result<TcpSocket>8 pub(crate) fn new_v4_socket() -> io::Result<TcpSocket> {
9 os_required!();
10 }
11
new_v6_socket() -> io::Result<TcpSocket>12 pub(crate) fn new_v6_socket() -> io::Result<TcpSocket> {
13 os_required!();
14 }
15
bind(_socket: TcpSocket, _addr: SocketAddr) -> io::Result<()>16 pub(crate) fn bind(_socket: TcpSocket, _addr: SocketAddr) -> io::Result<()> {
17 os_required!();
18 }
19
connect(_: TcpSocket, _addr: SocketAddr) -> io::Result<net::TcpStream>20 pub(crate) fn connect(_: TcpSocket, _addr: SocketAddr) -> io::Result<net::TcpStream> {
21 os_required!();
22 }
23
listen(_: TcpSocket, _: u32) -> io::Result<net::TcpListener>24 pub(crate) fn listen(_: TcpSocket, _: u32) -> io::Result<net::TcpListener> {
25 os_required!();
26 }
27
close(_: TcpSocket)28 pub(crate) fn close(_: TcpSocket) {
29 os_required!();
30 }
31
set_reuseaddr(_: TcpSocket, _: bool) -> io::Result<()>32 pub(crate) fn set_reuseaddr(_: TcpSocket, _: bool) -> io::Result<()> {
33 os_required!();
34 }
35
get_reuseaddr(_: TcpSocket) -> io::Result<bool>36 pub(crate) fn get_reuseaddr(_: TcpSocket) -> io::Result<bool> {
37 os_required!();
38 }
39
40 #[cfg(all(unix, not(any(target_os = "solaris", target_os = "illumos"))))]
set_reuseport(_: TcpSocket, _: bool) -> io::Result<()>41 pub(crate) fn set_reuseport(_: TcpSocket, _: bool) -> io::Result<()> {
42 os_required!();
43 }
44
45 #[cfg(all(unix, not(any(target_os = "solaris", target_os = "illumos"))))]
get_reuseport(_: TcpSocket) -> io::Result<bool>46 pub(crate) fn get_reuseport(_: TcpSocket) -> io::Result<bool> {
47 os_required!();
48 }
49
set_linger(_: TcpSocket, _: Option<Duration>) -> io::Result<()>50 pub(crate) fn set_linger(_: TcpSocket, _: Option<Duration>) -> io::Result<()> {
51 os_required!();
52 }
53
get_linger(_: TcpSocket) -> io::Result<Option<Duration>>54 pub(crate) fn get_linger(_: TcpSocket) -> io::Result<Option<Duration>> {
55 os_required!();
56 }
57
set_recv_buffer_size(_: TcpSocket, _: u32) -> io::Result<()>58 pub(crate) fn set_recv_buffer_size(_: TcpSocket, _: u32) -> io::Result<()> {
59 os_required!();
60 }
61
get_recv_buffer_size(_: TcpSocket) -> io::Result<u32>62 pub(crate) fn get_recv_buffer_size(_: TcpSocket) -> io::Result<u32> {
63 os_required!();
64 }
65
set_send_buffer_size(_: TcpSocket, _: u32) -> io::Result<()>66 pub(crate) fn set_send_buffer_size(_: TcpSocket, _: u32) -> io::Result<()> {
67 os_required!();
68 }
69
get_send_buffer_size(_: TcpSocket) -> io::Result<u32>70 pub(crate) fn get_send_buffer_size(_: TcpSocket) -> io::Result<u32> {
71 os_required!();
72 }
73
set_keepalive(_: TcpSocket, _: bool) -> io::Result<()>74 pub(crate) fn set_keepalive(_: TcpSocket, _: bool) -> io::Result<()> {
75 os_required!();
76 }
77
get_keepalive(_: TcpSocket) -> io::Result<bool>78 pub(crate) fn get_keepalive(_: TcpSocket) -> io::Result<bool> {
79 os_required!();
80 }
81
set_keepalive_params(_: TcpSocket, _: TcpKeepalive) -> io::Result<()>82 pub(crate) fn set_keepalive_params(_: TcpSocket, _: TcpKeepalive) -> io::Result<()> {
83 os_required!()
84 }
85
86 #[cfg(any(
87 target_os = "android",
88 target_os = "linux",
89 target_os = "macos",
90 target_os = "ios",
91 target_os = "freebsd",
92 target_os = "netbsd",
93 target_os = "solaris",
94 ))]
get_keepalive_time(_: TcpSocket) -> io::Result<Option<Duration>>95 pub(crate) fn get_keepalive_time(_: TcpSocket) -> io::Result<Option<Duration>> {
96 os_required!()
97 }
98
99 #[cfg(any(
100 target_os = "linux",
101 target_os = "macos",
102 target_os = "ios",
103 target_os = "freebsd",
104 target_os = "netbsd",
105 ))]
get_keepalive_interval(_: TcpSocket) -> io::Result<Option<Duration>>106 pub(crate) fn get_keepalive_interval(_: TcpSocket) -> io::Result<Option<Duration>> {
107 os_required!()
108 }
109
110 #[cfg(any(
111 target_os = "linux",
112 target_os = "macos",
113 target_os = "ios",
114 target_os = "freebsd",
115 target_os = "netbsd",
116 ))]
get_keepalive_retries(_: TcpSocket) -> io::Result<Option<u32>>117 pub(crate) fn get_keepalive_retries(_: TcpSocket) -> io::Result<Option<u32>> {
118 os_required!()
119 }
120
accept(_: &net::TcpListener) -> io::Result<(net::TcpStream, SocketAddr)>121 pub fn accept(_: &net::TcpListener) -> io::Result<(net::TcpStream, SocketAddr)> {
122 os_required!();
123 }
124
get_localaddr(_: TcpSocket) -> io::Result<SocketAddr>125 pub(crate) fn get_localaddr(_: TcpSocket) -> io::Result<SocketAddr> {
126 os_required!();
127 }
128