arm: Clean up m5ops assembly library
[gem5.git] / ext / dnet / rand.h
1 /*
2 * rand.h
3 *
4 * Pseudo-random number generation, based on OpenBSD arc4random().
5 *
6 * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
7 * Copyright (c) 1996 David Mazieres <dm@lcs.mit.edu>
8 *
9 * $Id: rand.h,v 1.4 2002/04/07 19:01:25 dugsong Exp $
10 */
11
12 #ifndef DNET_RAND_H
13 #define DNET_RAND_H
14
15 typedef struct rand_handle rand_t;
16
17 __BEGIN_DECLS
18 rand_t *rand_open(void);
19
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);
23
24 uint8_t rand_uint8(rand_t *r);
25 uint16_t rand_uint16(rand_t *r);
26 uint32_t rand_uint32(rand_t *r);
27
28 int rand_shuffle(rand_t *r, void *base, size_t nmemb, size_t size);
29
30 rand_t *rand_close(rand_t *r);
31 __END_DECLS
32
33 #endif /* DNET_RAND_H */