|  | /* | 
|  | *	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__ */ |