gi-gio-2.0.25: Gio bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

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

Exported types

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

Instances details
(GObject o, IsDescendantOf UnixFDMessage o) => IsUnixFDMessage o Source # 
Instance details

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.

Methods

Overloaded methods

appendFd

unixFDMessageAppendFd Source #

Arguments

:: (HasCallStack, MonadIO m, IsUnixFDMessage a) 
=> a

message: a UnixFDMessage

-> Int32

fd: a valid open file descriptor

-> m ()

(Can throw GError)

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

message: a UnixFDMessage

-> m UnixFDList

Returns: the UnixFDList from message

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

unixFDMessageNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m UnixFDMessage

Returns: a new UnixFDMessage

Creates a new UnixFDMessage containing an empty file descriptor list.

Since: 2.22

newWithFdList

unixFDMessageNewWithFdList Source #

Arguments

:: (HasCallStack, MonadIO m, IsUnixFDList a) 
=> a

fdList: a UnixFDList

-> m UnixFDMessage

Returns: a new UnixFDMessage

Creates a new UnixFDMessage containing list.

Since: 2.24

stealFds

unixFDMessageStealFds Source #

Arguments

:: (HasCallStack, MonadIO m, IsUnixFDMessage a) 
=> a

message: a UnixFDMessage

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