ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



UUID_GENERATE(3)                                                                            UUID_GENERATE(3)



NAME
       uuid_generate, uuid_generate_random, uuid_generate_time - create a new unique UUID value

SYNOPSIS
       #include <uuid/uuid.h>

       void uuid_generate(uuid_t out);
       void uuid_generate_random(uuid_t out);
       void uuid_generate_time(uuid_t out);

DESCRIPTION
       The uuid_generate function creates a new universally unique identifier (UUID).  The uuid will be gen-erated generated
       erated based on high-quality randomness from /dev/urandom, if available.  If  it  is  not  available,
       then  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.

       The uuid_generate_random function forces the use of the all-random UUID format, even if a  high-qual-ity high-quality
       ity random number generator (i.e., /dev/urandom) is not available, in which case a pseudo-random gen-erator generator
       erator will be subsituted.  Note that the use of a pseudo-random generator may compromise the unique-ness uniqueness
       ness of UUID's generated in this fashion.

       The  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 uuid_generate function only uses this algorithm if a high-quality source of randomness is not
       available.

       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 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.

RETURN VALUE
       The newly created UUID is returned in the memory location pointed to by out.

CONFORMING TO
       OSF DCE 1.1

AUTHOR
       Theodore Y. Ts'o

AVAILABILITY
       http://e2fsprogs.sourceforge.net/

SEE ALSO
       uuid(3),  uuidgen(1),  uuid_clear(3),  uuid_compare(3), uuid_copy(3), uuid_is_null(3), uuid_parse(3),
       uuid_unparse(3)



1.36                                             April 2004                                 UUID_GENERATE(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.