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.
Synopsis
- newtype SocketAddress = SocketAddress (ManagedPtr SocketAddress)
- class GObject o => IsSocketAddress o
- toSocketAddress :: (MonadIO m, IsSocketAddress o) => o -> m SocketAddress
- noSocketAddress :: Maybe SocketAddress
- socketAddressGetFamily :: (HasCallStack, MonadIO m, IsSocketAddress a) => a -> m SocketFamily
- socketAddressGetNativeSize :: (HasCallStack, MonadIO m, IsSocketAddress a) => a -> m Int64
- socketAddressNewFromNative :: (HasCallStack, MonadIO m) => Ptr () -> Word64 -> m SocketAddress
- socketAddressToNative :: (HasCallStack, MonadIO m, IsSocketAddress a) => a -> Ptr () -> Word64 -> m ()
- getSocketAddressFamily :: (MonadIO m, IsSocketAddress o) => o -> m SocketFamily
Exported types
newtype SocketAddress Source #
Memory-managed wrapper type.
Instances
GObject SocketAddress Source # | |
Defined in GI.Gio.Objects.SocketAddress gobjectType :: SocketAddress -> IO GType # | |
IsObject SocketAddress Source # | |
Defined in GI.Gio.Objects.SocketAddress | |
IsSocketConnectable SocketAddress Source # | |
Defined in GI.Gio.Objects.SocketAddress | |
IsSocketAddress SocketAddress Source # | |
Defined in GI.Gio.Objects.SocketAddress |
class GObject o => IsSocketAddress o Source #
Type class for types which can be safely cast to SocketAddress
, for instance with toSocketAddress
.
Instances
(GObject a, (UnknownAncestorError SocketAddress a :: Constraint)) => IsSocketAddress a Source # | |
Defined in GI.Gio.Objects.SocketAddress | |
IsSocketAddress InetSocketAddress Source # | |
Defined in GI.Gio.Objects.InetSocketAddress | |
IsSocketAddress ProxyAddress Source # | |
Defined in GI.Gio.Objects.ProxyAddress | |
IsSocketAddress SocketAddress Source # | |
Defined in GI.Gio.Objects.SocketAddress | |
IsSocketAddress UnixSocketAddress Source # | |
Defined in GI.Gio.Objects.UnixSocketAddress |
toSocketAddress :: (MonadIO m, IsSocketAddress o) => o -> m SocketAddress Source #
Cast to SocketAddress
, for types for which this is known to be safe. For general casts, use castTo
.
noSocketAddress :: Maybe SocketAddress Source #
A convenience alias for Nothing
:: Maybe
SocketAddress
.
Methods
getFamily
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
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
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
No description available in the introspection data.
getSocketAddressFamily :: (MonadIO m, IsSocketAddress o) => o -> m SocketFamily Source #
Get the value of the “family
” property.
When overloading is enabled, this is equivalent to
get
socketAddress #family