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