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;
|
||
|
};
|