Available on crate feature
net
only.Expand description
getsockopt
and setsockopt
functions.
In the rustix API, there is a separate function for each option, so that it can be given an option-specific type signature.
§References for all get_*
functions:
- POSIX
getsockopt
- Linux
getsockopt
- Winsock
getsockopt
- Apple
getsockopt
- FreeBSD
getsockopt
- NetBSD
getsockopt
- OpenBSD
getsockopt
- DragonFly BSD
getsockopt
- illumos
getsockopt
- glibc
getsockopt
§References for all set_*
functions:
- POSIX
setsockopt
- Linux
setsockopt
- Winsock
setsockopt
- Apple
setsockopt
- FreeBSD
setsockopt
- NetBSD
setsockopt
- OpenBSD
setsockopt
- DragonFly BSD
setsockopt
- illumos
setsockopt
- glibc
setsockopt
§References for get_socket_*
and set_socket_*
functions:
- References for all
get_*
functions - References for all
set_*
functions - POSIX
sys/socket.h
- Linux
socket
- Winsock
SOL_SOCKET
options - glibc
SOL_SOCKET
Options
§References for get_ip_*
and set_ip_*
functions:
- References for all
get_*
functions - References for all
set_*
functions - POSIX
netinet/in.h
- Linux
ip
- Winsock
IPPROTO_IP
options - Apple
ip
- FreeBSD
ip
- NetBSD
ip
- OpenBSD
ip
- DragonFly BSD
ip
- illumos
ip
§References for get_ipv6_*
and set_ipv6_*
functions:
- References for all
get_*
functions - References for all
set_*
functions - POSIX
netinet/in.h
- Linux
ipv6
- Winsock
IPPROTO_IPV6
options - Apple
ip6
- FreeBSD
ip6
- NetBSD
ip6
- OpenBSD
ip6
- DragonFly BSD
ip6
- illumos
ip6
§References for get_tcp_*
and set_tcp_*
functions:
Enums§
- Timeout
- Timeout identifier for use with
set_socket_timeout
andget_socket_timeout
.
Functions§
- get_
ip_ freebind getsockopt(fd, IPPROTO_IP, IP_FREEBIND)
- get_
ip_ multicast_ loop getsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP)
- get_
ip_ multicast_ ttl getsockopt(fd, IPPROTO_IP, IP_MULTICAST_TTL)
- get_
ip_ original_ dst getsockopt(fd, IPPROTO_IP, SO_ORIGINAL_DST)
- get_
ip_ recvtos getsockopt(fd, IPPROTO_IP, IP_RECVTOS)
- get_
ip_ tos getsockopt(fd, IPPROTO_IP, IP_TOS)
- get_
ip_ ttl getsockopt(fd, IPPROTO_IP, IP_TTL)
- get_
ipv6_ freebind getsockopt(fd, IPPROTO_IPV6, IPV6_FREEBIND)
- get_
ipv6_ multicast_ hops getsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS)
- get_
ipv6_ multicast_ loop getsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP)
- get_
ipv6_ original_ dst getsockopt(fd, IPPROTO_IPV6, IP6T_SO_ORIGINAL_DST)
- get_
ipv6_ recvtclass getsockopt(fd, IPPROTO_IPV6, IPV6_RECVTCLASS)
- get_
ipv6_ tclass getsockopt(fd, IPPROTO_IPV6, IPV6_TCLASS)
- get_
ipv6_ unicast_ hops getsockopt(fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS)
- get_
ipv6_ v6only getsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY)
- get_
socket_ acceptconn getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN)
- get_
socket_ broadcast getsockopt(fd, SOL_SOCKET, SO_BROADCAST)
- get_
socket_ cookie getsockopt(fd, SOL_SOCKET, SO_COOKIE)
- get_
socket_ domain getsockopt(fd, SOL_SOCKET, SO_DOMAIN)
- get_
socket_ error getsockopt(fd, SOL_SOCKET, SO_ERROR)
- get_
socket_ incoming_ cpu getsockopt(fd, SOL_SOCKET, SO_INCOMING_CPU)
- get_
socket_ keepalive getsockopt(fd, SOL_SOCKET, SO_KEEPALIVE)
- get_
socket_ linger getsockopt(fd, SOL_SOCKET, SO_LINGER)
- get_
socket_ oobinline getsockopt(fd, SOL_SOCKET, SO_OOBINLINE)
- get_
socket_ passcred getsockopt(fd, SOL_SOCKET, SO_PASSCRED)
- get_
socket_ peercred getsockopt(fd, SOL_SOCKET, SO_PEERCRED)
—Get credentials of Unix domain socket peer process.- get_
socket_ protocol getsockopt(fd, SOL_SOCKET, SO_PROTOCOL)
- get_
socket_ recv_ buffer_ size getsockopt(fd, SOL_SOCKET, SO_RCVBUF)
- get_
socket_ reuseaddr getsockopt(fd, SOL_SOCKET, SO_REUSEADDR)
- get_
socket_ reuseport getsockopt(fd, SOL_SOCKET, SO_REUSEPORT)
- get_
socket_ send_ buffer_ size getsockopt(fd, SOL_SOCKET, SO_SNDBUF)
- get_
socket_ timeout getsockopt(fd, SOL_SOCKET, id)
—Get the sending or receiving timeout.- get_
socket_ type getsockopt(fd, SOL_SOCKET, SO_TYPE)
—Returns the type of a socket.- get_
tcp_ congestion getsockopt(fd, IPPROTO_TCP, TCP_CONGESTION)
- get_
tcp_ cork getsockopt(fd, IPPROTO_TCP, TCP_CORK)
- get_
tcp_ keepcnt getsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT)
- get_
tcp_ keepidle getsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE)
- get_
tcp_ keepintvl getsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL)
- get_
tcp_ nodelay getsockopt(fd, IPPROTO_TCP, TCP_NODELAY)
- get_
tcp_ quickack getsockopt(fd, IPPROTO_TCP, TCP_QUICKACK)
- get_
tcp_ thin_ linear_ timeouts getsockopt(fd, IPPROTO_TCP, TCP_THIN_LINEAR_TIMEOUTS)
- get_
tcp_ user_ timeout getsockopt(fd, IPPROTO_TCP, TCP_USER_TIMEOUT)
- get_
xdp_ mmap_ offsets getsockopt(fd, SOL_XDP, XDP_MMAP_OFFSETS)
- get_
xdp_ options getsockopt(fd, SOL_XDP, XDP_OPTIONS)
- get_
xdp_ statistics getsockopt(fd, SOL_XDP, XDP_STATISTICS)
- set_
ip_ add_ membership setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, multiaddr, interface)
- set_
ip_ add_ membership_ with_ ifindex setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, multiaddr, address, ifindex)
- set_
ip_ add_ source_ membership setsockopt(fd, IPPROTO_IP, IP_ADD_SOURCE_MEMBERSHIP, value)
- set_
ip_ drop_ membership setsockopt(fd, IPPROTO_IP, IP_DROP_MEMBERSHIP, multiaddr, interface)
- set_
ip_ drop_ membership_ with_ ifindex setsockopt(fd, IPPROTO_IP, IP_DROP_MEMBERSHIP, multiaddr, interface)
- set_
ip_ drop_ source_ membership setsockopt(fd, IPPROTO_IP, IP_DROP_SOURCE_MEMBERSHIP, value)
- set_
ip_ freebind setsockopt(fd, IPPROTO_IP, IP_FREEBIND, value)
- set_
ip_ multicast_ loop setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, value)
- set_
ip_ multicast_ ttl setsockopt(fd, IPPROTO_IP, IP_MULTICAST_TTL, value)
- set_
ip_ recvtos setsockopt(fd, IPPROTO_IP, IP_RECVTOS, value)
- set_
ip_ tos setsockopt(fd, IPPROTO_IP, IP_TOS, value)
- set_
ip_ ttl setsockopt(fd, IPPROTO_IP, IP_TTL, value)
- set_
ipv6_ add_ membership setsockopt(fd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, multiaddr, interface)
- set_
ipv6_ drop_ membership setsockopt(fd, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP, multiaddr, interface)
- set_
ipv6_ freebind setsockopt(fd, IPPROTO_IPV6, IPV6_FREEBIND, value)
- set_
ipv6_ multicast_ hops setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, value)
- set_
ipv6_ multicast_ loop setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, value)
- set_
ipv6_ recvtclass setsockopt(fd, IPPROTO_IPV6, IPV6_RECVTCLASS, value)
- set_
ipv6_ tclass setsockopt(fd, IPPROTO_IPV6, IPV6_TCLASS, value)
- set_
ipv6_ unicast_ hops setsockopt(fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS, value)
- set_
ipv6_ v6only setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, value)
- set_
socket_ broadcast setsockopt(fd, SOL_SOCKET, SO_BROADCAST, value)
- set_
socket_ incoming_ cpu setsockopt(fd, SOL_SOCKET, SO_INCOMING_CPU, value)
- set_
socket_ keepalive setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, value)
- set_
socket_ linger setsockopt(fd, SOL_SOCKET, SO_LINGER, value)
- set_
socket_ oobinline setsockopt(fd, SOL_SOCKET, SO_OOBINLINE, value)
- set_
socket_ passcred setsockopt(fd, SOL_SOCKET, SO_PASSCRED, value)
- set_
socket_ recv_ buffer_ size setsockopt(fd, SOL_SOCKET, SO_RCVBUF, value)
- set_
socket_ recv_ buffer_ size_ force setsockopt(fd, SOL_SOCKET, SO_RCVBUFFORCE, value)
- set_
socket_ reuseaddr setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, value)
—Set whether local addresses may be reused inbind
.- set_
socket_ reuseport setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, value)
- set_
socket_ send_ buffer_ size setsockopt(fd, SOL_SOCKET, SO_SNDBUF, value)
- set_
socket_ timeout setsockopt(fd, SOL_SOCKET, id, value)
—Set the sending or receiving timeout.- set_
tcp_ congestion setsockopt(fd, IPPROTO_TCP, TCP_CONGESTION, value)
- set_
tcp_ cork setsockopt(fd, IPPROTO_TCP, TCP_CORK, value)
- set_
tcp_ keepcnt setsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT, value)
- set_
tcp_ keepidle setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, value)
- set_
tcp_ keepintvl setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, value)
- set_
tcp_ nodelay setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, value)
- set_
tcp_ quickack setsockopt(fd, IPPROTO_TCP, TCP_QUICKACK, value)
- set_
tcp_ thin_ linear_ timeouts setsockopt(fd, IPPROTO_TCP, TCP_THIN_LINEAR_TIMEOUTS, value)
- set_
tcp_ user_ timeout setsockopt(fd, IPPROTO_TCP, TCP_USER_TIMEOUT, value)
- set_
xdp_ rx_ ring_ size setsockopt(fd, SOL_XDP, XDP_RX_RING, value)
- set_
xdp_ tx_ ring_ size setsockopt(fd, SOL_XDP, XDP_TX_RING, value)
- set_
xdp_ umem_ completion_ ring_ size setsockopt(fd, SOL_XDP, XDP_UMEM_COMPLETION_RING, value)
- set_
xdp_ umem_ fill_ ring_ size setsockopt(fd, SOL_XDP, XDP_UMEM_FILL_RING, value)
- set_
xdp_ umem_ reg setsockopt(fd, SOL_XDP, XDP_UMEM_REG, value)