.\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca)
.\"
.\" %Begin-Header%
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, and the entire permission notice in its entirety,
.\"    including the disclaimer of warranties.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. The name of the author may not be used to endorse or promote
.\"    products derived from this software without specific prior
.\"    written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
.\" WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
.\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\" %End-Header%
.\"
.\" Created  Wed Mar 10 17:42:12 1999, Andreas Dilger
.TH UUID_GENERATE 3 "May 2009" "util-linux-ng" "Libuuid API"
.SH NAME
uuid_generate, uuid_generate_random, uuid_generate_time \- create a new unique UUID value
.SH SYNOPSIS
.nf
.B #include <uuid/uuid.h>
.sp
.BI "void uuid_generate(uuid_t " out );
.BI "void uuid_generate_random(uuid_t " out );
.BI "void uuid_generate_time(uuid_t " out );
.fi
.SH DESCRIPTION
The
.B uuid_generate
function creates a new universally unique identifier (UUID).  The uuid will
be generated based on high-quality randomness from
.IR /dev/urandom ,
if available.  If it is not available, then
.B uuid_generate
will use an alternative algorithm which uses the current time, the
local ethernet MAC address (if available), and random data generated
using a pseudo-random generator.
.sp
The
.B uuid_generate_random
function forces the use of the all-random UUID format, even if
a high-quality random number generator (i.e.,
.IR /dev/urandom )
is not available, in which case a pseudo-random
generator will be subsituted.  Note that the use of a pseudo-random
generator may compromise the uniqueness of UUID's
generated in this fashion.
.sp
The
.B uuid_generate_time
function forces the use of the alternative algorithm which uses the
current time and the local ethernet MAC address (if available).
This algorithm used to be the default one used to generate UUID, but
because of the use of the ethernet MAC address, it can leak
information about when and where the UUID was generated.  This can cause
privacy problems in some applications, so the
.B uuid_generate
function only uses this algorithm if a high-quality source of
randomness is not available.
.sp
The UUID is 16 bytes (128 bits) long, which gives approximately 3.4x10^38
unique values (there are approximately 10^80 elemntary particles in
the universe according to Carl Sagan's
.IR Cosmos ).
The new UUID can reasonably be considered unique among all UUIDs created
on the local system, and among UUIDs created on other systems in the past
and in the future.
.SH RETURN VALUE
The newly created UUID is returned in the memory location pointed to by
.IR out .
.SH "CONFORMING TO"
OSF DCE 1.1
.SH AUTHOR
Theodore Y. Ts'o
.SH AVAILABILITY
.B libuuid
is part of the util-linux-ng package since version 2.15.1 and is available from
ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
.SH "SEE ALSO"
.BR uuid (3),
.BR uuidgen (1),
.BR uuid_clear (3),
.BR uuid_compare (3),
.BR uuid_copy (3),
.BR uuid_is_null (3),
.BR uuid_parse (3),
.BR uuid_time (3),
.BR uuid_unparse (3)
