summaryrefslogtreecommitdiffstats
path: root/openssl/MacOS/Randomizer.h
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2017-05-02 16:41:35 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2017-05-02 16:41:35 (GMT)
commit3d328008deedc58cd7a11c79063cefa7d662d4fc (patch)
treecb41a048885ce7b493f406360cf5f6edf689c468 /openssl/MacOS/Randomizer.h
parent0a2b8b8e0bc2e91a9f10659b30e2e4f5b79ce692 (diff)
downloadblt-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.h42
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;
+};