2012-07-06 19:50:00 +04:00
<?xml version='1.0'?> <!-- * - nxml - * -->
2019-03-14 16:40:58 +03:00
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
2023-12-25 17:48:33 +03:00
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
2020-11-09 07:23:58 +03:00
<!-- SPDX - License - Identifier: LGPL - 2.1 - or - later -->
2012-07-06 19:50:00 +04:00
2018-06-06 12:59:04 +03:00
<refentry id= "sd_id128_randomize" xmlns:xi= "http://www.w3.org/2001/XInclude" >
2012-07-06 19:50:00 +04:00
2015-02-04 05:14:13 +03:00
<refentryinfo >
<title > sd_id128_randomize</title>
<productname > systemd</productname>
</refentryinfo>
<refmeta >
<refentrytitle > sd_id128_randomize</refentrytitle>
<manvolnum > 3</manvolnum>
</refmeta>
<refnamediv >
<refname > sd_id128_randomize</refname>
<refpurpose > Generate 128-bit IDs</refpurpose>
</refnamediv>
<refsynopsisdiv >
<funcsynopsis >
<funcsynopsisinfo > #include < systemd/sd-id128.h> </funcsynopsisinfo>
<funcprototype >
<funcdef > int <function > sd_id128_randomize</function> </funcdef>
<paramdef > sd_id128_t *<parameter > ret</parameter> </paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 >
<title > Description</title>
2021-08-20 11:53:23 +03:00
<para > <function > sd_id128_randomize()</function> generates a new randomized 128-bit ID and returns it in
<parameter > ret</parameter> . Every invocation returns a new randomly generated ID. This uses the
<citerefentry
project='man-pages'><refentrytitle > getrandom</refentrytitle> <manvolnum > 2</manvolnum> </citerefentry>
kernel random number generator.</para>
2015-02-04 05:14:13 +03:00
2021-06-15 18:55:17 +03:00
<para > Note that <function > sd_id128_randomize()</function> always returns a UUID Variant 1 Version 4
compatible ID. It is hence guaranteed that this function will never return the ID consisting of all zero
or all one bits (<constant > SD_ID128_NULL</constant> , <constant > SD_ID128_ALLF</constant> ).</para>
2015-02-04 05:14:13 +03:00
<para > For more information about the <literal > sd_id128_t</literal>
type, see
<citerefentry > <refentrytitle > sd-id128</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry> .</para>
2018-10-02 17:43:54 +03:00
<para > <citerefentry > <refentrytitle > systemd-id128</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> 's
<command > new</command> command may be used as a command line front-end for
<function > sd_id128_randomize()</function> .</para>
2015-02-04 05:14:13 +03:00
</refsect1>
<refsect1 >
<title > Return Value</title>
<para > The call returns 0 on success (in which case
<parameter > ret</parameter> is filled in), or a negative
errno-style error code.</para>
</refsect1>
2018-06-06 12:59:04 +03:00
<xi:include href= "libsystemd-pkgconfig.xml" />
2015-02-04 05:14:13 +03:00
2023-09-04 15:46:35 +03:00
<refsect1 >
<title > History</title>
<para > <function > sd_id128_randomize()</function> was added in version 187.</para>
</refsect1>
2015-02-04 05:14:13 +03:00
<refsect1 >
<title > See Also</title>
2023-12-22 21:09:32 +03:00
<para > <simplelist type= "inline" >
<member > <citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> </member>
<member > <citerefentry > <refentrytitle > sd-id128</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry> </member>
<member > <citerefentry > <refentrytitle > machine-id</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> </member>
<member > <citerefentry project= 'man-pages' > <refentrytitle > getrandom</refentrytitle> <manvolnum > 2</manvolnum> </citerefentry> </member>
<member > <citerefentry project= 'man-pages' > <refentrytitle > random</refentrytitle> <manvolnum > 4</manvolnum> </citerefentry> </member>
<member > <citerefentry > <refentrytitle > sd_id128_get_machine</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry> </member>
</simplelist> </para>
2015-02-04 05:14:13 +03:00
</refsect1>
2012-07-06 19:50:00 +04:00
</refentry>