UnixFDMessage

This #GSocketControlMessage contains a #GUnixFDList. It may be sent using g_socket_send_message() and received using g_socket_receive_message() over UNIX sockets (ie: sockets in the %G_SOCKET_FAMILY_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 g_unix_connection_send_fd() and g_unix_connection_receive_fd().

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.

Constructors

this
this(GUnixFDMessage* gUnixFDMessage, bool ownedRef)

Sets our main struct and passes it to the parent class.

this
this()

Creates a new #GUnixFDMessage containing an empty file descriptor list.

this
this(UnixFDList fdList)

Creates a new #GUnixFDMessage containing @list.

Members

Functions

appendFd
bool appendFd(int fd)

Adds a file descriptor to @message.

getFdList
UnixFDList getFdList()

Gets the #GUnixFDList contained in @message. This function does not return a reference to the caller, but the returned list is valid for the lifetime of @message.

getStruct
void* getStruct()

the main Gtk struct as a void*

getUnixFDMessageStruct
GUnixFDMessage* getUnixFDMessageStruct(bool transferOwnership)

Get the main Gtk struct

stealFds
int[] stealFds()

Returns the array of file descriptors that is contained in this object.

Static functions

getType
GType getType()

Variables

gUnixFDMessage
GUnixFDMessage* gUnixFDMessage;

the main Gtk struct

Inherited Members

From SocketControlMessage

gSocketControlMessage
GSocketControlMessage* gSocketControlMessage;

the main Gtk struct

getSocketControlMessageStruct
GSocketControlMessage* getSocketControlMessageStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

getType
GType getType()
deserialize
SocketControlMessage deserialize(int level, int type, ubyte[] data)

Tries to deserialize a socket control message of a given @level and @type. This will ask all known (to GType) subclasses of #GSocketControlMessage if they can understand this kind of message and if so deserialize it into a #GSocketControlMessage.

getLevel
int getLevel()

Returns the "level" (i.e. the originating protocol) of the control message. This is often SOL_SOCKET.

getMsgType
int getMsgType()

Returns the protocol specific type of the control message. For instance, for UNIX fd passing this would be SCM_RIGHTS.

getSize
size_t getSize()

Returns the space required for the control message, not including headers or alignment.

serialize
void serialize(void* data)

Converts the data in the message to bytes placed in the message.

Meta