### Class

# Gio UnixFDList

since: 2.0

#### Description

    class Gio.UnixFDList : GObject.Object
    {
      priv: GUnixFDListPrivate*
    }

A `GUnixFDList` contains a list of file descriptors. It owns the file descriptors that it contains, closing them when finalized.

It may be wrapped in a `GUnixFDMessage` and sent over a `GSocket` in the `G_SOCKET_FAMILY_UNIX` family by using `g_socket_send_message()` and received using `g_socket_receive_message()`.

Before 2.74, `<gio/gunixfdlist.h>` belonged to the UNIX-specific GIO interfaces, thus you had to use the `gio-unix-2.0.pc` pkg-config file when using it.

Since 2.74, the API is available for Windows.

Available since: 2.0

#### Ancestors

- GObject

#### Constructors

###### g_unix_fd_list_new

Creates a new `GUnixFDList` containing no file descriptors.

since: 2.24

###### g_unix_fd_list_new_from_array

Creates a new `GUnixFDList` containing the file descriptors given in `fds`. The file descriptors become the property of the new list and may no longer be used by the caller. The array itself is owned by the caller.

since: 2.24

#### Instance methods

###### g_unix_fd_list_append

Adds a file descriptor to `list`.

since: 2.24

###### g_unix_fd_list_get

Gets a file descriptor out of `list`.

since: 2.24

###### g_unix_fd_list_get_length

Gets the length of `list` (ie: the number of file descriptors contained within).

since: 2.24

###### g_unix_fd_list_peek_fds

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

since: 2.24

###### g_unix_fd_list_steal_fds

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

since: 2.24

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

Please see GObject for a full list of methods.

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

since: 2.0

#### Class structure

    struct GioUnixFDListClass {
      GObjectClass parent_class;
      void (* _g_reserved1) (
    void
      );
      void (* _g_reserved2) (
    void
      );
      void (* _g_reserved3) (
    void
      );
      void (* _g_reserved4) (
    void
      );
      void (* _g_reserved5) (
    void
      );

    }

No description available.

###### Class members

`parent_class: GObjectClass`
  No description available.
`_g_reserved1: void (* _g_reserved1) ( void )`
  No description available.
`_g_reserved2: void (* _g_reserved2) ( void )`
  No description available.
`_g_reserved3: void (* _g_reserved3) ( void )`
  No description available.
`_g_reserved4: void (* _g_reserved4) ( void )`
  No description available.
`_g_reserved5: void (* _g_reserved5) ( void )`
  No description available.