### DESCRIPTION

The ` random_harvest` function is 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 (to no more than 16 bytes) of the "random" data in * entropy*. The argument * size* contains the number of bytes pointed to. The caller should * "very conservatively"* estimate the number of random bits in the sample, and pass this in * bits* or * frac*. If the estimated number of bits per sample is an integer, then * bits* is used, and * frac* is 0. Otherwise, for low-entropy samples, "fractional" entropy can be supplied in * frac*. (This is considered to be * frac /* 1024 bits of entropy.) The * source* is chosen from ` RANDOM_WRITE, RANDOM_KEYBOARD, RANDOM_MOUSE, RANDOM_NET` and ` RANDOM_INTERRUPT`, and is used to indicate the source of the entropy.