'\" t .TH "SD_ID128_GET_MACHINE" "3" "" "systemd 232" "sd_id128_get_machine" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" sd_id128_get_machine, sd_id128_get_boot, sd_id128_get_invocation \- Retrieve 128\-bit IDs .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft .HP \w'int\ sd_id128_get_machine('u .BI "int sd_id128_get_machine(sd_id128_t\ *" "ret" ");" .HP \w'int\ sd_id128_get_boot('u .BI "int sd_id128_get_boot(sd_id128_t\ *" "ret" ");" .HP \w'int\ sd_id128_get_invocation('u .BI "int sd_id128_get_invocation(sd_id128_t\ *" "ret" ");" .SH "DESCRIPTION" .PP \fBsd_id128_get_machine()\fR returns the machine ID of the executing host\&. This reads and parses the \fBmachine-id\fR(5) file\&. This function caches the machine ID internally to make retrieving the machine ID a cheap operation\&. .PP \fBsd_id128_get_boot()\fR 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 \fBrandom\fR(4) for more information\&. This function also internally caches the returned ID to make this call a cheap operation\&. .PP \fBsd_id128_get_invocation()\fR returns the invocation ID of the currently executed service\&. In its current implementation, this reads and parses the \fI$INVOCATION_ID\fR environment variable that the service manager sets when activating a service, see \fBsystemd.exec\fR(5) for details\&. The ID is cached internally\&. In future a different mechanism to determine the invocation ID may be added\&. .PP Note that \fBsd_id128_get_boot()\fR and \fBsd_id128_get_invocation()\fR always return UUID v4 compatible IDs\&. \fBsd_id128_get_machine()\fR 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 \fBmachine-id\fR(5)\&. .PP For more information about the "sd_id128_t" type see \fBsd-id128\fR(3)\&. .SH "RETURN VALUE" .PP The two calls return 0 on success (in which case \fIret\fR is filled in), or a negative errno\-style error code\&. .SH "NOTES" .PP The \fBsd_id128_get_machine()\fR, \fBsd_id128_get_boot()\fR and \fBsd_id128_get_invocation()\fR interfaces are available as a shared library, which can be compiled and linked to with the "libsystemd"\ \&\fBpkg-config\fR(1) file\&. .SH "SEE ALSO" .PP \fBsystemd\fR(1), \fBsd-id128\fR(3), \fBmachine-id\fR(5), \fBsystemd.exec\fR(5), \fBsd_id128_randomize\fR(3), \fBrandom\fR(4)