xref: /f-stack/freebsd/sys/prng.h (revision 22ce4aff)
1*22ce4affSfengbojiang /*-
2*22ce4affSfengbojiang  * This file is in the public domain.
3*22ce4affSfengbojiang  *
4*22ce4affSfengbojiang  * $FreeBSD$
5*22ce4affSfengbojiang  */
6*22ce4affSfengbojiang 
7*22ce4affSfengbojiang #ifndef	_SYS_PRNG_H_
8*22ce4affSfengbojiang #define	_SYS_PRNG_H_
9*22ce4affSfengbojiang 
10*22ce4affSfengbojiang #define	PCG_USE_INLINE_ASM	1
11*22ce4affSfengbojiang #include <contrib/pcg-c/include/pcg_variants.h>
12*22ce4affSfengbojiang 
13*22ce4affSfengbojiang #ifdef	_KERNEL
14*22ce4affSfengbojiang __uint32_t prng32(void);
15*22ce4affSfengbojiang __uint32_t prng32_bounded(__uint32_t bound);
16*22ce4affSfengbojiang __uint64_t prng64(void);
17*22ce4affSfengbojiang __uint64_t prng64_bounded(__uint64_t bound);
18*22ce4affSfengbojiang #endif
19*22ce4affSfengbojiang 
20*22ce4affSfengbojiang #endif
21