sd_bus_get_name_machine_id

elogind
sd_bus_get_name_machine_id 3
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

## Description

`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.

## Return Value

On success, this function returns a non-negative integer. On failure, it returns a negative errno-style error code.

### Errors

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, library or module instance.

`-ENOMEM`

  Memory allocation failed.

## History

`sd_bus_get_name_machine_id()` was added in version 246.

## See Also

elogind 8, sd-bus 3