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