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

FreeBSD Manual Pages

  
 
  

home | help
RAND(3)			 BSD Library Functions Manual		       RAND(3)

NAME
     rand, srand, sranddev, rand_r -- bad random number	generator

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <stdlib.h>

     void
     srand(unsigned seed);

     void
     sranddev(void);

     int
     rand(void);

     int
     rand_r(unsigned *ctx);

DESCRIPTION
     These interfaces are obsoleted by random(3).

     The rand()	function computes a sequence of	pseudo-random integers in the
     range of 0	to RAND_MAX (as	defined	by the header file <stdlib.h>).

     The srand() function sets its argument seed as the	seed for a new se-
     quence of pseudo-random numbers to	be returned by rand().	These se-
     quences are repeatable by calling srand() with the	same seed value.

     If	no seed	value is provided, the functions are automatically seeded with
     a value of	1.

     The sranddev() function initializes a seed	using the random(4) random
     number device which returns good random numbers.  However,	the rand()
     function still remains unsuitable for cryptographic use.

     The rand_r() function provides the	same functionality as rand().  A
     pointer to	the context value ctx must be supplied by the caller.

     For better	generator quality, use random(3) or lrand48(3).	 Applications
     requiring cryptographic quality randomness	should use arc4random(3).

SEE ALSO
     arc4random(3), lrand48(3),	random(3), random(4)

STANDARDS
     The rand()	and srand() functions conform to ISO/IEC 9899:1990
     ("ISO C90").

     The rand_r() function is as proposed in the POSIX.4a Draft	#6 document.

BSD				October	6, 2010				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | SEE ALSO | STANDARDS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rand&sektion=3&manpath=FreeBSD+8.2-RELEASE>

home | help