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 ); | 
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 an UUID v4 compatible
                one. For more information see
                machine-id(5).
For more information about the
                sd_id128_t type see
                sd-id128(3).
The two calls return 0 on success (in which
                case ret is filled in), or a
                negative errno-style error code.
The sd_id128_get_machine()
                and sd_id128_get_boot()
                interfaces are available as shared library, which can
                be compiled and linked to with the
                libsystemd-id128
                pkg-config(1)
                file.