sd_id128_get_machine

systemd
Developer Lennart Poettering lennart@poettering.net
sd_id128_get_machine 3
sd_id128_get_machine sd_id128_get_boot Retrieve 128-bit IDs

    #include <systemd/sd-id128.h>

int `sd_id128_get_machine` sd_id128_t *ret int `sd_id128_get_boot` sd_id128_t *ret

## Description

`sd_id128_get_machine()` returns the machine ID of the executing host. This reads and parses the machine-id 5 file. This function caches the machine ID internally to make retrieving the machine ID a cheap operation.

`sd_id128_get_boot()` returns the boot ID of the executing kernel. This reads and parses the `/proc/sys/kernel/random/boot_id` file exposed by the kernel. It is randomly generated early at boot and is unique for every running kernel instance. See random 4 for more information. This function also internally caches the returned ID to make this call a cheap operation.

Note that `sd_id128_get_boot()` always returns a UUID v4 compatible ID. `sd_id128_get_machine()` will also return a UUID v4-compatible ID on new installations but might not on older. It is possible to convert the machine ID into a UUID v4-compatible one. For more information, see machine-id 5.

For more information about the `sd_id128_t` type see sd-id128 3.

## Return Value

The two calls return 0 on success (in which case ret is filled in), or a negative errno-style error code.

## Notes

The `sd_id128_get_machine()` and `sd_id128_get_boot()` interfaces are available as a shared library, which can be compiled and linked to with the `libsystemd` pkg-config 1 file.

## See Also

systemd 1, sd-id128 3, machine-id 5, random 4, sd_id128_randomize 3