X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=lib%2Frand.h;h=d62ebe5f7ecb95005561c5021df45ab92a06a1d1;hp=363e7b6d9651d5970c9b7b8592f61a9bc0a0962b;hb=e476994eed3bee246ca166ea6ad6018911408e9b;hpb=7e744013dca36be3840c45d13f4ae09947282bea diff --git a/lib/rand.h b/lib/rand.h index 363e7b6d..d62ebe5f 100644 --- a/lib/rand.h +++ b/lib/rand.h @@ -1,12 +1,12 @@ #ifndef FIO_RAND_H #define FIO_RAND_H +#define FRAND_MAX (-1U) + struct frand_state { unsigned int s1, s2, s3; }; -extern struct frand_state __fio_rand_state; - static inline unsigned int __rand(struct frand_state *state) { #define TAUSWORTHE(s,a,b,c,d) ((s&c)<>b) @@ -19,5 +19,9 @@ static inline unsigned int __rand(struct frand_state *state) } extern void init_rand(struct frand_state *); +extern void init_rand_seed(struct frand_state *, unsigned int seed); +extern void __fill_random_buf(void *buf, unsigned int len, unsigned long seed); +extern unsigned long fill_random_buf(struct frand_state *, void *buf, unsigned int len); +extern unsigned long fill_random_buf_percentage(struct frand_state *, void *buf, unsigned int percentage, unsigned int segment, unsigned int len); #endif