rand.h revision 6017:7e310503019e
12810Srdreslin@umich.edu/*
211375Sandreas.hansson@arm.com * rand.h
311051Sandreas.hansson@arm.com *
411051Sandreas.hansson@arm.com * Pseudo-random number generation, based on OpenBSD arc4random().
511051Sandreas.hansson@arm.com *
611051Sandreas.hansson@arm.com * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
711051Sandreas.hansson@arm.com * Copyright (c) 1996 David Mazieres <dm@lcs.mit.edu>
811051Sandreas.hansson@arm.com *
911051Sandreas.hansson@arm.com * $Id: rand.h,v 1.4 2002/04/07 19:01:25 dugsong Exp $
1011051Sandreas.hansson@arm.com */
1111051Sandreas.hansson@arm.com
1211051Sandreas.hansson@arm.com#ifndef DNET_RAND_H
1311051Sandreas.hansson@arm.com#define DNET_RAND_H
1411051Sandreas.hansson@arm.com
1511051Sandreas.hansson@arm.comtypedef struct rand_handle rand_t;
162810Srdreslin@umich.edu
172810Srdreslin@umich.edu__BEGIN_DECLS
182810Srdreslin@umich.edurand_t	*rand_open(void);
192810Srdreslin@umich.edu
202810Srdreslin@umich.eduint	 rand_get(rand_t *r, void *buf, size_t len);
212810Srdreslin@umich.eduint	 rand_set(rand_t *r, const void *seed, size_t len);
222810Srdreslin@umich.eduint	 rand_add(rand_t *r, const void *buf, size_t len);
232810Srdreslin@umich.edu
242810Srdreslin@umich.eduuint8_t	 rand_uint8(rand_t *r);
252810Srdreslin@umich.eduuint16_t rand_uint16(rand_t *r);
262810Srdreslin@umich.eduuint32_t rand_uint32(rand_t *r);
272810Srdreslin@umich.edu
282810Srdreslin@umich.eduint	 rand_shuffle(rand_t *r, void *base, size_t nmemb, size_t size);
292810Srdreslin@umich.edu
302810Srdreslin@umich.edurand_t	*rand_close(rand_t *r);
312810Srdreslin@umich.edu__END_DECLS
322810Srdreslin@umich.edu
332810Srdreslin@umich.edu#endif /* DNET_RAND_H */
342810Srdreslin@umich.edu