From bec199c4a2ca7e9e998438a21ffdd56c59171baa Mon Sep 17 00:00:00 2001 From: Sylvain Rochet Date: Sat, 28 Feb 2015 19:36:03 +0100 Subject: [PATCH] PPP, MAGIC: new function: magic_pow magic_pow() returns a new random number between 0 and (2^pow)-1 included. --- src/include/netif/ppp/magic.h | 5 +++++ src/netif/ppp/magic.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/src/include/netif/ppp/magic.h b/src/include/netif/ppp/magic.h index 4661dea5..1c9b96d0 100644 --- a/src/include/netif/ppp/magic.h +++ b/src/include/netif/ppp/magic.h @@ -100,6 +100,11 @@ void magic_randomize(void); */ u32_t magic(void); /* Returns the next magic number */ +/* + * Return a new random number between 0 and (2^pow)-1 included. + */ +u32_t magic_pow(u8_t pow); + #if PPP_MD5_RANDM /* * Fill buffer with random bytes diff --git a/src/netif/ppp/magic.c b/src/netif/ppp/magic.c index a6a55490..de9a700f 100644 --- a/src/netif/ppp/magic.c +++ b/src/netif/ppp/magic.c @@ -264,4 +264,11 @@ u32_t magic() { #endif /* PPP_MD5_RANDM */ +/* + * Return a new random number between 0 and (2^pow)-1 included. + */ +u32_t magic_pow(u8_t pow) { + return magic() & ~(~0UL<