4 * Pseudo-random number generation, based on OpenBSD arc4random().
6 * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
7 * Copyright (c) 1996 David Mazieres <dm@lcs.mit.edu>
9 * $Id: rand.h,v 1.4 2002/04/07 19:01:25 dugsong Exp $
15 typedef struct rand_handle rand_t
;
18 rand_t
*rand_open(void);
20 int rand_get(rand_t
*r
, void *buf
, size_t len
);
21 int rand_set(rand_t
*r
, const void *seed
, size_t len
);
22 int rand_add(rand_t
*r
, const void *buf
, size_t len
);
24 uint8_t rand_uint8(rand_t
*r
);
25 uint16_t rand_uint16(rand_t
*r
);
26 uint32_t rand_uint32(rand_t
*r
);
28 int rand_shuffle(rand_t
*r
, void *base
, size_t nmemb
, size_t size
);
30 rand_t
*rand_close(rand_t
*r
);
33 #endif /* DNET_RAND_H */