2012-07-06 17:50:00 +02:00
<?xml version='1.0'?> <!-- * - nxml - * -->
2019-03-14 14:40:58 +01:00
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
2015-06-18 19:47:44 +02:00
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
2020-11-09 13:23:58 +09:00
<!-- SPDX - License - Identifier: LGPL - 2.1 - or - later -->
2012-07-06 17:50:00 +02:00
2018-06-06 11:59:04 +02:00
<refentry id= "sd_id128_randomize" xmlns:xi= "http://www.w3.org/2001/XInclude" >
2012-07-06 17:50:00 +02:00
2015-02-03 21:14:13 -05: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 10:53:23 +02: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-03 21:14:13 -05:00
2021-06-15 17:55:17 +02: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-03 21:14:13 -05: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 16:43:54 +02: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-03 21:14:13 -05: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 11:59:04 +02:00
<xi:include href= "libsystemd-pkgconfig.xml" />
2015-02-03 21:14:13 -05:00
<refsect1 >
<title > See Also</title>
<para >
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
<citerefentry > <refentrytitle > sd-id128</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry> ,
<citerefentry > <refentrytitle > machine-id</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> ,
2021-08-20 10:53:23 +02:00
<citerefentry project= 'man-pages' > <refentrytitle > getrandom</refentrytitle> <manvolnum > 2</manvolnum> </citerefentry> ,
<citerefentry project= 'man-pages' > <refentrytitle > random</refentrytitle> <manvolnum > 4</manvolnum> </citerefentry> ,
2015-02-03 21:14:13 -05:00
<citerefentry > <refentrytitle > sd_id128_get_machine</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry>
</para>
</refsect1>
2012-07-06 17:50:00 +02:00
</refentry>