sd_id128_randomize
systemd
Developer
Lennart
Poettering
lennart@poettering.net
sd_id128_randomize
3
sd_id128_randomize
sd_id128_get_machine
sd_id128_get_boot
Generate or retrieve 128 bit IDs
#include <systemd/sd-id128.h>
int sd_id128_randomize
sd_id128_t* ret
int sd_id128_get_machine
sd_id128_t* ret
int sd_id128_get_boot
sd_id128_t* ret
Description
sd_id128_randomize()
generates a new randomized 128 bit ID and returns it
in ret. Every invocation
returns a new randomly generated ID. This uses the
/dev/urandom kernel random number
generator.
sd_id128_get_machine()
returns the machine ID of the executing host. This
reads and parses the
machine-id5
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
random4
for more information. This function also internally
caches the returned ID to make this call a cheap
operation.
Note that
sd_id128_randomize() and
sd_id128_get_boot() always return
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-id5.
For more information about the
sd_id128_t type see
sd-id1287.
journalctl1's
--new-id command may be used as
command line front-end for
sd_id128_randomize().
Return Value
The three calls return 0 on success (in which
case ret is filled in), or a
negative errno-style error code.
Notes
The sd_id128_randomize(),
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-config1
file.
See Also
systemd1,
sd-id1287,
machine-id5,
random4