12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /*
- * 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[ARP_HLEN];
- unsigned int seed;
- /* get our mac */
- memcpy(enetaddr, eth_get_ethaddr(), ARP_HLEN);
- 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__ */
|