1 <html><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8"><title>sd_id128_to_string
</title><meta name=
"generator" content=
"DocBook XSL Stylesheets V1.78.1"></head><body bgcolor=
"white" text=
"black" link=
"#0000FF" vlink=
"#840084" alink=
"#0000FF"><style>
11 background-color: #c60f0f;
15 h1:hover
> a.headerlink, h2:hover
> a.headerlink, h3:hover
> a.headerlink, dt:hover
> a.headerlink {
18 </style><a href=
"index.html">Index
</a>·
19 <a href=
"systemd.directives.html">Directives
</a>·
20 <a href=
"../python-systemd/index.html">Python
</a>·
21 <a href=
"../libudev/index.html">libudev
</a>·
22 <a href=
"../libudev/index.html">gudev
</a><span style=
"float:right">systemd
218</span><hr><div class=
"refentry"><a name=
"sd_id128_to_string"></a><div class=
"titlepage"></div><div class=
"refnamediv"><h2>Name
</h2><p>sd_id128_to_string, sd_id128_from_string — Format or parse
128-bit IDs as strings
</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">char *
<b class=
"fsfunc">sd_id128_to_string
</b>(
</code></td><td>sd_id128_t
<var class=
"pdparam">id
</var>, char
<var class=
"pdparam">s
</var>[
33]
<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_from_string
</b>(
</code></td><td>const char *
<var class=
"pdparam">s
</var>, 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=
"idm140402040370864"></a><h2 id=
"Description">Description
<a class=
"headerlink" title=
"Permalink to this headline" href=
"#Description">¶
</a></h2><p><code class=
"function">sd_id128_to_string()
</code>
23 formats a
128-bit ID as a character string. It expects
24 the ID and a string array capable of storing
33
25 characters. The ID will be formatted as
32 lowercase
26 hexadecimal digits and be terminated by a
27 <code class=
"constant">NUL
</code> byte.
</p><p><code class=
"function">sd_id128_from_string()
</code>
28 implements the reverse operation: it takes a
33
29 character string with
32 hexadecimal digits (either
30 lowercase or uppercase, terminated by
31 <code class=
"constant">NUL
</code>) and parses them back into a
32 128-bit ID returned in
33 <em class=
"parameter"><code>ret
</code></em>. Alternatively, this call
34 can also parse a
37-character string with a
128-bit ID
35 formatted as RFC UUID.
</p><p>For more information about the
36 "<code class="literal
">sd_id128_t</code>" type see
37 <a href=
"sd-id128.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd-id128
</span>(
3)
</span></a>. Note
38 that these calls operate the same way on all
39 architectures, i.e. the results do not depend on
40 endianness.
</p><p>When formatting a
128-bit ID into a string, it is
41 often easier to use a format string for
42 <a href=
"http://man7.org/linux/man-pages/man3/printf.3.html"><span class=
"citerefentry"><span class=
"refentrytitle">printf
</span>(
3)
</span></a>. This
43 is easily done using the
44 <code class=
"function">SD_ID128_FORMAT_STR
</code> and
45 <code class=
"function">SD_ID128_FORMAT_VAL()
</code> macros. For
47 <a href=
"sd-id128.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd-id128
</span>(
3)
</span></a>.
</p></div><div class=
"refsect1"><a name=
"idm140402044257984"></a><h2 id=
"Return Value">Return Value
<a class=
"headerlink" title=
"Permalink to this headline" href=
"#Return%20Value">¶
</a></h2><p><code class=
"function">sd_id128_to_string()
</code> always
48 succeeds and returns a pointer to the string array
49 passed in.
<code class=
"function">sd_id128_from_string
</code>
50 returns
0 on success, in which case
51 <em class=
"parameter"><code>ret
</code></em> is filled in, or a negative
52 errno-style error code.
</p></div><div class=
"refsect1"><a name=
"idm140402044254784"></a><h2 id=
"Notes">Notes
<a class=
"headerlink" title=
"Permalink to this headline" href=
"#Notes">¶
</a></h2><p>The
<code class=
"function">sd_id128_to_string()
</code>
53 and
<code class=
"function">sd_id128_from_string()
</code> interfaces are
54 available as a shared library, which can be compiled and
55 linked to with the
"<code class="literal
">libsystemd</code>" <a href=
"http://linux.die.net/man/1/pkg-config"><span class=
"citerefentry"><span class=
"refentrytitle">pkg-config
</span>(
1)
</span></a>
56 file.
</p></div><div class=
"refsect1"><a name=
"idm140402044250192"></a><h2 id=
"See Also">See Also
<a class=
"headerlink" title=
"Permalink to this headline" href=
"#See%20Also">¶
</a></h2><p>
57 <a href=
"systemd.html"><span class=
"citerefentry"><span class=
"refentrytitle">systemd
</span>(
1)
</span></a>,
58 <a href=
"sd-id128.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd-id128
</span>(
3)
</span></a>,
59 <a href=
"http://man7.org/linux/man-pages/man3/printf.3.html"><span class=
"citerefentry"><span class=
"refentrytitle">printf
</span>(
3)
</span></a>
60 </p></div></div></body></html>