43 lines
891 B
C++
43 lines
891 B
C++
|
|
// 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;
|
|
};
|