Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UUID_GENERATE(3)	   Library Functions Manual	      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 generated 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-quality  random  number  generator	(i.e.,
       /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.

       The uuid_generate_time function forces the use of the alternative algo-
       rithm  which  uses  the current time and	the local ethernet MAC address
       (if available).	This algorithm used to be the default one used to gen-
       erate 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 func-
       tion 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 elementary  par-
       ticles in the universe according	to Carl	Sagan's	Cosmos).  The new UUID
       can  reasonably be considered unique among all UUIDs created on the lo-
       cal 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/ <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_time(3), uuid_unparse(3)

E2fsprogs version 1.47.2	 January 2025		      UUID_GENERATE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=uuid_generate_time&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help