|  |  |  | GIO Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
#include <gio/gio.h>
                    GCredentials;
                    GCredentialsClass;
GCredentials *      g_credentials_new                   (void);
gchar *             g_credentials_to_string             (GCredentials *credentials);
gpointer            g_credentials_get_native            (GCredentials *credentials);
void                g_credentials_set_native            (GCredentials *credentials,
                                                         gpointer native);
gboolean            g_credentials_is_same_user          (GCredentials *credentials,
                                                         GCredentials *other_credentials,
                                                         GError **error);
uid_t               g_credentials_get_unix_user         (GCredentials *credentials,
                                                         GError **error);
gboolean            g_credentials_set_unix_user         (GCredentials *credentials,
                                                         uid_t uid,
                                                         GError **error);
The GCredentials type is a reference-counted wrapper for the native credentials type. This information is typically used for identifying, authenticating and authorizing other processes.
Some operating systems supports looking up the credentials of the
remote peer of a communication endpoint - see e.g.
g_socket_get_credentials().
Some operating systems supports securely sending and receiving
credentials over a Unix Domain Socket, see
GUnixCredentialsMessage, g_unix_connection_send_credentials() and
g_unix_connection_receive_credentials() for details.
On Linux, the native credential type is a struct ucred - see
the unix(7) man page for details.
typedef struct _GCredentials GCredentials;
The GCredentials structure contains only private data and should only be accessed using the provided API.
Since 2.26
typedef struct {
} GCredentialsClass;
Class structure for GCredentials.
Since 2.26
GCredentials *      g_credentials_new                   (void);
Creates a new GCredentials object with credentials matching the the current process.
| Returns : | A GCredentials. Free with g_object_unref(). | 
Since 2.26
gchar *             g_credentials_to_string             (GCredentials *credentials);
Creates a human-readable textual representation of credentials
that can be used in logging and debug messages. The format of the
returned string may change in future GLib release.
| 
 | A GCredentials object. | 
| Returns : | A string that should be freed with g_free(). | 
Since 2.26
gpointer            g_credentials_get_native            (GCredentials *credentials);
Gets a pointer to the native credentials structure.
| 
 | A GCredentials. | 
| Returns : | The pointer or NULLif there is no GCredentials support
for the OS. Do not free the returned data, it is owned bycredentials. | 
Since 2.26
void g_credentials_set_native (GCredentials *credentials,gpointer native);
Copies the native credentials from native into credentials.
It is a programming error (which will cause an warning to be logged) to use this method if there is no GCredentials support for the OS.
| 
 | A GCredentials. | 
| 
 | A pointer to native credentials. | 
Since 2.26
gboolean g_credentials_is_same_user (GCredentials *credentials,GCredentials *other_credentials,GError **error);
Checks if credentials and other_credentials is the same user.
This operation can fail if GCredentials is not supported on the the OS.
| 
 | A GCredentials. | 
| 
 | A GCredentials. | 
| 
 | Return location for error or NULL. | 
| Returns : | TRUEifcredentialsandother_credentialshas the same
user,FALSEotherwise or iferroris set. | 
Since 2.26
uid_t g_credentials_get_unix_user (GCredentials *credentials,GError **error);
Tries to get the UNIX user identifier from credentials. This
method is only available on UNIX platforms.
This operation can fail if GCredentials is not supported on the OS or if the native credentials type does not contain information about the UNIX user.
| 
 | A GCredentials | 
| 
 | Return location for error or NULL. | 
| Returns : | The UNIX user identifier or -1 if erroris set. | 
Since 2.26
gboolean g_credentials_set_unix_user (GCredentials *credentials,uid_t uid,GError **error);
Tries to set the UNIX user identifier on credentials. This method
is only available on UNIX platforms.
This operation can fail if GCredentials is not supported on the OS or if the native credentials type does not contain information about the UNIX user.
| 
 | A GCredentials. | 
| 
 | The UNIX user identifier to set. | 
| 
 | Return location for error or NULL. | 
| Returns : | TRUEifuidwas set,FALSEif error is set. | 
Since 2.26