From 8e67fbf68ffeb9eb5f026dd482d73b021660bf9b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 12:54:18 +0200 Subject: Adding debian version 2.06-3~deb11u6. Signed-off-by: Daniel Baumann --- debian/grub-extras/disabled/gpxe/src/core/random.c | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 debian/grub-extras/disabled/gpxe/src/core/random.c (limited to 'debian/grub-extras/disabled/gpxe/src/core/random.c') diff --git a/debian/grub-extras/disabled/gpxe/src/core/random.c b/debian/grub-extras/disabled/gpxe/src/core/random.c new file mode 100644 index 0000000..6e7374e --- /dev/null +++ b/debian/grub-extras/disabled/gpxe/src/core/random.c @@ -0,0 +1,41 @@ +/** @file + * + * Random number generation + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include +#include + +static int32_t rnd_seed = 0; + +/** + * Seed the pseudo-random number generator + * + * @v seed Seed value + */ +void srandom ( unsigned int seed ) { + rnd_seed = seed; +} + +/** + * Generate a pseudo-random number between 0 and 2147483647L or 2147483562? + * + * @ret rand Pseudo-random number + */ +long int random ( void ) { + int32_t q; + + if ( ! rnd_seed ) /* Initialize linear congruential generator */ + srandom ( currticks() ); + + /* simplified version of the LCG given in Bruce Schneier's + "Applied Cryptography" */ + q = ( rnd_seed / 53668 ); + rnd_seed = ( 40014 * ( rnd_seed - 53668 * q ) - 12211 * q ); + if ( rnd_seed < 0 ) + rnd_seed += 2147483563L; + return rnd_seed; +} -- cgit v1.2.3