diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-05-02 16:41:35 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-05-02 16:41:35 (GMT) |
commit | 3d328008deedc58cd7a11c79063cefa7d662d4fc (patch) | |
tree | cb41a048885ce7b493f406360cf5f6edf689c468 /openssl/MacOS/Randomizer.h | |
parent | 0a2b8b8e0bc2e91a9f10659b30e2e4f5b79ce692 (diff) | |
download | blt-3d328008deedc58cd7a11c79063cefa7d662d4fc.zip blt-3d328008deedc58cd7a11c79063cefa7d662d4fc.tar.gz blt-3d328008deedc58cd7a11c79063cefa7d662d4fc.tar.bz2 |
inital commit
Diffstat (limited to 'openssl/MacOS/Randomizer.h')
-rw-r--r-- | openssl/MacOS/Randomizer.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/openssl/MacOS/Randomizer.h b/openssl/MacOS/Randomizer.h new file mode 100644 index 0000000..7c8b076 --- /dev/null +++ b/openssl/MacOS/Randomizer.h @@ -0,0 +1,42 @@ + +// 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; +}; |