network-2.2.1: Networking-related facilitiesContentsIndex
Network.Socket.Internal
Portabilityportable
Stabilityprovisional
Maintainerlibraries@haskell.org
Contents
Socket addresses
Protocol families
Description
A module containing semi-public Network.Socket internals. Modules which extend the Network.Socket module will need to use this module while ideally most users will be able to make do with the public interface.
Synopsis
type HostAddress = Word32
newtype PortNumber = PortNum Word16
data SockAddr
= SockAddrInet PortNumber HostAddress
| SockAddrUnix String
peekSockAddr :: Ptr SockAddr -> IO SockAddr
pokeSockAddr :: Ptr a -> SockAddr -> IO ()
sizeOfSockAddr :: SockAddr -> Int
sizeOfSockAddrByFamily :: Family -> Int
withSockAddr :: SockAddr -> (Ptr SockAddr -> Int -> IO a) -> IO a
withNewSockAddr :: Family -> (Ptr SockAddr -> Int -> IO a) -> IO a
data Family
= AF_UNSPEC
| AF_UNIX
| AF_INET
| AF_INET6
| AF_IMPLINK
| AF_PUP
| AF_CHAOS
| AF_NS
| AF_NBS
| AF_ECMA
| AF_DATAKIT
| AF_CCITT
| AF_SNA
| AF_DECnet
| AF_DLI
| AF_LAT
| AF_HYLINK
| AF_APPLETALK
| AF_ROUTE
| AF_NIT
| AF_802
| AF_OSI
| AF_X25
| AF_OSINET
| AF_IPX
| AF_LINK
Socket addresses
type HostAddress = Word32
newtype PortNumber
Constructors
PortNum Word16
show/hide Instances
data SockAddr
Constructors
SockAddrInet PortNumber HostAddress
SockAddrUnix String
show/hide Instances
peekSockAddr :: Ptr SockAddr -> IO SockAddr
Read a SockAddr from the given memory location.
pokeSockAddr :: Ptr a -> SockAddr -> IO ()
Write the given SockAddr to the given memory location.
sizeOfSockAddr :: SockAddr -> Int
Computes the storage requirements (in bytes) of the given SockAddr. This function differs from sizeOf in that the value of the argument is used.
sizeOfSockAddrByFamily :: Family -> Int
Computes the storage requirements (in bytes) required for a SockAddr with the given Family.
withSockAddr :: SockAddr -> (Ptr SockAddr -> Int -> IO a) -> IO a
Use a SockAddr with a function requiring a pointer to a SockAddr and the length of that SockAddr.
withNewSockAddr :: Family -> (Ptr SockAddr -> Int -> IO a) -> IO a
Create a new SockAddr for use with a function requiring a pointer to a SockAddr and the length of that SockAddr.
Protocol families
data Family
This data type might have different constructors depending on what is supported by the operating system.
Constructors
AF_UNSPEC
AF_UNIX
AF_INET
AF_INET6
AF_IMPLINK
AF_PUP
AF_CHAOS
AF_NS
AF_NBS
AF_ECMA
AF_DATAKIT
AF_CCITT
AF_SNA
AF_DECnet
AF_DLI
AF_LAT
AF_HYLINK
AF_APPLETALK
AF_ROUTE
AF_NIT
AF_802
AF_OSI
AF_X25
AF_OSINET
AF_IPX
AF_LINK
show/hide Instances
Produced by Haddock version 2.4.2