2010-06-11 12:10:36 +00:00
|
|
|
#include <common.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
static unsigned int random_seed;
|
|
|
|
|
|
|
|
#if RAND_MAX > 32767
|
|
|
|
#error this rand implementation is for RAND_MAX < 32678 only.
|
|
|
|
#endif
|
|
|
|
|
|
|
|
unsigned int rand(void)
|
|
|
|
{
|
|
|
|
random_seed = random_seed * 1103515245 + 12345;
|
|
|
|
return (random_seed / 65536) % (RAND_MAX + 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
void srand(unsigned int seed)
|
|
|
|
{
|
|
|
|
random_seed = seed;
|
|
|
|
}
|
|
|
|
|
2012-11-08 18:02:06 +00:00
|
|
|
void get_random_bytes(void *_buf, int len)
|
2010-06-11 12:10:36 +00:00
|
|
|
{
|
2012-11-08 18:02:06 +00:00
|
|
|
char *buf = _buf;
|
|
|
|
|
2010-06-11 12:10:36 +00:00
|
|
|
while (len--)
|
|
|
|
*buf++ = rand() % 256;
|
|
|
|
}
|