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.