| 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.UnixFDMessage
Description
This SocketControlMessage contains a UnixFDList.
It may be sent using socketSendMessage and received using
socketReceiveMessage over UNIX sockets (ie: sockets in the
G_SOCKET_ADDRESS_UNIX family). The file descriptors are copied
between processes by the kernel.
For an easier way to send and receive file descriptors over
stream-oriented UNIX sockets, see unixConnectionSendFd and
unixConnectionReceiveFd.
Note that <gio/gunixfdmessage.h> belongs to the UNIX-specific GIO
interfaces, thus you have to use the gio-unix-2.0.pc pkg-config
file when using it.
Synopsis
- newtype UnixFDMessage = UnixFDMessage (ManagedPtr UnixFDMessage)
- class (GObject o, IsDescendantOf UnixFDMessage o) => IsUnixFDMessage o
- toUnixFDMessage :: (MonadIO m, IsUnixFDMessage o) => o -> m UnixFDMessage
- noUnixFDMessage :: Maybe UnixFDMessage
- unixFDMessageAppendFd :: (HasCallStack, MonadIO m, IsUnixFDMessage a) => a -> Int32 -> m ()
- unixFDMessageGetFdList :: (HasCallStack, MonadIO m, IsUnixFDMessage a) => a -> m UnixFDList
- unixFDMessageNew :: (HasCallStack, MonadIO m) => m UnixFDMessage
- unixFDMessageNewWithFdList :: (HasCallStack, MonadIO m, IsUnixFDList a) => a -> m UnixFDMessage
- unixFDMessageStealFds :: (HasCallStack, MonadIO m, IsUnixFDMessage a) => a -> m [Int32]
- constructUnixFDMessageFdList :: (IsUnixFDMessage o, IsUnixFDList a) => a -> IO (GValueConstruct o)
- getUnixFDMessageFdList :: (MonadIO m, IsUnixFDMessage o) => o -> m UnixFDList
Exported types
newtype UnixFDMessage Source #
Memory-managed wrapper type.
Constructors
| UnixFDMessage (ManagedPtr UnixFDMessage) |
Instances
| Eq UnixFDMessage Source # | |
Defined in GI.Gio.Objects.UnixFDMessage Methods (==) :: UnixFDMessage -> UnixFDMessage -> Bool # (/=) :: UnixFDMessage -> UnixFDMessage -> Bool # | |
| GObject UnixFDMessage Source # | |
Defined in GI.Gio.Objects.UnixFDMessage Methods gobjectType :: IO GType # | |
| IsGValue UnixFDMessage Source # | Convert |
Defined in GI.Gio.Objects.UnixFDMessage | |
| HasParentTypes UnixFDMessage Source # | |
Defined in GI.Gio.Objects.UnixFDMessage | |
| type ParentTypes UnixFDMessage Source # | |
Defined in GI.Gio.Objects.UnixFDMessage | |
class (GObject o, IsDescendantOf UnixFDMessage o) => IsUnixFDMessage o Source #
Type class for types which can be safely cast to UnixFDMessage, for instance with toUnixFDMessage.
Instances
| (GObject o, IsDescendantOf UnixFDMessage o) => IsUnixFDMessage o Source # | |
Defined in GI.Gio.Objects.UnixFDMessage | |
toUnixFDMessage :: (MonadIO m, IsUnixFDMessage o) => o -> m UnixFDMessage Source #
Cast to UnixFDMessage, for types for which this is known to be safe. For general casts, use castTo.
noUnixFDMessage :: Maybe UnixFDMessage Source #
A convenience alias for Nothing :: Maybe UnixFDMessage.
Methods
Overloaded methods
appendFd
unixFDMessageAppendFd Source #
Arguments
| :: (HasCallStack, MonadIO m, IsUnixFDMessage a) | |
| => a |
|
| -> Int32 |
|
| -> m () | (Can throw |
Adds a file descriptor to message.
The file descriptor is duplicated using dup(). You keep your copy
of the descriptor and the copy contained in message will be closed
when message is finalized.
A possible cause of failure is exceeding the per-process or system-wide file descriptor limit.
Since: 2.22
getFdList
unixFDMessageGetFdList Source #
Arguments
| :: (HasCallStack, MonadIO m, IsUnixFDMessage a) | |
| => a |
|
| -> m UnixFDList | Returns: the |
Gets the UnixFDList contained in message. This function does not
return a reference to the caller, but the returned list is valid for
the lifetime of message.
Since: 2.24
new
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m UnixFDMessage | Returns: a new |
Creates a new UnixFDMessage containing an empty file descriptor
list.
Since: 2.22
newWithFdList
unixFDMessageNewWithFdList Source #
Arguments
| :: (HasCallStack, MonadIO m, IsUnixFDList a) | |
| => a |
|
| -> m UnixFDMessage | Returns: a new |
Creates a new UnixFDMessage containing list.
Since: 2.24
stealFds
unixFDMessageStealFds Source #
Arguments
| :: (HasCallStack, MonadIO m, IsUnixFDMessage a) | |
| => a |
|
| -> m [Int32] | Returns: an array of file descriptors |
Returns the array of file descriptors that is contained in this object.
After this call, the descriptors are no longer contained in
message. Further calls will return an empty list (unless more
descriptors have been added).
The return result of this function must be freed with free.
The caller is also responsible for closing all of the file
descriptors.
If length is non-Nothing then it is set to the number of file
descriptors in the returned array. The returned array is also
terminated with -1.
This function never returns Nothing. In case there are no file
descriptors contained in message, an empty array is returned.
Since: 2.22
Properties
fdList
No description available in the introspection data.
constructUnixFDMessageFdList :: (IsUnixFDMessage o, IsUnixFDList a) => a -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “fd-list” property. This is rarely needed directly, but it is used by new.
getUnixFDMessageFdList :: (MonadIO m, IsUnixFDMessage o) => o -> m UnixFDList Source #
Get the value of the “fd-list” property.
When overloading is enabled, this is equivalent to
get unixFDMessage #fdList