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.


The bus cannot be resolved.


The bus has already been started.


The bus was created in a different process.


Memory allocation failed.


These APIs are implemented as a shared library, which can be compiled and linked to with the libelogind pkg-config(1) file.


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

elogind 246.10