### Class

# Gio UnixFDMessage

#### Description

    class Gio.UnixFDMessage : Gio.SocketControlMessage
    {
      priv: GUnixFDMessagePrivate*
    }

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 or the `GioUnix-2.0` GIR namespace when using it.

#### Ancestors

- GSocketControlMessage
- GObject

#### Constructors

###### g_unix_fd_message_new

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

since: 2.22

###### g_unix_fd_message_new_with_fd_list

Creates a new `GUnixFDMessage` containing `list`.

since: 2.24

#### Instance methods

###### g_unix_fd_message_append_fd

Adds a file descriptor to `message`.

since: 2.22

###### g_unix_fd_message_get_fd_list

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

since: 2.24

###### g_unix_fd_message_steal_fds

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

since: 2.22

##### Methods inherited from GSocketControlMessage (4)

###### g_socket_control_message_get_level

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

since: 2.22

###### g_socket_control_message_get_msg_type

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

since: 2.22

###### g_socket_control_message_get_size

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

since: 2.22

###### g_socket_control_message_serialize

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

since: 2.22

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Gio.UnixFDMessage:fd-list

The `GUnixFDList` object to send with the message.

since: 2.22

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct GioUnixFDMessageClass {
      GSocketControlMessageClass parent_class;
      void (* _g_reserved1) (
    void
      );
      void (* _g_reserved2) (
    void
      );

    }

No description available.

###### Class members

`parent_class: GSocketControlMessageClass`

  No description available.

`_g_reserved1: void (* _g_reserved1) ( void )`

  No description available.

`_g_reserved2: void (* _g_reserved2) ( void )`

  No description available.