You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
4.0 KiB
105 lines
4.0 KiB
.\" 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 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
|
|
.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 substituted. 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 elementary 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
|
|
.UR http://e2fsprogs.sourceforge.net/
|
|
http://e2fsprogs.sourceforge.net/
|
|
.UE
|
|
.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)
|