105 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
| .\" 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)
 |