Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
SocketAddress
is the equivalent of struct sockaddr in the BSD
sockets API. This is an abstract class; use InetSocketAddress
for internet sockets, or UnixSocketAddress
for UNIX domain sockets.
- newtype SocketAddress = SocketAddress (ManagedPtr SocketAddress)
- class GObject o => IsSocketAddress o
- toSocketAddress :: IsSocketAddress o => o -> IO SocketAddress
- noSocketAddress :: Maybe SocketAddress
- data SocketAddressGetFamilyMethodInfo
- socketAddressGetFamily :: (HasCallStack, MonadIO m, IsSocketAddress a) => a -> m SocketFamily
- data SocketAddressGetNativeSizeMethodInfo
- socketAddressGetNativeSize :: (HasCallStack, MonadIO m, IsSocketAddress a) => a -> m Int64
- socketAddressNewFromNative :: (HasCallStack, MonadIO m) => Ptr () -> Word64 -> m SocketAddress
- data SocketAddressToNativeMethodInfo
- socketAddressToNative :: (HasCallStack, MonadIO m, IsSocketAddress a) => a -> Ptr () -> Word64 -> m ()
- data SocketAddressFamilyPropertyInfo
- getSocketAddressFamily :: (MonadIO m, IsSocketAddress o) => o -> m SocketFamily
- socketAddressFamily :: AttrLabelProxy "family"
Exported types
newtype SocketAddress Source #
GObject SocketAddress Source # | |
IsObject SocketAddress Source # | |
IsSocketAddress SocketAddress Source # | |
IsSocketConnectable SocketAddress Source # | |
((~) * info (ResolveSocketAddressMethod t SocketAddress), MethodInfo * info SocketAddress p) => IsLabel t (SocketAddress -> p) Source # | |
((~) * info (ResolveSocketAddressMethod t SocketAddress), MethodInfo * info SocketAddress p) => IsLabelProxy t (SocketAddress -> p) Source # | |
HasAttributeList * SocketAddress Source # | |
type AttributeList SocketAddress Source # | |
type SignalList SocketAddress Source # | |
class GObject o => IsSocketAddress o Source #
toSocketAddress :: IsSocketAddress o => o -> IO SocketAddress Source #
Methods
getFamily
data SocketAddressGetFamilyMethodInfo Source #
((~) * signature (m SocketFamily), MonadIO m, IsSocketAddress a) => MethodInfo * SocketAddressGetFamilyMethodInfo a signature Source # | |
socketAddressGetFamily Source #
:: (HasCallStack, MonadIO m, IsSocketAddress a) | |
=> a |
|
-> m SocketFamily | Returns: the socket family type of |
Gets the socket family type of address
.
Since: 2.22
getNativeSize
data SocketAddressGetNativeSizeMethodInfo Source #
((~) * signature (m Int64), MonadIO m, IsSocketAddress a) => MethodInfo * SocketAddressGetNativeSizeMethodInfo a signature Source # | |
socketAddressGetNativeSize Source #
:: (HasCallStack, MonadIO m, IsSocketAddress a) | |
=> a |
|
-> m Int64 | Returns: the size of the native struct sockaddr that
|
Gets the size of address
's native struct sockaddr.
You can use this to allocate memory to pass to
socketAddressToNative
.
Since: 2.22
newFromNative
socketAddressNewFromNative Source #
:: (HasCallStack, MonadIO m) | |
=> Ptr () |
|
-> Word64 |
|
-> m SocketAddress | Returns: a new |
Creates a SocketAddress
subclass corresponding to the native
struct sockaddr native
.
Since: 2.22
toNative
data SocketAddressToNativeMethodInfo Source #
((~) * signature (Ptr () -> Word64 -> m ()), MonadIO m, IsSocketAddress a) => MethodInfo * SocketAddressToNativeMethodInfo a signature Source # | |
socketAddressToNative Source #
:: (HasCallStack, MonadIO m, IsSocketAddress a) | |
=> a |
|
-> Ptr () |
|
-> Word64 |
|
-> m () | (Can throw |
Converts a SocketAddress
to a native struct sockaddr, which can
be passed to low-level functions like connect()
or bind()
.
If not enough space is available, a IOErrorEnumNoSpace
error
is returned. If the address type is not known on the system
then a IOErrorEnumNotSupported
error is returned.
Since: 2.22
Properties
family
data SocketAddressFamilyPropertyInfo Source #
getSocketAddressFamily :: (MonadIO m, IsSocketAddress o) => o -> m SocketFamily Source #
socketAddressFamily :: AttrLabelProxy "family" Source #