|
| 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_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 | |
|
|
| 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 |