1 <?xml version='
1.0'
?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC
"-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
6 SPDX-License-Identifier: LGPL-2.1+
8 This file is part of systemd.
10 Copyright 2012 Lennart Poettering
13 <refentry id=
"sd_id128_randomize">
16 <title>sd_id128_randomize
</title>
17 <productname>systemd
</productname>
21 <contrib>Developer
</contrib>
22 <firstname>Lennart
</firstname>
23 <surname>Poettering
</surname>
24 <email>lennart@poettering.net
</email>
30 <refentrytitle>sd_id128_randomize
</refentrytitle>
31 <manvolnum>3</manvolnum>
35 <refname>sd_id128_randomize
</refname>
36 <refpurpose>Generate
128-bit IDs
</refpurpose>
41 <funcsynopsisinfo>#include
<systemd/sd-id128.h
></funcsynopsisinfo>
44 <funcdef>int
<function>sd_id128_randomize
</function></funcdef>
45 <paramdef>sd_id128_t *
<parameter>ret
</parameter></paramdef>
52 <title>Description
</title>
54 <para><function>sd_id128_randomize()
</function> generates a new
55 randomized
128-bit ID and returns it in
56 <parameter>ret
</parameter>. Every invocation returns a new
57 randomly generated ID. This uses the
58 <filename>/dev/urandom
</filename> kernel random number
61 <para>Note that
<function>sd_id128_randomize()
</function> always
62 returns a UUID v4-compatible ID.
</para>
64 <para>For more information about the
<literal>sd_id128_t
</literal>
66 <citerefentry><refentrytitle>sd-id128
</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
</para>
68 <para><citerefentry><refentrytitle>journalctl
</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
69 <option>--new-id128
</option> option may be used as a command line
70 front-end for
<function>sd_id128_randomize()
</function>.
</para>
74 <title>Return Value
</title>
76 <para>The call returns
0 on success (in which case
77 <parameter>ret
</parameter> is filled in), or a negative
78 errno-style error code.
</para>
84 <para>The
<function>sd_id128_randomize()
</function> interface is
85 available as a shared library, which can be compiled and linked to
87 <literal>libsystemd
</literal> <citerefentry project='die-net'
><refentrytitle>pkg-config
</refentrytitle><manvolnum>1</manvolnum></citerefentry>
92 <title>See Also
</title>
95 <citerefentry><refentrytitle>systemd
</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
96 <citerefentry><refentrytitle>sd-id128
</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
97 <citerefentry><refentrytitle>machine-id
</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
98 <citerefentry><refentrytitle>random
</refentrytitle><manvolnum>4</manvolnum></citerefentry>,
99 <citerefentry><refentrytitle>sd_id128_get_machine
</refentrytitle><manvolnum>3</manvolnum></citerefentry>