GUnixCredentialsMessage: GIO Reference Manual

## GUnixCredentialsMessage GUnixCredentialsMessage — A GSocketControlMessage containing credentials |

## Functions

GSocketControlMessage * | g_unix_credentials_message_new ()
GSocketControlMessage * | g_unix_credentials_message_new_with_credentials ()
GCredentials * | g_unix_credentials_message_get_credentials ()
gboolean | g_unix_credentials_message_is_supported ()

## Properties

GCredentials * | credentials | Read / Write / Construct Only

## Types and Values

| GUnixCredentialsMessage
struct | GUnixCredentialsMessageClass

## Object Hierarchy

        GObject
        ╰── GSocketControlMessage
            ╰── GUnixCredentialsMessage

## Includes

    #include <gio/gunixcredentialsmessage.h>

## Description

This GSocketControlMessage contains a GCredentials instance. 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).

For an easier way to send and receive credentials over stream-oriented UNIX sockets, see `g_unix_connection_send_credentials()` and `g_unix_connection_receive_credentials()`. To receive credentials of a foreign process connected to a socket, use `g_socket_get_credentials()`.

Since GLib 2.72, GUnixCredentialMessage is available on all platforms. It requires underlying system support (such as Windows 10 with `AF_UNIX`) at run time.

Before GLib 2.72, `<gio/gunixcredentialsmessage.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. This is no longer necessary since GLib 2.72.

## Functions

### g_unix_credentials_message_new ()

    GSocketControlMessage *
    g_unix_credentials_message_new (void);

Creates a new GUnixCredentialsMessage with credentials matching the current processes.

#### Returns

a new GUnixCredentialsMessage

Since: 2.26

### g_unix_credentials_message_new_with_credentials ()

    GSocketControlMessage *
    g_unix_credentials_message_new_with_credentials
                                   (GCredentials *credentials);

Creates a new GUnixCredentialsMessage holding `credentials` .

#### Parameters

credentials | A GCredentials object. |

#### Returns

a new GUnixCredentialsMessage

Since: 2.26

### g_unix_credentials_message_get_credentials ()

    GCredentials *
    g_unix_credentials_message_get_credentials
                                   (GUnixCredentialsMessage *message);

Gets the credentials stored in `message` .

#### Parameters

message | A GUnixCredentialsMessage. |

#### Returns

A GCredentials instance. Do not free, it is owned by `message` .

[transfer none]

Since: 2.26

### g_unix_credentials_message_is_supported ()

    gboolean
    g_unix_credentials_message_is_supported
                                   (void);

Checks if passing GCredentials on a GSocket is supported on this platform.

#### Returns

`TRUE` if supported, `FALSE` otherwise

Since: 2.26

## Types and Values

### GUnixCredentialsMessage

    typedef struct _GUnixCredentialsMessage GUnixCredentialsMessage;

The GUnixCredentialsMessage structure contains only private data and should only be accessed using the provided API.

Since: 2.26

### struct GUnixCredentialsMessageClass

    struct GUnixCredentialsMessageClass {
      GSocketControlMessageClass parent_class;
    };

Class structure for GUnixCredentialsMessage.

Since: 2.26

## Property Details

### The `“credentials”` property

      “credentials”              GCredentials *

The credentials stored in the message.

Owner: GUnixCredentialsMessage

Flags: Read / Write / Construct Only

Since: 2.26

## See Also

GUnixConnection, GSocketControlMessage