sd_bus_get_name_machine_id − Retrieve a bus client's machine identity
#include <elogind/sd−bus.h>
int sd_bus_get_name_machine_id(sd_bus *bus, const char *name, sd_id128_t *machine); |
sd_bus_get_name_machine_id() retrieves the D−Bus machine identity of the machine that the bus client identified by name is running on. Internally, it calls the GetMachineId method of the org.freedesktop.DBus.Peer interface. The D−Bus machine identity is a 128−bit UUID. On Linux systems running elogind, this corresponds to the contents of /etc/machine−id. On success, the machine identity is stored in machine.
On success, this function returns a non−negative integer. On failure, it returns a negative errno−style error code.
Returned errors may indicate the following problems:
−EINVAL
An argument is invalid.
−ENOPKG
The bus cannot be resolved.
−ECHILD
The bus was created in a different process.
−ENOMEM
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(8), sd-bus(3)