1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>sd_id128_get_machine</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><a href="index.html">Index </a>·
2
<a href="systemd.directives.html">Directives </a>·
3
<a href="../python-systemd/index.html">Python </a>·
4
<a href="../libudev/index.html">libudev </a>·
5
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 202</span><hr><div class="refentry"><a name="sd_id128_get_machine"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_id128_get_machine, sd_id128_get_boot — Retrieve 128 bit IDs</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include <systemd/sd-id128.h></pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_id128_get_machine</b>(</code></td><td>sd_id128_t* <var class="pdparam">ret</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_id128_get_boot</b>(</code></td><td>sd_id128_t* <var class="pdparam">ret</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp126736"></a><h2>Description</h2><p><code class="function">sd_id128_get_machine()</code>
6
returns the machine ID of the executing host. This
8
<a href="machine-id.html"><span class="citerefentry"><span class="refentrytitle">machine-id</span>(5)</span></a>
9
file. This function caches the machine ID internally
10
to make retrieving the machine ID a cheap
11
operation.</p><p><code class="function">sd_id128_get_boot()</code> returns
12
the boot ID of the executing kernel. This reads and
14
<code class="filename">/proc/sys/kernel/random/boot_id</code>
15
file exposed by the kernel. It is randomly generated
16
early at boot and is unique for every running kernel
18
<a href="random.html"><span class="citerefentry"><span class="refentrytitle">random</span>(4)</span></a>
19
for more information. This function also internally
20
caches the returned ID to make this call a cheap
21
operation.</p><p>Note that
22
<code class="function">sd_id128_get_boot()</code> always returns
24
ID. <code class="function">sd_id128_get_machine()</code> will
25
also return a UUID v4 compatible ID on new
26
installations, but might not on older. It is possible
27
to convert the machine ID into an UUID v4 compatible
28
one. For more information see
29
<a href="machine-id.html"><span class="citerefentry"><span class="refentrytitle">machine-id</span>(5)</span></a>.</p><p>For more information about the
30
<code class="literal">sd_id128_t</code> type see
31
<a href="sd-id128.html"><span class="citerefentry"><span class="refentrytitle">sd-id128</span>(3)</span></a>.</p></div><div class="refsect1"><a name="idp3973840"></a><h2>Return Value</h2><p>The two calls return 0 on success (in which
32
case <em class="parameter"><code>ret</code></em> is filled in), or a
33
negative errno-style error code.</p></div><div class="refsect1"><a name="idp3975680"></a><h2>Notes</h2><p>The <code class="function">sd_id128_get_machine()</code>
34
and <code class="function">sd_id128_get_boot()</code>
35
interfaces are available as shared library, which can
36
be compiled and linked to with the
37
<code class="literal">libsystemd-id128</code>
38
<a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
39
file.</p></div><div class="refsect1"><a name="idp3979984"></a><h2>See Also</h2><p>
40
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
41
<a href="sd-id128.html"><span class="citerefentry"><span class="refentrytitle">sd-id128</span>(3)</span></a>,
42
<a href="machine-id.html"><span class="citerefentry"><span class="refentrytitle">machine-id</span>(5)</span></a>,
43
<a href="random.html"><span class="citerefentry"><span class="refentrytitle">random</span>(4)</span></a>,
44
<a href="sd_id128_randomize.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_randomize</span>(3)</span></a>
45
</p></div></div></body></html>