module Socket::Constants
Socket::Constants
provides socket-related constants. All possible socket constants are listed in the documentation but they may not all be present on your platform.
If the underlying platform doesn’t define a constant the corresponding Ruby constant is not defined.
Constants
- AF_ALG
Interface to kernel crypto API
- AF_APPLETALK
AppleTalk protocol
- AF_ATM
Asynchronous Transfer Mode
- AF_AX25
AX.25 protocol
- AF_BLUETOOTH
Bluetooth low-level socket protocol
- AF_CAN
Controller Area Network automotive bus protocol
- AF_CCITT
CCITT (now ITU-T) protocols
- AF_CHAOS
MIT CHAOS protocols
- AF_CNT
Computer Network Technology
- AF_COIP
Connection-oriented IP
- AF_DATAKIT
Datakit protocol
- AF_DEC
DECnet protocol
- AF_DECnet
DECnet protocol
- AF_DLI
DEC Direct
Data
Link Interface protocol- AF_E164
CCITT (ITU-T) E.164 recommendation
- AF_ECMA
European Computer Manufacturers protocols
- AF_HYLINK
NSC Hyperchannel protocol
- AF_IB
InfiniBand native addressing
- AF_IMPLINK
ARPANET IMP protocol
- AF_INET
IPv4 protocol
- AF_INET6
IPv6 protocol
- AF_IPX
IPX protocol
- AF_ISDN
Integrated Services Digital Network
- AF_ISO
ISO Open Systems Interconnection protocols
- AF_KCM
KCM (kernel connection multiplexor) interface
- AF_KEY
Key management protocol, originally developed for usage with IPsec
- AF_LAT
Local Area Transport protocol
- AF_LINK
Link layer interface
- AF_LLC
Logical link control (IEEE 802.2 LLC) protocol
- AF_LOCAL
Host-internal protocols
- AF_MAX
Maximum address family for this platform
- AF_MPLS
Multiprotocol Label Switching
- AF_NATM
Native ATM access
- AF_NDRV
Network driver raw access
- AF_NETBIOS
NetBIOS
- AF_NETGRAPH
Netgraph sockets
- AF_NETLINK
Kernel
user interface device- AF_NS
XEROX NS protocols
- AF_OSI
ISO Open Systems Interconnection protocols
- AF_PACKET
Direct link-layer access
- AF_PPP
Point-to-Point Protocol
- AF_PPPOX
Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE)
- AF_PUP
PARC Universal Packet protocol
- AF_RDS
Reliable Datagram Sockets (RDS) protocol
- AF_ROUTE
Internal routing protocol
- AF_SIP
Simple Internet Protocol
- AF_SNA
IBM SNA protocol
- AF_SYSTEM
- AF_TIPC
TIPC, “cluster domain sockets” protocol
- AF_UNIX
UNIX sockets
- AF_UNSPEC
Unspecified protocol, any supported address family
- AF_VSOCK
VSOCK (originally “VMWare VSockets”) protocol for hypervisor-guest communication
- AF_XDP
XDP (express data path) interface
- AI_ADDRCONFIG
Accept only if any address is assigned
- AI_ALL
Allow all addresses
- AI_CANONNAME
Fill in the canonical name
- AI_DEFAULT
Default flags for getaddrinfo
- AI_MASK
Valid flag mask for getaddrinfo (not for application use)
- AI_NUMERICHOST
Prevent host name resolution
- AI_NUMERICSERV
Prevent service name resolution
- AI_PASSIVE
Get address to use with bind()
- AI_V4MAPPED
Accept IPv4-mapped IPv6 addresses
- AI_V4MAPPED_CFG
Accept IPv4 mapped addresses if the kernel supports it
- EAI_ADDRFAMILY
Address family for hostname not supported
- EAI_AGAIN
Temporary failure in name resolution
- EAI_BADFLAGS
Invalid flags
- EAI_BADHINTS
Invalid value for hints
- EAI_FAIL
Non-recoverable failure in name resolution
- EAI_FAMILY
Address family not supported
- EAI_MAX
Maximum error code from getaddrinfo
- EAI_MEMORY
Memory allocation failure
- EAI_NODATA
No address associated with hostname
- EAI_NONAME
Hostname nor servname, or not known
- EAI_OVERFLOW
Argument buffer overflow
- EAI_PROTOCOL
Resolved protocol is unknown
- EAI_SERVICE
Servname not supported for socket type
- EAI_SOCKTYPE
Socket
type not supported- EAI_SYSTEM
System error returned in errno
- IFF_802_1Q_VLAN
802.1Q VLAN device
- IFF_ALLMULTI
receive all multicast packets
- IFF_ALTPHYS
use alternate physical connection
- IFF_AUTOMEDIA
auto media select active
- IFF_BONDING
bonding master or slave
- IFF_BRIDGE_PORT
device used as bridge port
- IFF_BROADCAST
broadcast address valid
- IFF_CANTCHANGE
flags not changeable
- IFF_CANTCONFIG
unconfigurable using ioctl(2)
- IFF_DEBUG
turn on debugging
- IFF_DISABLE_NETPOLL
disable netpoll at run-time
- IFF_DONT_BRIDGE
disallow bridging this ether dev
- IFF_DORMANT
driver signals dormant
- IFF_DRV_OACTIVE
tx hardware queue is full
- IFF_DRV_RUNNING
resources allocated
- IFF_DYING
interface is winding down
- IFF_DYNAMIC
dialup device with changing addresses
- IFF_EBRIDGE
ethernet bridging device
- IFF_ECHO
echo sent packets
- IFF_ISATAP
ISATAP interface (RFC4214)
- IFF_LINK0
per link layer defined bit 0
- IFF_LINK1
per link layer defined bit 1
- IFF_LINK2
per link layer defined bit 2
- IFF_LIVE_ADDR_CHANGE
hardware address change when it’s running
- IFF_LOOPBACK
loopback net
- IFF_LOWER_UP
driver signals L1 up
- IFF_MACVLAN_PORT
device used as macvlan port
- IFF_MASTER
master of a load balancer
- IFF_MASTER_8023AD
bonding master, 802.3ad.
- IFF_MASTER_ALB
bonding master, balance-alb.
- IFF_MASTER_ARPMON
bonding master, ARP mon in use
- IFF_MONITOR
user-requested monitor mode
- IFF_MULTICAST
supports multicast
- IFF_NOARP
no address resolution protocol
- IFF_NOTRAILERS
avoid use of trailers
- IFF_OACTIVE
transmission in progress
- IFF_OVS_DATAPATH
device used as Open vSwitch datapath port
- IFF_POINTOPOINT
point-to-point link
- IFF_PORTSEL
can set media type
- IFF_PPROMISC
user-requested promisc mode
- IFF_PROMISC
receive all packets
- IFF_RENAMING
interface is being renamed
- IFF_ROUTE
routing entry installed
- IFF_RUNNING
resources allocated
- IFF_SIMPLEX
can’t hear own transmissions
- IFF_SLAVE
slave of a load balancer
- IFF_SLAVE_INACTIVE
bonding slave not the curr. active
- IFF_SLAVE_NEEDARP
need ARPs for validation
- IFF_SMART
interface manages own routes
- IFF_STATICARP
static ARP
- IFF_SUPP_NOFCS
sending custom FCS
- IFF_TEAM_PORT
used as team port
- IFF_TX_SKB_SHARING
sharing skbs on transmit
- IFF_UNICAST_FLT
unicast filtering
- IFF_UP
interface is up
- IFF_VOLATILE
volatile flags
- IFF_WAN_HDLC
WAN HDLC device
- IFF_XMIT_DST_RELEASE
dev_hard_start_xmit() is allowed to release skb->dst
- IFNAMSIZ
Maximum interface name size
- IF_NAMESIZE
Maximum interface name size
- INADDR_ALLHOSTS_GROUP
Multicast group for all systems on this subset
- INADDR_ANY
A socket bound to
INADDR_ANY
receives packets from all interfaces and sends from the default IP address- INADDR_BROADCAST
The network broadcast address
- INADDR_LOOPBACK
The loopback address
- INADDR_MAX_LOCAL_GROUP
The last local network multicast group
- INADDR_NONE
A bitmask for matching no valid IP address
- INADDR_UNSPEC_GROUP
The reserved multicast group
- INET6_ADDRSTRLEN
Maximum length of an IPv6 address string
- INET_ADDRSTRLEN
Maximum length of an IPv4 address string
- IPPORT_RESERVED
Default minimum address for bind or connect
- IPPORT_USERRESERVED
Default maximum address for bind or connect
- IPPROTO_AH
IP6 auth header
- IPPROTO_BIP
- IPPROTO_DSTOPTS
IP6 destination option
- IPPROTO_EGP
Exterior Gateway Protocol
- IPPROTO_EON
ISO cnlp
- IPPROTO_ESP
IP6 Encapsulated Security Payload
- IPPROTO_FRAGMENT
IP6 fragmentation header
- IPPROTO_GGP
Gateway to Gateway Protocol
- IPPROTO_HELLO
“hello” routing protocol
- IPPROTO_HOPOPTS
IP6 hop-by-hop options
- IPPROTO_ICMP
Control message protocol
- IPPROTO_ICMPV6
ICMP6
- IPPROTO_IDP
XNS IDP
- IPPROTO_IGMP
Group Management Protocol
- IPPROTO_IP
Dummy protocol for IP
- IPPROTO_IPV6
IP6 header
- IPPROTO_MAX
Maximum IPPROTO constant
- IPPROTO_ND
Sun net disk protocol
- IPPROTO_NONE
IP6 no next header
- IPPROTO_PUP
PARC Universal Packet protocol
- IPPROTO_RAW
Raw IP packet
- IPPROTO_ROUTING
IP6 routing header
- IPPROTO_TCP
TCP
- IPPROTO_TP
ISO transport protocol class 4
- IPPROTO_UDP
UDP
- IPPROTO_XTP
Xpress Transport Protocol
- IPV6_CHECKSUM
Checksum offset for raw sockets
- IPV6_DONTFRAG
Don’t fragment packets
- IPV6_DSTOPTS
Destination option
- IPV6_HOPLIMIT
Hop limit
- IPV6_HOPOPTS
Hop-by-hop option
- IPV6_JOIN_GROUP
Join a group membership
- IPV6_LEAVE_GROUP
Leave a group membership
- IPV6_MULTICAST_HOPS
IP6 multicast hops
- IPV6_MULTICAST_IF
IP6 multicast interface
- IPV6_MULTICAST_LOOP
IP6 multicast loopback
- IPV6_NEXTHOP
Next hop address
- IPV6_PATHMTU
Retrieve current path MTU
- IPV6_PKTINFO
Receive packet information with datagram
- IPV6_RECVDSTOPTS
Receive all IP6 options for response
- IPV6_RECVHOPLIMIT
Receive hop limit with datagram
- IPV6_RECVHOPOPTS
Receive hop-by-hop options
- IPV6_RECVPATHMTU
Receive current path MTU with datagram
- IPV6_RECVPKTINFO
Receive destination IP address and incoming interface
- IPV6_RECVRTHDR
Receive routing header
- IPV6_RECVTCLASS
Receive traffic class
- IPV6_RTHDR
Allows removal of sticky routing headers
- IPV6_RTHDRDSTOPTS
Allows removal of sticky destination options header
- IPV6_RTHDR_TYPE_0
Routing header type 0
- IPV6_TCLASS
Specify the traffic class
- IPV6_UNICAST_HOPS
IP6 unicast hops
- IPV6_USE_MIN_MTU
Use the minimum MTU size
- IPV6_V6ONLY
Only bind IPv6 with a wildcard bind
- IPX_TYPE
- IP_ADD_MEMBERSHIP
Add a multicast group membership
- IP_ADD_SOURCE_MEMBERSHIP
Add a multicast group membership
- IP_BLOCK_SOURCE
Block IPv4 multicast packets with a give source address
- IP_DEFAULT_MULTICAST_LOOP
Default multicast loopback
- IP_DEFAULT_MULTICAST_TTL
Default multicast TTL
- IP_DONTFRAG
Don’t fragment packets
- IP_DROP_MEMBERSHIP
Drop a multicast group membership
- IP_DROP_SOURCE_MEMBERSHIP
Drop a multicast group membership
- IP_FREEBIND
Allow binding to nonexistent IP addresses
- IP_HDRINCL
Header is included with data
- IP_IPSEC_POLICY
IPsec security policy
- IP_MAX_MEMBERSHIPS
Maximum number multicast groups a socket can join
- IP_MINTTL
Minimum TTL allowed for received packets
- IP_MSFILTER
Multicast source filtering
- IP_MTU
The Maximum Transmission Unit of the socket
- IP_MTU_DISCOVER
Path MTU discovery
- IP_MULTICAST_IF
IP multicast interface
- IP_MULTICAST_LOOP
IP multicast loopback
- IP_MULTICAST_TTL
IP multicast TTL
- IP_ONESBCAST
Force outgoing broadcast datagrams to have the undirected broadcast address
- IP_OPTIONS
IP options to be included in packets
- IP_PASSSEC
Retrieve security context with datagram
- IP_PKTINFO
Receive packet information with datagrams
- IP_PKTOPTIONS
Receive packet options with datagrams
- IP_PMTUDISC_DO
Always send DF frames
- IP_PMTUDISC_DONT
Never send DF frames
- IP_PMTUDISC_WANT
Use per-route hints
- IP_PORTRANGE
Set
the port range for sockets with unspecified port numbers- IP_RECVDSTADDR
Receive IP destination address with datagram
- IP_RECVERR
Enable extended reliable error message passing
- IP_RECVIF
Receive interface information with datagrams
- IP_RECVOPTS
Receive all IP options with datagram
- IP_RECVRETOPTS
Receive all IP options for response
- IP_RECVSLLA
Receive link-layer address with datagrams
- IP_RECVTOS
Receive TOS with incoming packets
- IP_RECVTTL
Receive IP TTL with datagrams
- IP_RETOPTS
IP options to be included in datagrams
- IP_ROUTER_ALERT
Notify transit routers to more closely examine the contents of an IP packet
- IP_SENDSRCADDR
Source address for outgoing UDP datagrams
- IP_TOS
IP type-of-service
- IP_TRANSPARENT
Transparent proxy
- IP_TTL
IP time-to-live
- IP_UNBLOCK_SOURCE
Unblock IPv4 multicast packets with a give source address
- IP_XFRM_POLICY
- LOCAL_CONNWAIT
Connect blocks until accepted
- LOCAL_CREDS
Pass credentials to receiver
- LOCAL_PEERCRED
Retrieve peer credentials
- MCAST_BLOCK_SOURCE
Block multicast packets from this source
- MCAST_EXCLUDE
Exclusive multicast source filter
- MCAST_INCLUDE
Inclusive multicast source filter
- MCAST_JOIN_GROUP
Join a multicast group
- MCAST_JOIN_SOURCE_GROUP
Join a multicast source group
- MCAST_LEAVE_GROUP
Leave a multicast group
- MCAST_LEAVE_SOURCE_GROUP
Leave a multicast source group
- MCAST_MSFILTER
Multicast source filtering
- MCAST_UNBLOCK_SOURCE
Unblock multicast packets from this source
- MSG_COMPAT
End of record
- MSG_CONFIRM
Confirm path validity
- MSG_CTRUNC
Control data lost before delivery
- MSG_DONTROUTE
Send without using the routing tables
- MSG_DONTWAIT
This message should be non-blocking
- MSG_EOF
Data
completes connection- MSG_EOR
Data
completes record- MSG_ERRQUEUE
Fetch message from error queue
- MSG_FASTOPEN
Reduce step of the handshake process
- MSG_FIN
- MSG_FLUSH
Start of a hold sequence. Dumps to so_temp
- MSG_HAVEMORE
Data
ready to be read- MSG_HOLD
Hold fragment in so_temp
- MSG_MORE
Sender will send more
- MSG_NOSIGNAL
Do not generate SIGPIPE
- MSG_OOB
Process
out-of-band data- MSG_PEEK
Peek at incoming message
- MSG_PROXY
Wait for full request
- MSG_RCVMORE
Data
remains in the current packet- MSG_RST
- MSG_SEND
Send the packet in so_temp
- MSG_SYN
- MSG_TRUNC
Data
discarded before delivery- MSG_WAITALL
Wait for full request or error
- NI_DGRAM
The service specified is a datagram service (looks up UDP ports)
- NI_MAXHOST
Maximum length of a hostname
- NI_MAXSERV
Maximum length of a service name
- NI_NAMEREQD
A name is required
- NI_NOFQDN
An FQDN is not required for local hosts, return only the local part
- NI_NUMERICHOST
Return a numeric address
- NI_NUMERICSERV
Return the service name as a digit string
- PF_ALG
Interface to kernel crypto API
- PF_APPLETALK
AppleTalk protocol
- PF_ATM
Asynchronous Transfer Mode
- PF_AX25
AX.25 protocol
- PF_BLUETOOTH
Bluetooth low-level socket protocol
- PF_CAN
Controller Area Network automotive bus protocol
- PF_CCITT
CCITT (now ITU-T) protocols
- PF_CHAOS
MIT CHAOS protocols
- PF_CNT
Computer Network Technology
- PF_COIP
Connection-oriented IP
- PF_DATAKIT
Datakit protocol
- PF_DEC
DECnet protocol
- PF_DECnet
DECnet protocol
- PF_DLI
DEC Direct
Data
Link Interface protocol- PF_ECMA
European Computer Manufacturers protocols
- PF_HYLINK
NSC Hyperchannel protocol
- PF_IB
InfiniBand native addressing
- PF_IMPLINK
ARPANET IMP protocol
- PF_INET
IPv4 protocol
- PF_INET6
IPv6 protocol
- PF_IPX
IPX protocol
- PF_ISDN
Integrated Services Digital Network
- PF_ISO
ISO Open Systems Interconnection protocols
- PF_KCM
KCM (kernel connection multiplexor) interface
- PF_KEY
Key management protocol, originally developed for usage with IPsec
- PF_LAT
Local Area Transport protocol
- PF_LINK
Link layer interface
- PF_LLC
Logical link control (IEEE 802.2 LLC) protocol
- PF_LOCAL
Host-internal protocols
- PF_MAX
Maximum address family for this platform
- PF_MPLS
Multiprotocol Label Switching
- PF_NATM
Native ATM access
- PF_NDRV
Network driver raw access
- PF_NETBIOS
NetBIOS
- PF_NETGRAPH
Netgraph sockets
- PF_NETLINK
Kernel
user interface device- PF_NS
XEROX NS protocols
- PF_OSI
ISO Open Systems Interconnection protocols
- PF_PACKET
Direct link-layer access
- PF_PIP
- PF_PPP
Point-to-Point Protocol
- PF_PPPOX
Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE)
- PF_PUP
PARC Universal Packet protocol
- PF_RDS
Reliable Datagram Sockets (RDS) protocol
- PF_ROUTE
Internal routing protocol
- PF_RTIP
- PF_SIP
Simple Internet Protocol
- PF_SNA
IBM SNA protocol
- PF_SYSTEM
- PF_TIPC
TIPC, “cluster domain sockets” protocol
- PF_UNIX
UNIX sockets
- PF_UNSPEC
Unspecified protocol, any supported address family
- PF_VSOCK
VSOCK (originally “VMWare VSockets”) protocol for hypervisor-guest communication
- PF_XDP
XDP (express data path) interface
- PF_XTP
eXpress Transfer Protocol
- SCM_BINTIME
Timestamp (bintime)
- SCM_CREDENTIALS
The sender’s credentials
- SCM_CREDS
Process
credentials- SCM_RIGHTS
Access rights
- SCM_TIMESTAMP
Timestamp (timeval)
- SCM_TIMESTAMPING
Timestamp (timespec list) (Linux 2.6.30)
- SCM_TIMESTAMPNS
Timespec (timespec)
- SCM_UCRED
User credentials
- SCM_WIFI_STATUS
Wifi status (Linux 3.3)
- SHUT_RD
Shut down the reading side of the socket
- SHUT_RDWR
Shut down the both sides of the socket
- SHUT_WR
Shut down the writing side of the socket
- SOCK_CLOEXEC
Set
the close-on-exec (FD_CLOEXEC) flag on the new file descriptor.- SOCK_DGRAM
A datagram socket provides connectionless, unreliable messaging
- SOCK_NONBLOCK
Set
the O_NONBLOCK file status flag on the open file description (see open(2)) referred to by the new file descriptor.- SOCK_PACKET
Device-level packet access
- SOCK_RAW
A raw socket provides low-level access for direct access or implementing network protocols
- SOCK_RDM
A reliable datagram socket provides reliable delivery of messages
- SOCK_SEQPACKET
A sequential packet socket provides sequenced, reliable two-way connection for datagrams
- SOCK_STREAM
A stream socket provides a sequenced, reliable two-way connection for a byte stream
- SOL_ATALK
AppleTalk socket options
- SOL_AX25
AX.25 socket options
- SOL_IP
IP socket options
- SOL_IPX
IPX socket options
- SOL_SOCKET
Socket-level options
- SOL_TCP
TCP socket options
- SOL_UDP
UDP socket options
- SOMAXCONN
Maximum connection requests that may be queued for a socket
- SOPRI_BACKGROUND
Background socket priority
- SOPRI_INTERACTIVE
Interactive socket priority
- SOPRI_NORMAL
Normal socket priority
- SO_ACCEPTCONN
Socket
has had listen() called on it- SO_ACCEPTFILTER
There is an accept filter
- SO_ALLZONES
Bypass zone boundaries
- SO_ATTACH_FILTER
Attach an accept filter
- SO_BINDTODEVICE
Only send packets from the given interface
- SO_BINTIME
Receive timestamp with datagrams (bintime)
- SO_BPF_EXTENSIONS
Query supported BPF extensions (Linux 3.14)
- SO_BROADCAST
Permit sending of broadcast messages
- SO_BUSY_POLL
Set
the threshold in microseconds for low latency polling (Linux 3.11)- SO_DEBUG
Debug info recording
- SO_DETACH_FILTER
Detach an accept filter
- SO_DOMAIN
Domain given for socket() (Linux 2.6.32)
- SO_DONTROUTE
Use interface addresses
- SO_DONTTRUNC
Retain unread data
- SO_ERROR
Get and clear the error status
- SO_GET_FILTER
Obtain filter set by
SO_ATTACH_FILTER
(Linux 3.8)- SO_INCOMING_CPU
Receive the cpu attached to the socket (Linux 3.19)
- SO_INCOMING_NAPI_ID
Receive the napi ID attached to a RX queue (Linux 4.12)
- SO_KEEPALIVE
Keep connections alive
- SO_LINGER
Linger on close if data is present
- SO_LOCK_FILTER
Lock the filter attached to a socket (Linux 3.9)
- SO_MAC_EXEMPT
Mandatory Access Control exemption for unlabeled peers
- SO_MARK
Set
the mark for mark-based routing (Linux 2.6.25)- SO_MAX_PACING_RATE
Cap the rate computed by transport layer. [bytes per second] (Linux 3.13)
- SO_NKE
Install socket-level Network
Kernel
Extension- SO_NOFCS
Set
netns of a socket (Linux 3.4)- SO_NOSIGPIPE
Don’t SIGPIPE on EPIPE
- SO_NO_CHECK
Disable checksums
- SO_NREAD
Get first packet byte count
- SO_OOBINLINE
Leave received out-of-band data in-line
- SO_PASSCRED
Receive
SCM_CREDENTIALS
messages- SO_PASSSEC
Toggle security context passing (Linux 2.6.18)
- SO_PEEK_OFF
Set
the peek offset (Linux 3.4)- SO_PEERCRED
The credentials of the foreign process connected to this socket
- SO_PEERNAME
Name of the connecting user
- SO_PEERSEC
Obtain the security credentials (Linux 2.6.2)
- SO_PRIORITY
The protocol-defined priority for all packets on this socket
- SO_PROTOCOL
Protocol given for socket() (Linux 2.6.32)
- SO_RCVBUF
Receive buffer size
- SO_RCVBUFFORCE
Receive buffer size without rmem_max limit (Linux 2.6.14)
- SO_RCVLOWAT
Receive low-water mark
- SO_RCVTIMEO
Receive timeout
- SO_RECVUCRED
Receive user credentials with datagram
- SO_REUSEADDR
Allow local address reuse
- SO_REUSEPORT
Allow local address and port reuse
- SO_RTABLE
Set
the routing table for this socket (OpenBSD)- SO_RXQ_OVFL
Toggle cmsg for number of packets dropped (Linux 2.6.33)
- SO_SECURITY_AUTHENTICATION
- SO_SECURITY_ENCRYPTION_NETWORK
- SO_SECURITY_ENCRYPTION_TRANSPORT
- SO_SELECT_ERR_QUEUE
Make select() detect socket error queue with errorfds (Linux 3.10)
- SO_SETFIB
Set
the associated routing table for the socket (FreeBSD)- SO_SNDBUF
Send buffer size
- SO_SNDBUFFORCE
Send buffer size without wmem_max limit (Linux 2.6.14)
- SO_SNDLOWAT
Send low-water mark
- SO_SNDTIMEO
Send timeout
- SO_TIMESTAMP
Receive timestamp with datagrams (timeval)
- SO_TIMESTAMPING
Time
stamping of incoming and outgoing packets (Linux 2.6.30)- SO_TIMESTAMPNS
Receive nanosecond timestamp with datagrams (timespec)
- SO_TYPE
Get the socket type
- SO_USELOOPBACK
Bypass hardware when possible
- SO_USER_COOKIE
Setting an identifier for ipfw purpose mainly
- SO_WANTMORE
Give a hint when more data is ready
- SO_WANTOOBFLAG
OOB data is wanted in MSG_FLAG on receive
- SO_WIFI_STATUS
Toggle cmsg for wifi status (Linux 3.3)
- TCP_CONGESTION
TCP congestion control algorithm (Linux 2.6.13, glibc 2.6)
- TCP_CONNECTION_INFO
Retrieve information about this socket (macOS)
- TCP_COOKIE_TRANSACTIONS
TCP Cookie Transactions (Linux 2.6.33, glibc 2.18)
- TCP_CORK
Don’t send partial frames (Linux 2.2, glibc 2.2)
- TCP_DEFER_ACCEPT
Don’t notify a listening socket until data is ready (Linux 2.4, glibc 2.2)
- TCP_FASTOPEN
Reduce step of the handshake process (Linux 3.7, glibc 2.18)
- TCP_INFO
Retrieve information about this socket (Linux 2.4, glibc 2.2)
- TCP_KEEPALIVE
Idle time before keepalive probes are sent (macOS)
- TCP_KEEPCNT
Maximum number of keepalive probes allowed before dropping a connection (Linux 2.4, glibc 2.2)
- TCP_KEEPIDLE
Idle time before keepalive probes are sent (Linux 2.4, glibc 2.2)
- TCP_KEEPINTVL
Time
between keepalive probes (Linux 2.4, glibc 2.2)- TCP_LINGER2
Lifetime of orphaned FIN_WAIT2 sockets (Linux 2.4, glibc 2.2)
- TCP_MAXSEG
Set
maximum segment size- TCP_MD5SIG
Use MD5 digests (RFC2385, Linux 2.6.20, glibc 2.7)
- TCP_NODELAY
Don’t delay sending to coalesce packets
- TCP_NOOPT
Don’t use TCP options
- TCP_NOPUSH
Don’t push the last block of write
- TCP_QUEUE_SEQ
Sequence of a queue for repair mode (Linux 3.5, glibc 2.18)
- TCP_QUICKACK
Enable quickack mode (Linux 2.4.4, glibc 2.3)
- TCP_REPAIR
Repair mode (Linux 3.5, glibc 2.18)
- TCP_REPAIR_OPTIONS
Options for repair mode (Linux 3.5, glibc 2.18)
- TCP_REPAIR_QUEUE
Queue for repair mode (Linux 3.5, glibc 2.18)
- TCP_SYNCNT
Number of SYN retransmits before a connection is dropped (Linux 2.4, glibc 2.2)
- TCP_THIN_DUPACK
Duplicated acknowledgments handling for thin-streams (Linux 2.6.34, glibc 2.18)
- TCP_THIN_LINEAR_TIMEOUTS
Linear timeouts for thin-streams (Linux 2.6.34, glibc 2.18)
- TCP_TIMESTAMP
TCP timestamp (Linux 3.9, glibc 2.18)
- TCP_USER_TIMEOUT
Max timeout before a TCP connection is aborted (Linux 2.6.37, glibc 2.18)
- TCP_WINDOW_CLAMP
Clamp the size of the advertised window (Linux 2.4, glibc 2.2)
- UDP_CORK
Don’t send partial frames (Linux 2.5.44, glibc 2.11)