Module sockopt

Source
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:

§References for all set_* functions:

§References for get_socket_* and set_socket_* functions:

§References for get_ip_* and set_ip_* functions:

§References for get_ipv6_* and set_ipv6_* functions:

§References for get_tcp_* and set_tcp_* functions:

Enums§

Timeout
Timeout identifier for use with set_socket_timeout and get_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 in bind.
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)