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_SOCKET
options - glibc
SOL_SOCKET
Options
§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_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 getter 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
andsocket_timeout
.
Functions§
- ip_
freebind getsockopt(fd, IPPROTO_IP, IP_FREEBIND)
- ip_mtu
getsockopt(fd, IPPROTO_IP, IP_MTU)
- 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_
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_ 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_ 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_
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)