Blame view
net/net_rand.h
774 Bytes
eafc8db0e net: Move MAC-see... |
1 2 3 4 5 6 7 8 9 10 |
/* * Copied from LiMon - BOOTP. * * Copyright 1994, 1995, 2000 Neil Russell. * (See License) * Copyright 2000 Paolo Scaffardi */ #ifndef __NET_RAND_H__ #define __NET_RAND_H__ |
99e139d59 net: use common r... |
11 |
#include <common.h> |
eafc8db0e net: Move MAC-see... |
12 13 |
/* |
99e139d59 net: use common r... |
14 |
* Return a seed for the PRNG derived from the eth0 MAC address. |
eafc8db0e net: Move MAC-see... |
15 |
*/ |
99e139d59 net: use common r... |
16 17 |
static inline unsigned int seed_mac(void) { |
b044cc1de net: Get mac addr... |
18 |
unsigned char enetaddr[ARP_HLEN]; |
99e139d59 net: use common r... |
19 20 21 |
unsigned int seed; /* get our mac */ |
b044cc1de net: Get mac addr... |
22 |
memcpy(enetaddr, eth_get_ethaddr(), ARP_HLEN); |
99e139d59 net: use common r... |
23 24 25 26 27 28 29 30 31 32 |
seed = enetaddr[5]; seed ^= enetaddr[4] << 8; seed ^= enetaddr[3] << 16; seed ^= enetaddr[2] << 24; seed ^= enetaddr[1]; seed ^= enetaddr[0] << 8; return seed; } |
eafc8db0e net: Move MAC-see... |
33 34 |
/* |
99e139d59 net: use common r... |
35 |
* Seed the random number generator using the eth0 MAC address. |
eafc8db0e net: Move MAC-see... |
36 |
*/ |
99e139d59 net: use common r... |
37 38 39 40 |
static inline void srand_mac(void) { srand(seed_mac()); } |
eafc8db0e net: Move MAC-see... |
41 42 |
#endif /* __NET_RAND_H__ */ |