Lines Matching refs:fd

11 use backend::fd::AsFd;
16 /// `getsockopt(fd, SOL_SOCKET, SO_TYPE)`—Returns the type of a socket.
34 pub fn get_socket_type<Fd: AsFd>(fd: Fd) -> io::Result<SocketType> {
35 backend::net::syscalls::sockopt::get_socket_type(fd.as_fd())
38 /// `setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, value)`
56 pub fn set_socket_reuseaddr<Fd: AsFd>(fd: Fd, value: bool) -> io::Result<()> {
57 backend::net::syscalls::sockopt::set_socket_reuseaddr(fd.as_fd(), value)
60 /// `setsockopt(fd, SOL_SOCKET, SO_BROADCAST, broadcast)`
78 pub fn set_socket_broadcast<Fd: AsFd>(fd: Fd, broadcast: bool) -> io::Result<()> {
79 backend::net::syscalls::sockopt::set_socket_broadcast(fd.as_fd(), broadcast)
82 /// `getsockopt(fd, SOL_SOCKET, SO_BROADCAST)`
100 pub fn get_socket_broadcast<Fd: AsFd>(fd: Fd) -> io::Result<bool> {
101 backend::net::syscalls::sockopt::get_socket_broadcast(fd.as_fd())
104 /// `setsockopt(fd, SOL_SOCKET, SO_LINGER, linger)`
122 pub fn set_socket_linger<Fd: AsFd>(fd: Fd, linger: Option<Duration>) -> io::Result<()> {
123 backend::net::syscalls::sockopt::set_socket_linger(fd.as_fd(), linger)
126 /// `getsockopt(fd, SOL_SOCKET, SO_LINGER)`
144 pub fn get_socket_linger<Fd: AsFd>(fd: Fd) -> io::Result<Option<Duration>> {
145 backend::net::syscalls::sockopt::get_socket_linger(fd.as_fd())
148 /// `setsockopt(fd, SOL_SOCKET, SO_PASSCRED, passcred)`
159 pub fn set_socket_passcred<Fd: AsFd>(fd: Fd, passcred: bool) -> io::Result<()> {
160 backend::net::syscalls::sockopt::set_socket_passcred(fd.as_fd(), passcred)
163 /// `getsockopt(fd, SOL_SOCKET, SO_PASSCRED)`
174 pub fn get_socket_passcred<Fd: AsFd>(fd: Fd) -> io::Result<bool> {
175 backend::net::syscalls::sockopt::get_socket_passcred(fd.as_fd())
178 /// `setsockopt(fd, SOL_SOCKET, id, timeout)`—Set the sending
199 fd: Fd,
203 backend::net::syscalls::sockopt::set_socket_timeout(fd.as_fd(), id, timeout)
206 /// `getsockopt(fd, SOL_SOCKET, id)`—Get the sending or receiving timeout.
225 pub fn get_socket_timeout<Fd: AsFd>(fd: Fd, id: Timeout) -> io::Result<Option<Duration>> {
226 backend::net::syscalls::sockopt::get_socket_timeout(fd.as_fd(), id)
229 /// `setsockopt(fd, IPPROTO_IP, IP_TTL, ttl)`
246 pub fn set_ip_ttl<Fd: AsFd>(fd: Fd, ttl: u32) -> io::Result<()> {
247 backend::net::syscalls::sockopt::set_ip_ttl(fd.as_fd(), ttl)
250 /// `getsockopt(fd, IPPROTO_IP, IP_TTL)`
268 pub fn get_ip_ttl<Fd: AsFd>(fd: Fd) -> io::Result<u32> {
269 backend::net::syscalls::sockopt::get_ip_ttl(fd.as_fd())
272 /// `setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, only_v6)`
290 pub fn set_ipv6_v6only<Fd: AsFd>(fd: Fd, only_v6: bool) -> io::Result<()> {
291 backend::net::syscalls::sockopt::set_ipv6_v6only(fd.as_fd(), only_v6)
294 /// `getsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY)`
312 pub fn get_ipv6_v6only<Fd: AsFd>(fd: Fd) -> io::Result<bool> {
313 backend::net::syscalls::sockopt::get_ipv6_v6only(fd.as_fd())
316 /// `setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, multicast_loop)`
334 pub fn set_ip_multicast_loop<Fd: AsFd>(fd: Fd, multicast_loop: bool) -> io::Result<()> {
335 backend::net::syscalls::sockopt::set_ip_multicast_loop(fd.as_fd(), multicast_loop)
338 /// `getsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP)`
356 pub fn get_ip_multicast_loop<Fd: AsFd>(fd: Fd) -> io::Result<bool> {
357 backend::net::syscalls::sockopt::get_ip_multicast_loop(fd.as_fd())
360 /// `setsockopt(fd, IPPROTO_IP, IP_MULTICAST_TTL, multicast_ttl)`
378 pub fn set_ip_multicast_ttl<Fd: AsFd>(fd: Fd, multicast_ttl: u32) -> io::Result<()> {
379 backend::net::syscalls::sockopt::set_ip_multicast_ttl(fd.as_fd(), multicast_ttl)
382 /// `getsockopt(fd, IPPROTO_IP, IP_MULTICAST_TTL)`
400 pub fn get_ip_multicast_ttl<Fd: AsFd>(fd: Fd) -> io::Result<u32> {
401 backend::net::syscalls::sockopt::get_ip_multicast_ttl(fd.as_fd())
404 /// `setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, multicast_loop)`
422 pub fn set_ipv6_multicast_loop<Fd: AsFd>(fd: Fd, multicast_loop: bool) -> io::Result<()> {
423 backend::net::syscalls::sockopt::set_ipv6_multicast_loop(fd.as_fd(), multicast_loop)
426 /// `getsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP)`
444 pub fn get_ipv6_multicast_loop<Fd: AsFd>(fd: Fd) -> io::Result<bool> {
445 backend::net::syscalls::sockopt::get_ipv6_multicast_loop(fd.as_fd())
448 /// `setsockopt(fd, IPPROTO_IP, IPV6_MULTICAST_HOPS, multicast_hops)`
466 pub fn set_ipv6_multicast_hops<Fd: AsFd>(fd: Fd, multicast_hops: u32) -> io::Result<()> {
467 backend::net::syscalls::sockopt::set_ipv6_multicast_hops(fd.as_fd(), multicast_hops)
470 /// `getsockopt(fd, IPPROTO_IP, IPV6_MULTICAST_HOPS)`
488 pub fn get_ipv6_multicast_hops<Fd: AsFd>(fd: Fd) -> io::Result<u32> {
489 backend::net::syscalls::sockopt::get_ipv6_multicast_hops(fd.as_fd())
492 /// `setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, multiaddr, interface)`
511 fd: Fd,
515 backend::net::syscalls::sockopt::set_ip_add_membership(fd.as_fd(), multiaddr, interface)
518 /// `setsockopt(fd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, multiaddr, interface)`
540 fd: Fd,
544 backend::net::syscalls::sockopt::set_ipv6_add_membership(fd.as_fd(), multiaddr, interface)
547 /// `setsockopt(fd, IPPROTO_IP, IP_DROP_MEMBERSHIP, multiaddr, interface)`
566 fd: Fd,
570 backend::net::syscalls::sockopt::set_ip_drop_membership(fd.as_fd(), multiaddr, interface)
573 /// `setsockopt(fd, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP, multiaddr, interface)`
595 fd: Fd,
599 backend::net::syscalls::sockopt::set_ipv6_drop_membership(fd.as_fd(), multiaddr, interface)
602 /// `setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, nodelay)`
620 pub fn set_tcp_nodelay<Fd: AsFd>(fd: Fd, nodelay: bool) -> io::Result<()> {
621 backend::net::syscalls::sockopt::set_tcp_nodelay(fd.as_fd(), nodelay)
624 /// `getsockopt(fd, IPPROTO_TCP, TCP_NODELAY)`
642 pub fn get_tcp_nodelay<Fd: AsFd>(fd: Fd) -> io::Result<bool> {
643 backend::net::syscalls::sockopt::get_tcp_nodelay(fd.as_fd())