Scroll to navigation

SD_BUS_GET_NAME_CREDS(3) sd_bus_get_name_creds SD_BUS_GET_NAME_CREDS(3)


sd_bus_get_name_creds, sd_bus_get_owner_creds - Query bus client credentials


#include <elogind/sd-bus.h>

int sd_bus_get_name_creds(sd_bus *bus, const char *name, uint64_t mask, sd_bus_creds **creds);

int sd_bus_get_owner_creds(sd_bus *bus, uint64_t mask, sd_bus_creds **creds);


sd_bus_get_name_creds() queries the credentials of the bus client identified by name. The mask parameter is a combo of SD_BUS_CREDS_* flags that indicate which credential info the caller is interested in. See sd_bus_creds_new_from_pid(3) for a list of possible flags. On success, creds contains a new sd_bus_creds instance with the requested information. Ownership of this instance belongs to the caller and it should be freed once no longer needed by calling sd_bus_creds_unref(3).

sd_bus_get_owner_creds() queries the credentials of the creator of the given bus. The mask and creds parameters behave the same as in sd_bus_get_name_creds().


On success, these functions return a non-negative integer. On failure, they return a negative errno-style error code.


Returned errors may indicate the following problems:


An argument is invalid.

Added in version 246.


The bus cannot be resolved.

Added in version 246.


The bus has already been started.

Added in version 246.


The bus was created in a different process, library or module instance.

Added in version 246.


Memory allocation failed.

Added in version 246.


Functions described here are available as a shared library, which can be compiled against and linked to with the libelogind pkg-config(8) file.


sd_bus_get_name_creds() and sd_bus_get_owner_creds() were added in version 246.


elogind(8), sd-bus(3), sd_bus_creds_unref(3)

elogind 255