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
-
Kernel event messages
- 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_MTU_DISCOVER
-
Path MTU discovery
- 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_RECVERR
-
Enable extended reliable error message passing
- 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
-
Help Identify PIP packets
- 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
-
Help Identify RTIP packets
- PF_SIP
-
Simple Internet Protocol
- PF_SNA
-
IBM SNA protocol
- PF_SYSTEM
-
Kernel event messages
- 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_CONNECT_TIME
-
Returns the number of seconds a socket has been connected. This option is only valid for connection-oriented protocols (Windows)
- 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)