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

FreeBSD Manual Pages

  
 
  

home | help
RANDOM_HARVEST(9)	   Kernel Developer's Manual	     RANDOM_HARVEST(9)

NAME
       random_harvest -- gather	entropy	from the kernel	for the	entropy	device

SYNOPSIS
       #include	<sys/types.h>
       #include	<sys/random.h>

       void
       random_harvest_direct(void *entropy, u_int size,	enum esource source);

       void
       random_harvest_fast(void	*entropy, u_int	size, enum esource source);

       void
       random_harvest_queue(void *entropy, u_int size, enum esource source);

DESCRIPTION
       The  random_harvest_*()	functions are used by device drivers and other
       kernel processes	to pass	data that is considered	(at  least  partially)
       stochastic to the entropy device.

       The  caller  should  pass  a  pointer  pointing to the "random" data in
       entropy.	 The argument size contains the	number of  bytes  pointed  to.
       The   source   is   chosen   from  one  of  the	values	enumerated  in
       sys/dev/random.h.  and is used to indicate the source of	the entropy.

       The random_harvest_direct() variant is used for early harvesting	before
       any multitasking	is enabled.

       The random_harvest_fast() variant is used by sources  that  should  not
       take  a performance hit from harvesting,	as they	are high-rate sources.
       Some entropy is sacrificed, but the high	rate of	supply will compensate
       for this.

       The random_harvest_queue() variant is used for general  harvesting  and
       is  the	default	 choice	for most entropy sources such as interrupts or
       console events.

       Interrupt harvesting has	been in	part simplified	for  the  kernel  pro-
       grammer.	  If  a	 device	 driver	 registers  an	interrupt handler with
       BUS_SETUP_INTR(9) or bus_setup_intr(9), then it is  only	 necessary  to
       include	the INTR_ENTROPY bit in	the flags argument to have that	inter-
       rupt source be used for entropy harvesting.  This should	be done	 wher-
       ever practicable.

SEE ALSO
       random(4), BUS_SETUP_INTR(9)

AUTHORS
       The  FreeBSD  random(4) entropy device and supporting documentation was
       written by Mark R V Murray.

FreeBSD				August 26, 2018		     RANDOM_HARVEST(9)

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

home | help