sd_bus_get_name_creds, sd_bus_get_owner_creds — Query bus client credentials
#include <systemd/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.
Functions described here are available as a shared
library, which can be compiled against and linked to with the
libsystemd
pkg-config(1)
file.
The code described here uses
getenv(3),
which is declared to be not multi-thread-safe. This means that the code calling the functions described
here must not call
setenv(3)
from a parallel thread. It is recommended to only do calls to setenv()
from an early phase of the program when no other threads have been started.