|
Network.Socket.Internal | Portability | portable | Stability | provisional | Maintainer | libraries@haskell.org |
|
|
|
|
|
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 |
|
|
|
|
Socket addresses
|
|
type HostAddress = Word32 |
|
type HostAddress6 = (Word32, Word32, Word32, Word32) |
|
type FlowInfo = Word32 |
|
type ScopeID = Word32 |
|
newtype PortNumber |
Constructors | | Instances | |
|
|
data SockAddr |
Constructors | | 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_SNA | | AF_DECnet | | AF_APPLETALK | | AF_ROUTE | | AF_X25 | | AF_AX25 | | AF_IPX | | AF_ISDN | | AF_NETROM | | AF_BRIDGE | | AF_ATMPVC | | AF_ROSE | | AF_NETBEUI | | AF_SECURITY | | AF_PACKET | | AF_ASH | | AF_ECONET | | AF_ATMSVC | | AF_IRDA | | AF_PPPOX | | AF_WANPIPE | | AF_BLUETOOTH | |
| Instances | |
|
|
Produced by Haddock version 2.4.2 |