| /* | 
 |  *	Copied from LiMon - BOOTP. | 
 |  * | 
 |  *	Copyright 1994, 1995, 2000 Neil Russell. | 
 |  *	(See License) | 
 |  *	Copyright 2000 Paolo Scaffardi | 
 |  */ | 
 |  | 
 | #ifndef __NET_RAND_H__ | 
 | #define __NET_RAND_H__ | 
 |  | 
 | #include <common.h> | 
 |  | 
 | /* | 
 |  * Return a seed for the PRNG derived from the eth0 MAC address. | 
 |  */ | 
 | static inline unsigned int seed_mac(void) | 
 | { | 
 | 	unsigned char enetaddr[6]; | 
 | 	unsigned int seed; | 
 |  | 
 | 	/* get our mac */ | 
 | 	eth_getenv_enetaddr("ethaddr", enetaddr); | 
 |  | 
 | 	seed = enetaddr[5]; | 
 | 	seed ^= enetaddr[4] << 8; | 
 | 	seed ^= enetaddr[3] << 16; | 
 | 	seed ^= enetaddr[2] << 24; | 
 | 	seed ^= enetaddr[1]; | 
 | 	seed ^= enetaddr[0] << 8; | 
 |  | 
 | 	return seed; | 
 | } | 
 |  | 
 | /* | 
 |  * Seed the random number generator using the eth0 MAC address. | 
 |  */ | 
 | static inline void srand_mac(void) | 
 | { | 
 | 	srand(seed_mac()); | 
 | } | 
 |  | 
 | #endif /* __NET_RAND_H__ */ |