|
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
|
|
|
|
|
|
|
|
|
|
|
Constructors | | Instances | |
|
|
|
Constructors | | Instances | |
|
|
|
Read a SockAddr from the given memory location.
|
|
|
Write the given SockAddr to the given memory location.
|
|
|
Computes the storage requirements (in bytes) of the given
SockAddr. This function differs from sizeOf
in that the value of the argument is used.
|
|
|
Computes the storage requirements (in bytes) required for a
SockAddr with the given Family.
|
|
|
Use a SockAddr with a function requiring a pointer to a
SockAddr and the length of that SockAddr.
|
|
|
Create a new SockAddr for use with a function requiring a
pointer to a SockAddr and the length of that SockAddr.
|
|
Protocol families
|
|
|
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_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 | |
|
|
Socket error functions
|
|
|
:: | | => String | textual description of the error location
| -> IO a | | Throw an IOError corresponding to the current socket error.
|
|
|
Guards for socket operations that may fail
|
|
throwSocketErrorIfMinus1_ | Source |
|
:: Num a | | => String | textual description of the location
| -> IO a | the IO operation to be executed
| -> IO () | | Throw an IOError corresponding to the current socket error if
the IO action returns a result of -1. Discards the result of the
IO action after error handling.
|
|
|
throwSocketErrorIfMinus1Retry | Source |
|
:: Num a | | => String | textual description of the location
| -> IO a | the IO operation to be executed
| -> IO a | | Throw an IOError corresponding to the current socket error if
the IO action returns a result of -1, but retries in case of an
interrupted operation.
|
|
|
throwSocketErrorIfMinus1RetryMayBlock | Source |
|
:: Num a | | => String | textual description of the location
| -> IO b | action to execute before retrying if an
immediate retry would block
| -> IO a | the IO operation to be executed
| -> IO a | | Throw an IOError corresponding to the current socket error if
the IO action returns a result of -1, but retries in case of an
interrupted operation. Checks for operations that would block and
executes an alternative action before retrying in that case.
|
|
|
Initialization
|
|
|
On Windows operating systems, the networking subsystem has to be
initialised using withSocketsDo before any networking operations can
be used. eg.
main = withSocketsDo $ do {...}
Although this is only strictly necessary on Windows platforms, it is
harmless on other platforms, so for portability it is good practice to
use it all the time.
|
|
Produced by Haddock version 2.4.2 |