sd_id128_randomize.xml revision 5aded369782f28255bc6b494ca905d7acaea7a56
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams This file is part of systemd.
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams Copyright 2012 Lennart Poettering
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac systemd is free software; you can redistribute it and/or modify it
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac under the terms of the GNU Lesser General Public License as published by
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams the Free Software Foundation; either version 2.1 of the License, or
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams (at your option) any later version.
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac systemd is distributed in the hope that it will be useful, but
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams WITHOUT ANY WARRANTY; without even the implied warranty of
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac Lesser General Public License for more details.
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac You should have received a copy of the GNU Lesser General Public License
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams along with systemd; If not, see <http://www.gnu.org/licenses/>.
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <refentryinfo>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <authorgroup>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams </authorgroup>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams </refentryinfo>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <refentrytitle>sd_id128_randomize</refentrytitle>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams </refnamediv>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <refsynopsisdiv>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <funcsynopsis>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <funcsynopsisinfo>#include <systemd/sd-id128.h></funcsynopsisinfo>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <funcprototype>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <funcdef>int <function>sd_id128_randomize</function></funcdef>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <paramdef>sd_id128_t *<parameter>ret</parameter></paramdef>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams </funcprototype>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams </funcsynopsis>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams </refsynopsisdiv>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <para><function>sd_id128_randomize()</function>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams generates a new randomized 128-bit ID and returns it
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams in <parameter>ret</parameter>. Every invocation
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams returns a new randomly generated ID. This uses the
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <filename>/dev/urandom</filename> kernel random number
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams generator.</para>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <para>Note that
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <function>sd_id128_randomize()</function> always returns
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams a UUID v4-compatible ID.</para>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <para>For more information about the
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <para><citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <option>--new-id</option> option may be used as a
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams command-line front-end for
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <function>sd_id128_randomize()</function>.</para>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <para>The call returns 0 on success (in which
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams case <parameter>ret</parameter> is filled in), or a
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams negative errno-style error code.</para>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <para>The <function>sd_id128_randomize()</function> interface
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams is available as a shared library, which can be compiled
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams and linked to with the
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <literal>libsystemd</literal> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <citerefentry><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry>,
2c379b9a5f7b4dc665dfdc4673c7b051e7005da1gary.williams <citerefentry><refentrytitle>sd_id128_get_machine</refentrytitle><manvolnum>3</manvolnum></citerefentry>