1 /* Public domain. */ 2 3 #ifndef _LINUX_RANDOM_H 4 #define _LINUX_RANDOM_H 5 6 #include <sys/types.h> 7 #include <sys/systm.h> 8 9 #define get_random_u32() arc4random() 10 #define get_random_int() arc4random() 11 12 static inline uint64_t 13 get_random_u64(void) 14 { 15 uint64_t r; 16 arc4random_buf(&r, sizeof(r)); 17 return r; 18 } 19 20 static inline unsigned long 21 get_random_long(void) 22 { 23 #ifdef __LP64__ 24 return get_random_u64(); 25 #else 26 return get_random_u32(); 27 #endif 28 } 29 30 #endif 31