Project

General

Profile

Bug #4989 ยป socket.constants.patch

drbrain (Eric Hodel), 07/08/2011 05:43 AM

View differences:

ext/socket/mkconstants.rb (working copy)
h = {}
COMMENTS = Hash.new { |h, name| h[name] = name }
DATA.each_line {|s|
name, default_value = s.scan(/\S+/)
name, default_value, comment = s.chomp.split "\t"
next unless name && name[0] != ?#
default_value = nil if default_value == 'nil'
if h.has_key? name
warn "#{$.}: warning: duplicate name: #{name}"
next
end
h[name] = default_value
COMMENTS[name] = comment
}
DEFS = h.to_a
......
ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_defs_in_guard(make_value, name, default_value)")
#if defined(<%=name%>)
/* <%=name%>: */
/* <%= COMMENTS[name] %> */
rb_define_const(rb_cSocket, <%=c_str name%>, <%=make_value%>(<%=name%>));
/* <%=name%>: */
/* <%= COMMENTS[name] %> */
rb_define_const(rb_mSockConst, <%=c_str name%>, <%=make_value%>(<%=name%>));
#endif
EOS
......
__END__
SOCK_STREAM
SOCK_DGRAM
SOCK_RAW
SOCK_RDM
SOCK_SEQPACKET
SOCK_PACKET
AF_UNSPEC
PF_UNSPEC
AF_INET
PF_INET
AF_INET6
PF_INET6
AF_UNIX
PF_UNIX
AF_AX25
PF_AX25
AF_IPX
PF_IPX
AF_APPLETALK
PF_APPLETALK
AF_LOCAL
PF_LOCAL
AF_IMPLINK
PF_IMPLINK
AF_PUP
PF_PUP
AF_CHAOS
PF_CHAOS
AF_NS
PF_NS
AF_ISO
PF_ISO
AF_OSI
PF_OSI
AF_ECMA
PF_ECMA
AF_DATAKIT
PF_DATAKIT
AF_CCITT
PF_CCITT
AF_SNA
PF_SNA
AF_DEC
PF_DEC
AF_DLI
PF_DLI
AF_LAT
PF_LAT
AF_HYLINK
PF_HYLINK
AF_ROUTE
PF_ROUTE
AF_LINK
PF_LINK
AF_COIP
PF_COIP
AF_CNT
PF_CNT
AF_SIP
PF_SIP
AF_NDRV
PF_NDRV
AF_ISDN
PF_ISDN
AF_NATM
PF_NATM
SOCK_STREAM nil A stream socket provides a sequenced, reliable two-way connection for a byte stream.
SOCK_DGRAM nil A datagram socket provides connectionless, unreliable messaging3
SOCK_RAW nil A raw socket provides low-level access for direct access or implementing network protocols.
SOCK_RDM nil A reliable datagram socket provides reliable delivery of messages3
SOCK_SEQPACKET nil A sequential packet socket provides sequenced, reliable two-way connection for datagrams3
SOCK_PACKET nil Device-level packet access
AF_UNSPEC nil Unspecified protocol, any supported address family
PF_UNSPEC nil Unspecified protocol, any supported address family
AF_INET nil IPv4 protocol
PF_INET nil IPv4 protocol
AF_INET6 nil IPv6 protocol
PF_INET6 nil IPv6 protocol
AF_UNIX nil UNIX sockets
PF_UNIX nil UNIX sockets
AF_AX25 nil AX.25 protocol
PF_AX25 nil AX.25 protocol
AF_IPX nil IPX protocol
PF_IPX nil IPX protocol
AF_APPLETALK nil AppleTalk protocol
PF_APPLETALK nil AppleTalk protocol
AF_LOCAL nil Host-internal protocols
PF_LOCAL nil Host-internal protocols
AF_IMPLINK nil ARPANET IMP protocol
PF_IMPLINK nil ARPANET IMP protocol
AF_PUP nil PARC Universal Packet protocol
PF_PUP nil PARC Universal Packet protocol
AF_CHAOS nil MIT CHAOS protocols
PF_CHAOS nil MIT CHAOS protocols
AF_NS nil XEROX NS protocols
PF_NS nil XEROX NS protocols
AF_ISO nil ISO Open Systems Interconnection protocols
PF_ISO nil ISO Open Systems Interconnection protocols
AF_OSI nil ISO Open Systems Interconnection protocols
PF_OSI nil ISO Open Systems Interconnection protocols
AF_ECMA nil European Computer Manufacturers protocols
PF_ECMA nil European Computer Manufacturers protocols
AF_DATAKIT nil Datakit protocol
PF_DATAKIT nil Datakit protocol
AF_CCITT nil CCITT (now ITU-T) protocols
PF_CCITT nil CCITT (now ITU-T) protocols
AF_SNA nil IBM SNA protocol
PF_SNA nil IBM SNA protocol
AF_DEC nil DECnet protocol
PF_DEC nil DECnet protocol
AF_DLI nil DEC Direct Data Link Interface protocol
PF_DLI nil DEC Direct Data Link Interface protocol
AF_LAT nil Local Area Transport protocol
PF_LAT nil Local Area Transport protocol
AF_HYLINK nil NSC Hyperchannel protocol
PF_HYLINK nil NSC Hyperchannel protocol
AF_ROUTE nil Internal routing protocol
PF_ROUTE nil Internal routing protocol
AF_LINK nil Link layer interface
PF_LINK nil Link layer interface
AF_COIP nil Connection-oriented IP
PF_COIP nil Connection-oriented IP
AF_CNT nil Computer Network Technology
PF_CNT nil Computer Network Technology
AF_SIP nil Simple Internet Protocol
PF_SIP nil Simple Internet Protocol
AF_NDRV nil Network driver raw access
PF_NDRV nil Network driver raw access
AF_ISDN nil Integrated Services Digital Network
PF_ISDN nil Integrated Services Digital Network
AF_NATM nil Native ATM acces
PF_NATM nil Native ATM acces
AF_SYSTEM
PF_SYSTEM
AF_NETBIOS
PF_NETBIOS
AF_PPP
PF_PPP
AF_ATM
PF_ATM
AF_NETGRAPH
PF_NETGRAPH
AF_MAX
PF_MAX
AF_PACKET
PF_PACKET
AF_NETBIOS nil NetBIOS
PF_NETBIOS nil NetBIOS
AF_PPP nil Point-to-Point Protocol
PF_PPP nil Point-to-Point Protocol
AF_ATM nil Asynchronous Transfer Mode
PF_ATM nil Asynchronous Transfer Mode
AF_NETGRAPH nil Netgraph sockets
PF_NETGRAPH nil Netgraph sockets
AF_MAX nil Maximum address family for this platform
PF_MAX nil Maximum address family for this platform
AF_PACKET nil Direct link-layer access
PF_PACKET nil Direct link-layer access
AF_E164
PF_XTP
AF_E164 nil CCITT (ITU-T) E.164 recommendation
PF_XTP nil eXpress Transfor Protocol
PF_RTIP
PF_PIP
PF_KEY
MSG_OOB
MSG_PEEK
MSG_DONTROUTE
MSG_EOR
MSG_TRUNC
MSG_CTRUNC
MSG_WAITALL
MSG_DONTWAIT
MSG_EOF
MSG_FLUSH
MSG_HOLD
MSG_SEND
MSG_HAVEMORE
MSG_RCVMORE
MSG_COMPAT
MSG_PROXY
MSG_OOB nil Proces out-of-band data
MSG_PEEK nil Peek at incoming message
MSG_DONTROUTE nil Send without using the routing tables
MSG_EOR nil Data completes record
MSG_TRUNC nil Data discarded before delivery
MSG_CTRUNC nil Control data lost before delivery
MSG_WAITALL nil Wait for full request or error
MSG_DONTWAIT nil This message should be non-blocking
MSG_EOF nil Data completes connection
MSG_FLUSH nil Start of a hold sequence. Dumps to so_temp
MSG_HOLD nil Hold fragment in so_temp
MSG_SEND nil Send the packet in so_temp
MSG_HAVEMORE nil Data ready to be read
MSG_RCVMORE nil Data remains in the current packet
MSG_COMPAT nil End of record
MSG_PROXY nil Wait for full request
MSG_FIN
MSG_SYN
MSG_CONFIRM
MSG_CONFIRM nil Confirm path validity
MSG_RST
MSG_ERRQUEUE
MSG_NOSIGNAL
MSG_MORE
SOL_SOCKET
SOL_IP
SOL_IPX
SOL_AX25
SOL_ATALK
SOL_TCP
SOL_UDP
IPPROTO_IP 0
IPPROTO_ICMP 1
IPPROTO_IGMP
IPPROTO_GGP
IPPROTO_TCP 6
IPPROTO_EGP
IPPROTO_PUP
IPPROTO_UDP 17
IPPROTO_IDP
IPPROTO_HELLO
IPPROTO_ND
IPPROTO_TP
IPPROTO_XTP
IPPROTO_EON
MSG_ERRQUEUE nil Fetch message from error queue
MSG_NOSIGNAL nil Do not generate SIGPIPE
MSG_MORE nil Sender will send more
SOL_SOCKET nil Socket-level options
SOL_IP nil IP socket options
SOL_IPX nil IPX socket options
SOL_AX25 nil AX.25 socket options
SOL_ATALK nil AppleTalk socket options
SOL_TCP nil TCP socket options
SOL_UDP nil UDP socket options
IPPROTO_IP 0 Dummy protocol for IP
IPPROTO_ICMP 1 Control message protocol
IPPROTO_IGMP nil Group Management Protocol
IPPROTO_GGP nil Gateway to Gateway Protocol
IPPROTO_TCP 6 TCP
IPPROTO_EGP nil Exterior Gateway Protocol
IPPROTO_PUP nil PARC Universal Packet protocol
IPPROTO_UDP 17 UDP
IPPROTO_IDP nil XNS IDP
IPPROTO_HELLO nil "hello" routing protocol
IPPROTO_ND nil Sun net disk protocol
IPPROTO_TP nil ISO transport protocol class 4
IPPROTO_XTP nil Xpress Transport Protocol
IPPROTO_EON nil ISO cnlp
IPPROTO_BIP
IPPROTO_AH
IPPROTO_DSTOPTS
IPPROTO_ESP
IPPROTO_FRAGMENT
IPPROTO_HOPOPTS
IPPROTO_ICMPV6
IPPROTO_IPV6
IPPROTO_NONE
IPPROTO_ROUTING
IPPROTO_AH nil IP6 auth header
IPPROTO_DSTOPTS nil IP6 destination option
IPPROTO_ESP nil IP6 Encapsulated Security Payload
IPPROTO_FRAGMENT nil IP6 fragmentation header
IPPROTO_HOPOPTS nil IP6 hop-by-hop options
IPPROTO_ICMPV6 nil ICMP6
IPPROTO_IPV6 nil IP6 header
IPPROTO_NONE nil IP6 no next header
IPPROTO_ROUTING nil IP6 routing header
IPPROTO_RAW 255
IPPROTO_MAX
IPPROTO_RAW 255 Raw IP packet
IPPROTO_MAX nil Maximum IPPROTO constant
# Some port configuration
IPPORT_RESERVED 1024
IPPORT_USERRESERVED 5000
IPPORT_RESERVED 1024 Default minimum address for bind or connect
IPPORT_USERRESERVED 5000 Default maximum address for bind or connect
# Some reserved IP v.4 addresses
INADDR_ANY 0x00000000
INADDR_BROADCAST 0xffffffff
INADDR_LOOPBACK 0x7F000001
INADDR_UNSPEC_GROUP 0xe0000000
INADDR_ALLHOSTS_GROUP 0xe0000001
INADDR_MAX_LOCAL_GROUP 0xe00000ff
INADDR_NONE 0xffffffff
INADDR_ANY 0x00000000 A socket bound to INADDR_ANY receives packets from all interfaces and sends from the default IP address
INADDR_BROADCAST 0xffffffff The network broadcast address
INADDR_LOOPBACK 0x7F000001 The loopback address
INADDR_UNSPEC_GROUP 0xe0000000 The reserved multicast group
INADDR_ALLHOSTS_GROUP 0xe0000001 Multicast group for all systems on this subset
INADDR_MAX_LOCAL_GROUP 0xe00000ff The last local network multicast group
INADDR_NONE 0xffffffff A bitmask for matching no valid IP address
# IP [gs]etsockopt options
IP_OPTIONS
IP_HDRINCL
IP_TOS
IP_TTL
IP_RECVOPTS
IP_RECVRETOPTS
IP_RECVDSTADDR
IP_RETOPTS
IP_MINTTL
IP_DONTFRAG
IP_SENDSRCADDR
IP_ONESBCAST
IP_RECVTTL
IP_RECVIF
IP_RECVSLLA
IP_PORTRANGE
IP_MULTICAST_IF
IP_MULTICAST_TTL
IP_MULTICAST_LOOP
IP_ADD_MEMBERSHIP
IP_DROP_MEMBERSHIP
IP_DEFAULT_MULTICAST_TTL
IP_DEFAULT_MULTICAST_LOOP
IP_MAX_MEMBERSHIPS
IP_ROUTER_ALERT
IP_PKTINFO
IP_PKTOPTIONS
IP_MTU_DISCOVER
IP_RECVERR
IP_RECVTOS
IP_MTU
IP_FREEBIND
IP_IPSEC_POLICY
IP_OPTIONS nil IP options to be included in packets
IP_HDRINCL nil Header is included with data
IP_TOS nil IP type-of-service
IP_TTL nil IP time-to-live
IP_RECVOPTS nil Receive all IP options with datagrapm
IP_RECVRETOPTS nil Receive all IP options for response
IP_RECVDSTADDR nil Receive IP destination address with datagram
IP_RETOPTS nil IP options to be included in datagrams
IP_MINTTL nil Minimum TTL allowed for received packets
IP_DONTFRAG nil Don't fragment packets
IP_SENDSRCADDR nil Source address for outgoing UDP datagrams
IP_ONESBCAST nil Force outgoing broadcast datagrams to have the undirected broadcast address
IP_RECVTTL nil Receive IP TTL with datagrams
IP_RECVIF nil Receive interface information with datagrams
IP_RECVSLLA nil Receive link-layer address with datagrams
IP_PORTRANGE nil Set the port range for sockets with unspecified port numbers
IP_MULTICAST_IF nil IP multicast interface
IP_MULTICAST_TTL nil IP multicast TTL
IP_MULTICAST_LOOP nil IP multicast loopback
IP_ADD_MEMBERSHIP nil Add a multicast group membership
IP_DROP_MEMBERSHIP nil Drop a multicast group membership
IP_DEFAULT_MULTICAST_TTL nil Default multicast TTL
IP_DEFAULT_MULTICAST_LOOP nil Default multicast loopback
IP_MAX_MEMBERSHIPS nil Maximum number multicast groups a socket can join
IP_ROUTER_ALERT nil Notify transit routers to more closely examine the contents of an IP packet
IP_PKTINFO nil Receive packet information with datagrams
IP_PKTOPTIONS nil Receive packet options with datagrams
IP_MTU_DISCOVER nil Path MTU discovery
IP_RECVERR nil Enable extended reliable error mesage passing
IP_RECVTOS nil Receive TOS with incoming packets
IP_MTU nil The Maximum Transmission Unit of the socket
IP_FREEBIND nil Allow binding to nonexistent IP addresses
IP_IPSEC_POLICY nil IPSec security policy
IP_XFRM_POLICY
IP_PASSSEC
IP_PMTUDISC_DONT
IP_PMTUDISC_WANT
IP_PMTUDISC_DO
IP_UNBLOCK_SOURCE
IP_BLOCK_SOURCE
IP_ADD_SOURCE_MEMBERSHIP
IP_DROP_SOURCE_MEMBERSHIP
IP_MSFILTER
MCAST_JOIN_GROUP
MCAST_BLOCK_SOURCE
MCAST_UNBLOCK_SOURCE
MCAST_LEAVE_GROUP
MCAST_JOIN_SOURCE_GROUP
MCAST_LEAVE_SOURCE_GROUP
MCAST_MSFILTER
MCAST_EXCLUDE
MCAST_INCLUDE
SO_DEBUG
SO_REUSEADDR
SO_REUSEPORT
SO_TYPE
SO_ERROR
SO_DONTROUTE
SO_BROADCAST
SO_SNDBUF
SO_RCVBUF
SO_KEEPALIVE
SO_OOBINLINE
SO_NO_CHECK
SO_PRIORITY
SO_LINGER
SO_PASSCRED
SO_PEERCRED
SO_RCVLOWAT
SO_SNDLOWAT
SO_RCVTIMEO
SO_SNDTIMEO
SO_ACCEPTCONN
SO_USELOOPBACK
SO_ACCEPTFILTER
SO_DONTTRUNC
SO_WANTMORE
SO_WANTOOBFLAG
SO_NREAD
SO_NKE
SO_NOSIGPIPE
IP_PASSSEC nil Retrieve security context with datagram
IP_PMTUDISC_DONT nil Never send DF frames
IP_PMTUDISC_WANT nil Use per-route hints
IP_PMTUDISC_DO nil Always send DF frames
IP_UNBLOCK_SOURCE nil Unblock IPv4 multicast packets with a give source address
IP_BLOCK_SOURCE nil Block IPv4 multicast packets with a give source address
IP_ADD_SOURCE_MEMBERSHIP nil Add a multicast group membership
IP_DROP_SOURCE_MEMBERSHIP nil Drop a multicast group membership
IP_MSFILTER nil Multicast source filtering
MCAST_JOIN_GROUP nil Join a multicast group
MCAST_BLOCK_SOURCE nil Block multicast packets from this source
MCAST_UNBLOCK_SOURCE nil Unblock multicast packets from this source
MCAST_LEAVE_GROUP nil Leave a multicast group
MCAST_JOIN_SOURCE_GROUP nil Join a multicast source group
MCAST_LEAVE_SOURCE_GROUP nil Leave a multicast source group
MCAST_MSFILTER nil Multicast source filtering
MCAST_EXCLUDE nil Exclusive multicast source filter
MCAST_INCLUDE nil Inclusive multicast source filter
SO_DEBUG nil Debug info recording
SO_REUSEADDR nil Allow local address reuse
SO_REUSEPORT nil Allow local address and port reuse
SO_TYPE nil Get the socket type
SO_ERROR nil Get and clear the error status
SO_DONTROUTE nil Use interface addresses
SO_BROADCAST nil Permit sending of broadcast messages
SO_SNDBUF nil Send buffer size
SO_RCVBUF nil Receive buffer size
SO_KEEPALIVE nil Keep connections alive
SO_OOBINLINE nil Leave received out-of-band data in-line
SO_NO_CHECK nil Disable checksums
SO_PRIORITY nil The protocol-defined priority for all packets on this socket
SO_LINGER nil Linger on close if data is present
SO_PASSCRED nil Receive SCM_CREDENTIALS messages
SO_PEERCRED nil The credentials of the foreign process connected to this socket
SO_RCVLOWAT nil Receive low-water mark
SO_SNDLOWAT nil Send low-water mark
SO_RCVTIMEO nil Receive timeout
SO_SNDTIMEO nil Send timeout
SO_ACCEPTCONN nil Socket has had listen() called on it
SO_USELOOPBACK nil Bypass hardware when possible
SO_ACCEPTFILTER nil There is an accept filter
SO_DONTTRUNC nil Retain unread data
SO_WANTMORE nil Give a hint when more data is ready
SO_WANTOOBFLAG nil OOB data is wanted in MSG_FLAG on receive
SO_NREAD nil Get first packet byte count
SO_NKE nil Install socket-level Network Kernel Extension
SO_NOSIGPIPE nil Don't SIGPIPE on EPIPE
SO_SECURITY_AUTHENTICATION
SO_SECURITY_ENCRYPTION_TRANSPORT
SO_SECURITY_ENCRYPTION_NETWORK
SO_BINDTODEVICE
SO_ATTACH_FILTER
SO_DETACH_FILTER
SO_PEERNAME
SO_TIMESTAMP
SO_TIMESTAMPNS
SO_BINTIME
SO_RECVUCRED
SO_MAC_EXEMPT
SO_ALLZONES
SOPRI_INTERACTIVE
SOPRI_NORMAL
SOPRI_BACKGROUND
SO_BINDTODEVICE nil Only send packets from the given interface
SO_ATTACH_FILTER nil Attach an accept filter
SO_DETACH_FILTER nil Detach an accept filter
SO_PEERNAME nil Name of the connecting user
SO_TIMESTAMP nil Receive timestamp with datagrams (timeval)
SO_TIMESTAMPNS nil Receive nanosecond timestamp with datagrams (timespec)
SO_BINTIME nil Receive timestamp with datagrams (bintime)
SO_RECVUCRED nil Receive user credentials with datagram
SO_MAC_EXEMPT nil Mandatory Access Control exemption for unlabled peers
SO_ALLZONES nil Bypass zone boundaries
SOPRI_INTERACTIVE nil Interactive socket priority
SOPRI_NORMAL nil Normal socket priority
SOPRI_BACKGROUND nil Background socket priority
IPX_TYPE
TCP_NODELAY
TCP_MAXSEG
TCP_CORK
TCP_DEFER_ACCEPT
TCP_INFO
TCP_KEEPCNT
TCP_KEEPIDLE
TCP_KEEPINTVL
TCP_LINGER2
TCP_MD5SIG
TCP_NOOPT
TCP_NOPUSH
TCP_QUICKACK
TCP_SYNCNT
TCP_WINDOW_CLAMP
UDP_CORK
EAI_ADDRFAMILY
EAI_AGAIN
EAI_BADFLAGS
EAI_FAIL
EAI_FAMILY
EAI_MEMORY
EAI_NODATA
EAI_NONAME
EAI_OVERFLOW
EAI_SERVICE
EAI_SOCKTYPE
EAI_SYSTEM
EAI_BADHINTS
EAI_PROTOCOL
EAI_MAX
AI_PASSIVE
AI_CANONNAME
AI_NUMERICHOST
AI_NUMERICSERV
AI_MASK
AI_ALL
AI_V4MAPPED_CFG
AI_ADDRCONFIG
AI_V4MAPPED
AI_DEFAULT
NI_MAXHOST
NI_MAXSERV
NI_NOFQDN
NI_NUMERICHOST
NI_NAMEREQD
NI_NUMERICSERV
NI_DGRAM
SHUT_RD 0
SHUT_WR 1
SHUT_RDWR 2
IPV6_JOIN_GROUP
IPV6_LEAVE_GROUP
IPV6_MULTICAST_HOPS
IPV6_MULTICAST_IF
IPV6_MULTICAST_LOOP
IPV6_UNICAST_HOPS
IPV6_V6ONLY
IPV6_CHECKSUM
IPV6_DONTFRAG
IPV6_DSTOPTS
IPV6_HOPLIMIT
IPV6_HOPOPTS
IPV6_NEXTHOP
IPV6_PATHMTU
IPV6_PKTINFO
IPV6_RECVDSTOPTS
IPV6_RECVHOPLIMIT
IPV6_RECVHOPOPTS
IPV6_RECVPKTINFO
IPV6_RECVRTHDR
IPV6_RECVTCLASS
IPV6_RTHDR
IPV6_RTHDRDSTOPTS
IPV6_RTHDR_TYPE_0
IPV6_RECVPATHMTU
IPV6_TCLASS
IPV6_USE_MIN_MTU
INET_ADDRSTRLEN 16
INET6_ADDRSTRLEN 46
IFNAMSIZ
IF_NAMESIZE
SOMAXCONN
SCM_RIGHTS
SCM_TIMESTAMP
SCM_TIMESTAMPNS
SCM_BINTIME
SCM_CREDENTIALS
SCM_CREDS
SCM_UCRED
LOCAL_PEERCRED
LOCAL_CREDS
LOCAL_CONNWAIT
TCP_NODELAY nil Don't delay sending to coalesce packets
TCP_MAXSEG nil Set maximum segment size
TCP_CORK nil Don't send partial frames
TCP_DEFER_ACCEPT nil Don't notify a listening socket until data is ready
TCP_INFO nil Retreive information about this socket
TCP_KEEPCNT nil Makimum number of keepalive probes allowed before dropping a connection
TCP_KEEPIDLE nil Idle time before keepalive probes are sent
TCP_KEEPINTVL nil Time between keepalive probes
TCP_LINGER2 nil Lifetime of orphaned FIN_WAIT2 sockets
TCP_MD5SIG nil Use MD5 digests (RFC2385)
TCP_NOOPT nil Don't use TCP options
TCP_NOPUSH nil Don't push the last block of write
TCP_QUICKACK nil Enable quickack mode
TCP_SYNCNT nil Number of SYN retransmits before a connection i sdropped
TCP_WINDOW_CLAMP nil Clamp the size of the advertised window
UDP_CORK nil Don't send partial frames
EAI_ADDRFAMILY nil Address family for hostname not supported
EAI_AGAIN nil Temporary failure in name resolution
EAI_BADFLAGS nil Invalid flags
EAI_FAIL nil Non-recoverable failure in name resolution
EAI_FAMILY nil Address family not supported
EAI_MEMORY nil Memory allocation failure
EAI_NODATA nil No address associated with hostname
EAI_NONAME nil Hostname nor servname, or not known
EAI_OVERFLOW nil Argument buffer overflow
EAI_SERVICE nil Servname not supported for socket type
EAI_SOCKTYPE nil Socket type not supported
EAI_SYSTEM nil System error returned in errno
EAI_BADHINTS nil Invalid value for hints
EAI_PROTOCOL nil Resolved protocol is unknown
EAI_MAX nil Maximum error code from getaddrinfo
AI_PASSIVE nil Get address to use with bind()
AI_CANONNAME nil Fill in the canonical name
AI_NUMERICHOST nil Prevent host name resolution
AI_NUMERICSERV nil Prevent service name resolution
AI_MASK nil Valid flag mask for getaddrinfo (not for application use)
AI_ALL nil Allow all addresses
AI_V4MAPPED_CFG nil Accept IPv4 mapped addresses if the kernel supports it
AI_ADDRCONFIG nil Accept only if any address is assigned
AI_V4MAPPED nil Accept IPv4-mapped IPv6 addresses
AI_DEFAULT nil Default flags for getaddrinfo
NI_MAXHOST nil Maximum length of a hostname
NI_MAXSERV nil Maximum length of a service name
NI_NOFQDN nil An FQDN is not required for local hosts, return only the local part
NI_NUMERICHOST nil Return a numeric address
NI_NAMEREQD nil A name is required
NI_NUMERICSERV nil Return the service name as a digit string
NI_DGRAM nil The service specified is a datagram service (looks up udp ports)
SHUT_RD 0 Shut down the reading side of the socket
SHUT_WR 1 Shut down the writing side of the socket
SHUT_RDWR 2 Shut down the both sides of the socket
IPV6_JOIN_GROUP nil Join a group membership
IPV6_LEAVE_GROUP nil Leave a group membership
IPV6_MULTICAST_HOPS nil IP6 multicast hops
IPV6_MULTICAST_IF nil IP6 multicast interface
IPV6_MULTICAST_LOOP nil IP6 multicast loopback
IPV6_UNICAST_HOPS nil IP6 unicast hops
IPV6_V6ONLY nil Only bind IPv6 with a wildcard bind
IPV6_CHECKSUM nil Checksum offset for raw sockets
IPV6_DONTFRAG nil Don't fragment packets
IPV6_DSTOPTS nil Destination option
IPV6_HOPLIMIT nil Hop limit
IPV6_HOPOPTS nil Hop-by-hop option
IPV6_NEXTHOP nil Next hop address
IPV6_PATHMTU nil Retrieve current path MTU
IPV6_PKTINFO nil Receive packet information with datagram
IPV6_RECVDSTOPTS nil Receive all IP6 options for response
IPV6_RECVHOPLIMIT nil Receive hop limit with datagram
IPV6_RECVHOPOPTS nil Receive hop-by-hop options
IPV6_RECVPKTINFO nil Receive destination IP address and incoming interface
IPV6_RECVRTHDR nil Receive routing header
IPV6_RECVTCLASS nil Receive traffic class
IPV6_RTHDR nil Allows removal of sticky routing headers
IPV6_RTHDRDSTOPTS nil Allows removal of sticky destination options header
IPV6_RTHDR_TYPE_0 nil Routing header type 0
IPV6_RECVPATHMTU nil Receive current path MTU with datagram
IPV6_TCLASS nil Specify the traffic class
IPV6_USE_MIN_MTU nil Use the minimum MTU size
INET_ADDRSTRLEN 16 Maximum length of an IPv4 address string
INET6_ADDRSTRLEN 46 Maximum length of an IPv6 address string
IFNAMSIZ nil Maximum interface name size
IF_NAMESIZE nil Maximum interface name size
SOMAXCONN nil Maximum connection requests that may be queued for a socket
SCM_RIGHTS nil Access rights
SCM_TIMESTAMP nil Timestamp (timeval)
SCM_TIMESTAMPNS nil Timespec (timespec)
SCM_BINTIME nil Timestamp (bintime)
SCM_CREDENTIALS nil The sender's credentials
SCM_CREDS nil Process credentials
SCM_UCRED nil User credentials
LOCAL_PEERCRED nil Retrieve peer credentials
LOCAL_CREDS nil Pass credentials to receiver
LOCAL_CONNWAIT nil Connect blocks until accepted
    (1-1/1)