/* Syntax: cat /dev/urandom | randmux > new_rand */

#include <stdlib.h>
#include <unistd.h>

#define BSZ 10000

main()
{
	for (;;) {
		unsigned long int i;
		unsigned int seed;
		unsigned long int buf[BSZ];

		if (read(0, &seed, sizeof(unsigned int)) == 0)
			break;

		srand (seed);

		for (i = 0; i < BSZ; i++)
			buf[i] = rand();

		if (write(1, buf, BSZ * sizeof(unsigned long int)) == 0)
			break;
	}

	return 0;
}
