rand.h revision 6017:7e310503019e
16145SN/A/*
26145SN/A * rand.h
36145SN/A *
46145SN/A * Pseudo-random number generation, based on OpenBSD arc4random().
56145SN/A *
66145SN/A * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
76145SN/A * Copyright (c) 1996 David Mazieres <dm@lcs.mit.edu>
86145SN/A *
96145SN/A * $Id: rand.h,v 1.4 2002/04/07 19:01:25 dugsong Exp $
106145SN/A */
116145SN/A
126145SN/A#ifndef DNET_RAND_H
136145SN/A#define DNET_RAND_H
146145SN/A
156145SN/Atypedef struct rand_handle rand_t;
166145SN/A
176145SN/A__BEGIN_DECLS
186145SN/Arand_t	*rand_open(void);
196145SN/A
206145SN/Aint	 rand_get(rand_t *r, void *buf, size_t len);
216145SN/Aint	 rand_set(rand_t *r, const void *seed, size_t len);
226145SN/Aint	 rand_add(rand_t *r, const void *buf, size_t len);
236145SN/A
246145SN/Auint8_t	 rand_uint8(rand_t *r);
256145SN/Auint16_t rand_uint16(rand_t *r);
266145SN/Auint32_t rand_uint32(rand_t *r);
276145SN/A
286145SN/Aint	 rand_shuffle(rand_t *r, void *base, size_t nmemb, size_t size);
297056SN/A
308232SN/Arand_t	*rand_close(rand_t *r);
319104SN/A__END_DECLS
327039SN/A
3310301Snilay@cs.wisc.edu#endif /* DNET_RAND_H */
3411108Sdavid.hashe@amd.com