ByteLength : Type- Visibility: public export
ResultCode : Type- Visibility: public export
ProtocolNumber : Type Protocol Number.
Generally good enough to just set it to 0.
Visibility: public exportSocketError : Type SocketError: Error thrown by a socket operation
Visibility: public exportSocketDescriptor : Type SocketDescriptor: Native C Socket Descriptor
Visibility: public exportPort : Type- Visibility: public export
BACKLOG : Int Backlog used within listen() call -- number of incoming calls
Visibility: exportEAGAIN : Int- Visibility: export
getErrno : HasIO io => io SocketError- Visibility: export
nullPtr : HasIO io => AnyPtr -> io Bool- Visibility: export
interface ToCode : Type -> Type- Parameters: a
Methods:
toCode : a -> Int
Implementations:
ToCode SocketFamily ToCode SocketType
toCode : ToCode a => a -> Int- Visibility: public export
data SocketFamily : Type Socket Families
The ones that people might actually use. We're not going to need US
Government proprietary ones.
Totality: total
Visibility: public export
Constructors:
AF_UNSPEC : SocketFamily Unspecified
AF_UNIX : SocketFamily Unix type sockets
AF_INET : SocketFamily IP / UDP etc. IPv4
AF_INET6 : SocketFamily IP / UDP etc. IPv6
Hints:
Show SocketFamily ToCode SocketFamily
getSocketFamily : Int -> Maybe SocketFamily- Visibility: export
data SocketType : Type Socket Types.
Totality: total
Visibility: public export
Constructors:
NotASocket : SocketType Not a socket, used in certain operations
Stream : SocketType TCP
Datagram : SocketType UDP
RawSocket : SocketType Raw sockets
Hints:
Show SocketType ToCode SocketType
data SocketAddress : Type Network Addresses
Totality: total
Visibility: public export
Constructors:
IPv4Addr : Int -> Int -> Int -> Int -> SocketAddress IPv6Addr : SocketAddress Not implemented (yet)
Hostname : String -> SocketAddress InvalidAddress : SocketAddress Used when there's a parse error
Hint: Show SocketAddress
parseIPv4 : String -> SocketAddress Parses a textual representation of an IPv4 address into a SocketAddress
Visibility: exportrecord UDPRecvData : Type- Totality: total
Visibility: public export
Constructor: MkUDPRecvData : SocketAddress -> Port -> String -> Int -> UDPRecvData
Projections:
.data_len : UDPRecvData -> Int .recv_data : UDPRecvData -> String .remote_addr : UDPRecvData -> SocketAddress .remote_port : UDPRecvData -> Port
.remote_addr : UDPRecvData -> SocketAddress- Visibility: public export
remote_addr : UDPRecvData -> SocketAddress- Visibility: public export
.remote_port : UDPRecvData -> Port- Visibility: public export
remote_port : UDPRecvData -> Port- Visibility: public export
.recv_data : UDPRecvData -> String- Visibility: public export
recv_data : UDPRecvData -> String- Visibility: public export
.data_len : UDPRecvData -> Int- Visibility: public export
data_len : UDPRecvData -> Int- Visibility: public export
record UDPAddrInfo : Type- Totality: total
Visibility: public export
Constructor: MkUDPAddrInfo : SocketAddress -> Port -> UDPAddrInfo
Projections:
.remote_addr : UDPAddrInfo -> SocketAddress .remote_port : UDPAddrInfo -> Port
.remote_addr : UDPAddrInfo -> SocketAddress- Visibility: public export
remote_addr : UDPAddrInfo -> SocketAddress- Visibility: public export
.remote_port : UDPAddrInfo -> Port- Visibility: public export
remote_port : UDPAddrInfo -> Port- Visibility: public export
record Socket : Type The metadata about a socket
Totality: total
Visibility: public export
Constructor: MkSocket : SocketDescriptor -> SocketFamily -> SocketType -> ProtocolNumber -> Socket
Projections:
.descriptor : Socket -> SocketDescriptor .family : Socket -> SocketFamily .protocolNumber : Socket -> ProtocolNumber .socketType : Socket -> SocketType
.descriptor : Socket -> SocketDescriptor- Visibility: public export
descriptor : Socket -> SocketDescriptor- Visibility: public export
.family : Socket -> SocketFamily- Visibility: public export
family : Socket -> SocketFamily- Visibility: public export
.socketType : Socket -> SocketType- Visibility: public export
socketType : Socket -> SocketType- Visibility: public export
.protocolNumber : Socket -> ProtocolNumber- Visibility: public export
protocolNumber : Socket -> ProtocolNumber- Visibility: public export