44 lines
850 B
C++
Executable File
44 lines
850 B
C++
Executable File
|
|
// Gathers unpredictable system data to be used for generating
|
|
// random bits
|
|
|
|
#include <MacTypes.h>
|
|
|
|
class CRandomizer
|
|
{
|
|
public:
|
|
CRandomizer (void);
|
|
void PeriodicAction (void);
|
|
|
|
private:
|
|
|
|
// Private calls
|
|
|
|
void AddTimeSinceMachineStartup (void);
|
|
void AddAbsoluteSystemStartupTime (void);
|
|
void AddAppRunningTime (void);
|
|
void AddStartupVolumeInfo (void);
|
|
void AddFiller (void);
|
|
|
|
void AddCurrentMouse (void);
|
|
void AddNow (double millisecondUncertainty);
|
|
void AddBytes (void *data, long size, double entropy);
|
|
|
|
void GetTimeBaseResolution (void);
|
|
unsigned long SysTimer (void);
|
|
|
|
// System Info
|
|
bool mSupportsLargeVolumes;
|
|
bool mIsPowerPC;
|
|
bool mIs601;
|
|
|
|
// Time info
|
|
double mTimebaseTicksPerMillisec;
|
|
unsigned long mLastPeriodicTicks;
|
|
|
|
// Mouse info
|
|
long mSamplePeriod;
|
|
Point mLastMouse;
|
|
long mMouseStill;
|
|
};
|