random.c revision c6fb85f9500350e5ce58c9a24f5d264c8a8bd6f4
/*
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: random.c,v 1.27 2009/07/01 23:47:36 tbox Exp $ */
/*! \file */
#include <config.h>
#include <stdlib.h>
#include <time.h> /* Required for time(). */
#ifdef HAVE_SYS_TYPES_H
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
static void
initialize_rand(void)
{
#ifndef HAVE_ARC4RANDOM
/*
* The low bits of pid generally change faster.
* Xor them with the high bits of time which change slowly.
*/
#endif
}
static void
initialize(void)
{
}
void
{
initialize();
#ifndef HAVE_ARC4RANDOM
#else
#endif
}
void
{
initialize();
#ifndef HAVE_ARC4RANDOM
/*
* rand()'s lower bits are not random.
* rand()'s upper bit is zero.
*/
#else
*val = arc4random();
#endif
}
if (jitter == 0)
return (max);
else
#ifndef HAVE_ARC4RANDOM
#else
#endif
}