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

  
 
  

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 ker-
     nel processes to pass data that is considered (at least partially) stochas-
     tic 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 en-
     tropy 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 programmer.
     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 interrupt source be used for entropy
     harvesting.  This should be done wherever practicable.

SEE ALSO
     random(4), BUS_SETUP_INTR(9)

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

FreeBSD 15.1			 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