W3cubDocs

/Ruby 2.4

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_APPLETALK

AppleTalk protocol

AF_ATM

Asynchronous Transfer Mode

AF_AX25

AX.25 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_DLI

DEC Direct Data Link Interface protocol

AF_E164

CCITT (ITU-T) E.164 recommendation

AF_ECMA

European Computer Manufacturers protocols

NSC Hyperchannel protocol

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_LAT

Local Area Transport protocol

Link layer interface

AF_LOCAL

Host-internal protocols

AF_MAX

Maximum address family for this platform

AF_NATM

Native ATM access

AF_NDRV

Network driver raw access

AF_NETBIOS

NetBIOS

AF_NETGRAPH

Netgraph sockets

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_PUP

PARC Universal Packet protocol

AF_ROUTE

Internal routing protocol

AF_SIP

Simple Internet Protocol

AF_SNA

IBM SNA protocol

AF_SYSTEM
AF_UNIX

UNIX sockets

AF_UNSPEC

Unspecified protocol, any supported address family

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_APPLETALK

AppleTalk protocol

PF_ATM

Asynchronous Transfer Mode

PF_AX25

AX.25 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_DLI

DEC Direct Data Link Interface protocol

PF_ECMA

European Computer Manufacturers protocols

NSC Hyperchannel protocol

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_KEY
PF_LAT

Local Area Transport protocol

Link layer interface

PF_LOCAL

Host-internal protocols

PF_MAX

Maximum address family for this platform

PF_NATM

Native ATM access

PF_NDRV

Network driver raw access

PF_NETBIOS

NetBIOS

PF_NETGRAPH

Netgraph sockets

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_PUP

PARC Universal Packet protocol

PF_ROUTE

Internal routing protocol

PF_RTIP
PF_SIP

Simple Internet Protocol

PF_SNA

IBM SNA protocol

PF_SYSTEM
PF_UNIX

UNIX sockets

PF_UNSPEC

Unspecified protocol, any supported address family

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_DGRAM

A datagram socket provides connectionless, unreliable messaging

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_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_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_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_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 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_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)

Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.