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 getter 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 getter functions
- References for all
set_*functions - POSIX
sys/socket.h - Linux
socket - Winsock
SOL_SOCKEToptions - glibc
SOL_SOCKETOptions
§References for get_ip_* and set_ip_* functions:
- References for all getter functions
- References for all
set_*functions - POSIX
netinet/in.h - Linux
ip - Winsock
IPPROTO_IPoptions - Apple
ip - FreeBSD
ip - NetBSD
ip - OpenBSD
ip - DragonFly BSD
ip - illumos
ip
§References for get_ipv6_* and set_ipv6_* functions:
- References for all getter functions
- References for all
set_*functions - POSIX
netinet/in.h - Linux
ipv6 - Winsock
IPPROTO_IPV6options - Apple
ip6 - FreeBSD
ip6 - NetBSD
ip6 - OpenBSD
ip6 - DragonFly BSD
ip6 - illumos
ip6
§References for get_tcp_* and set_tcp_* functions:
Structs§
- Ipv4
Path MtuDiscovery - IPv4 Path MTU Discovery option values (
IP_PMTUDISC_*) for use withset_ip_mtu_discoverandip_mtu_discover. - Ipv6
Path MtuDiscovery - IPv6 Path MTU Discovery option values (
IPV6_PMTUDISC_*) for use withset_ipv6_mtu_discoverandipv6_mtu_discover.
Enums§
- Timeout
- Timeout identifier for use with
set_socket_timeoutandsocket_timeout.
Functions§
- get_
txtime getsockopt(fd, SOL_SOCKET, SO_TXTIME)— Get transmission timing configuration.- ip_
freebind getsockopt(fd, IPPROTO_IP, IP_FREEBIND)- ip_mtu
getsockopt(fd, IPPROTO_IP, IP_MTU)- ip_
mtu_ discover getsockopt(fd, IPPROTO_IP, IP_MTU_DISCOVER)- ip_
multicast_ if getsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF)- ip_
multicast_ loop getsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP)- ip_
multicast_ ttl getsockopt(fd, IPPROTO_IP, IP_MULTICAST_TTL)- ip_
original_ dst getsockopt(fd, IPPROTO_IP, SO_ORIGINAL_DST)- ip_
recvtos getsockopt(fd, IPPROTO_IP, IP_RECVTOS)- ip_tos
getsockopt(fd, IPPROTO_IP, IP_TOS)- ip_ttl
getsockopt(fd, IPPROTO_IP, IP_TTL)- ipv6_
freebind getsockopt(fd, IPPROTO_IPV6, IPV6_FREEBIND)- ipv6_
mtu getsockopt(fd, IPPROTO_IPV6, IPV6_MTU)- ipv6_
mtu_ discover getsockopt(fd, IPPROTO_IPV6, IPV6_MTU_DISCOVER)- ipv6_
multicast_ hops getsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS)- ipv6_
multicast_ if getsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF)- ipv6_
multicast_ loop getsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP)- ipv6_
original_ dst getsockopt(fd, IPPROTO_IPV6, IP6T_SO_ORIGINAL_DST)- ipv6_
recvtclass getsockopt(fd, IPPROTO_IPV6, IPV6_RECVTCLASS)- ipv6_
tclass getsockopt(fd, IPPROTO_IPV6, IPV6_TCLASS)- ipv6_
unicast_ hops getsockopt(fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS)- ipv6_
v6only getsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY)- 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_ mtu_ discover setsockopt(fd, IPPROTO_IP, IP_MTU_DISCOVER, value)- set_
ip_ multicast_ if setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, value)- set_
ip_ multicast_ if_ with_ ifindex setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, multiaddr, address, ifindex)- 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_ mtu_ discover setsockopt(fd, IPPROTO_IPV6, IPV6_MTU_DISCOVER, value)- set_
ipv6_ multicast_ hops setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, value)- set_
ipv6_ multicast_ if setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, 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_ send_ buffer_ size_ force setsockopt(fd, SOL_SOCKET, SO_SNDBUFFORCE, 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_
txtime setsockopt(fd, SOL_SOCKET, SO_TXTIME)— Configure transmission timing.- 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)- socket_
acceptconn getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN)- socket_
broadcast getsockopt(fd, SOL_SOCKET, SO_BROADCAST)- socket_
cookie getsockopt(fd, SOL_SOCKET, SO_COOKIE)- socket_
domain getsockopt(fd, SOL_SOCKET, SO_DOMAIN)- socket_
error getsockopt(fd, SOL_SOCKET, SO_ERROR)- socket_
incoming_ cpu getsockopt(fd, SOL_SOCKET, SO_INCOMING_CPU)- socket_
keepalive getsockopt(fd, SOL_SOCKET, SO_KEEPALIVE)- socket_
linger getsockopt(fd, SOL_SOCKET, SO_LINGER)- socket_
oobinline getsockopt(fd, SOL_SOCKET, SO_OOBINLINE)- socket_
passcred getsockopt(fd, SOL_SOCKET, SO_PASSCRED)- socket_
peercred getsockopt(fd, SOL_SOCKET, SO_PEERCRED)—Get credentials of Unix domain socket peer process.- socket_
protocol getsockopt(fd, SOL_SOCKET, SO_PROTOCOL)- socket_
recv_ buffer_ size getsockopt(fd, SOL_SOCKET, SO_RCVBUF)- socket_
reuseaddr getsockopt(fd, SOL_SOCKET, SO_REUSEADDR)- socket_
reuseport getsockopt(fd, SOL_SOCKET, SO_REUSEPORT)- socket_
send_ buffer_ size getsockopt(fd, SOL_SOCKET, SO_SNDBUF)- socket_
timeout getsockopt(fd, SOL_SOCKET, id)—Get the sending or receiving timeout.- socket_
type getsockopt(fd, SOL_SOCKET, SO_TYPE)—Returns the type of a socket.- tcp_
congestion getsockopt(fd, IPPROTO_TCP, TCP_CONGESTION)- tcp_
cork getsockopt(fd, IPPROTO_TCP, TCP_CORK)- tcp_
keepcnt getsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT)- tcp_
keepidle getsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE)- tcp_
keepintvl getsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL)- tcp_
nodelay getsockopt(fd, IPPROTO_TCP, TCP_NODELAY)- tcp_
quickack getsockopt(fd, IPPROTO_TCP, TCP_QUICKACK)- tcp_
thin_ linear_ timeouts getsockopt(fd, IPPROTO_TCP, TCP_THIN_LINEAR_TIMEOUTS)- tcp_
user_ timeout getsockopt(fd, IPPROTO_TCP, TCP_USER_TIMEOUT)- xdp_
mmap_ offsets getsockopt(fd, SOL_XDP, XDP_MMAP_OFFSETS)- xdp_
options getsockopt(fd, SOL_XDP, XDP_OPTIONS)- xdp_
statistics getsockopt(fd, SOL_XDP, XDP_STATISTICS)
Type Aliases§
- RawIpv4
Path MtuDiscovery - A type for holding raw integer IPv4 Path MTU Discovery options.
- RawIpv6
Path MtuDiscovery - A type for holding raw integer IPv6 Path MTU Discovery options.