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<