#if defined(macintosh) || defined(__APPLE__)
/* FIXME - this file needs to be in a platform-independent place */
-#include <dev/random/YarrowCoreLib/include/macos_defs.h>
-
#include "macOnly.h"
#endif /* macintosh */
#include "smf.h"
/* In-place modifed bubble sort */
static void
-bubbleSort(UINT *data,UINT len)
+bubbleSort( UINT *data, LONG len )
{
- UINT i,last,newlast,temp;
+ LONG i,last,newlast;
+ UINT temp;
last = len-1;
while(last!=-1)
#if defined(macintosh) || defined(__APPLE__)
#if (defined(TARGET_API_MAC_OSX) || defined(KERNEL_BUILD))
struct timeval tv;
- int32_t endTime;
- #else TARGET_API_MAC_CARBON
+ int64_t endTime, curTime;
+ #else /* TARGET_API_MAC_CARBON */
UnsignedWide uwide; /* struct needed for Microseconds() */
LONGLONG start;
LONGLONG now;
#if (defined(TARGET_API_MAC_OSX) || defined(KERNEL_BUILD))
/* note we can't loop for more than a million microseconds */
#ifdef KERNEL_BUILD
- microtime (&tv);
+ microuptime (&tv);
#else
gettimeofday(&tv, NULL);
#endif
- endTime = tv.tv_usec + ticks;
- if(endTime > 1000000) {
- /* handle rollover now */
- endTime -= 1000000;
- }
+ endTime = (int64_t)tv.tv_sec*1000000LL + (int64_t)tv.tv_usec + ticks;
#else /* TARGET_API_MAC_OSX */
Microseconds(&uwide);
start = UnsignedWideToUInt64(uwide);
#ifdef TARGET_API_MAC_OSX
gettimeofday(&tv, NULL);
#else
- microtime (&tv);
+ microuptime (&tv);
+ curTime = (int64_t)tv.tv_sec*1000000LL + (int64_t)tv.tv_usec;
#endif
- } while(tv.tv_usec < endTime);
+ } while(curTime < endTime);
#else
Microseconds(&uwide);
now = UnsignedWideToUInt64(uwide);
/* Add entropy to the PRNG from a source */
prng_error_status
-prngInput(PRNG *p, BYTE *inbuf,UINT inbuflen,UINT poolnum,UINT estbits)
+prngInput(PRNG *p, BYTE *inbuf,UINT inbuflen,UINT poolnum, __unused UINT estbits)
{
#ifndef YARROW_KERNEL
comp_error_status resp;
prngAllowReseed(PRNG *p, LONGLONG ticks)
{
UINT temp[TOTAL_SOURCES];
- UINT i,sum;
+ LONG i;
+ UINT sum;
#ifndef KERNEL_BUILD
float ratio;
#endif
+#ifndef KERNEL_BUILD
comp_error_status resp;
-
+#endif
CHECKSTATE(p);