| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.Gio.Objects.SocketAddress
Description
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, IsDescendantOf SocketAddress 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.
Constructors
| SocketAddress (ManagedPtr SocketAddress) |
Instances
| Eq SocketAddress Source # | |
Defined in GI.Gio.Objects.SocketAddress Methods (==) :: SocketAddress -> SocketAddress -> Bool # (/=) :: SocketAddress -> SocketAddress -> Bool # | |
| GObject SocketAddress Source # | |
Defined in GI.Gio.Objects.SocketAddress Methods gobjectType :: IO GType # | |
| IsGValue SocketAddress Source # | Convert |
Defined in GI.Gio.Objects.SocketAddress | |
| HasParentTypes SocketAddress Source # | |
Defined in GI.Gio.Objects.SocketAddress | |
| type ParentTypes SocketAddress Source # | |
Defined in GI.Gio.Objects.SocketAddress | |
class (GObject o, IsDescendantOf SocketAddress o) => IsSocketAddress o Source #
Type class for types which can be safely cast to SocketAddress, for instance with toSocketAddress.
Instances
| (GObject o, IsDescendantOf SocketAddress o) => IsSocketAddress o Source # | |
Defined in GI.Gio.Objects.SocketAddress | |
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
Overloaded methods
getFamily
socketAddressGetFamily Source #
Arguments
| :: (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 #
Arguments
| :: (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 #
Arguments
| :: (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 #
Arguments
| :: (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