### Method

# Gio Socket get_credentials

since: 2.26

#### Declaration

    GCredentials*
    g_socket_get_credentials (
      GSocket* socket
      GError** error
    )

#### Description

Returns the credentials of the foreign process connected to this socket, if any (e.g. it is only supported for `G_SOCKET_FAMILY_UNIX` sockets).

If this operation isn’t supported on the OS, the method fails with the `G_IO_ERROR_NOT_SUPPORTED` error. On Linux this is implemented by reading the `SO_PEERCRED` option on the underlying socket.

This method can be expected to be available on the following platforms:

- Linux since GLib 2.26
- OpenBSD since GLib 2.30
- Solaris, Illumos and OpenSolaris since GLib 2.40
- NetBSD since GLib 2.42
- macOS, tvOS, iOS since GLib 2.66

Other ways to obtain credentials from a foreign peer includes the `GUnixCredentialsMessage` type and `g_unix_connection_send_credentials()` / `g_unix_connection_receive_credentials()` functions.

Available since: 2.26

#### Return value

Type: `GCredentials`

`NULL` if `error` is set, otherwise a `GCredentials` object that must be freed with g_object_unref().

The caller of the method takes ownership of the data, and is responsible for freeing it.