Network.Socket

# Types

data Socket
data Family
data SocketType
data SockAddr
data SocketStatus
type HostAddress
type HostAddress6
type FlowInfo
type ScopeID
data ShutdownCmd
type ProtocolNumber
defaultProtocol
data PortNumber

# Address operations

type HostName
type ServiceName
data AddrInfo
data AddrInfoFlag
addrInfoFlagImplemented
defaultHints
getAddrInfo
data NameInfoFlag
getNameInfo

# Socket Operations

socket
socketPair
connect
bindSocket
listen
accept
getPeerName
getSocketName
socketPort
socketToHandle
sendTo
sendBufTo
recvFrom
recvBufFrom
send
recv
recvLen
inet_addr
inet_ntoa
shutdown
sClose

## Predicates on sockets

sIsConnected
sIsBound
sIsListening
sIsReadable
sIsWritable

# Socket options

data SocketOption
getSocketOption
setSocketOption

# File descriptor transmission

sendFd
recvFd
sendAncillary
recvAncillary

# Special Constants

aNY_PORT
iNADDR_ANY
iN6ADDR_ANY
sOMAXCONN
sOL_SOCKET
sCM_RIGHTS
maxListenQueue

# Initialisation

withSocketsDo

# Very low level operations

fdSocket
mkSocket

# Internal

packFamily
unpackFamily
packSocketType
throwSocketErrorIfMinus1_