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