aboutsummaryrefslogtreecommitdiff
path: root/openssl/vendor/0.9.8d/MacOS/Randomizer.h
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2006-10-09 16:00:16 +0000
committerRob Austein <sra@hactrn.net>2006-10-09 16:00:16 +0000
commiteb9264fc2ef786e8c4e3d430834b9b9e9e0b9c0a (patch)
treea72b0dcff12c4934f29502390553f0b2305b05fa /openssl/vendor/0.9.8d/MacOS/Randomizer.h
parent3a6e89edc0a52c58e2c08d3de4e360de777f14a7 (diff)
OpenSSL 0.9.8d base code import
svn path=/openssl/vendor/0.9.8d/CHANGES; revision=373
Diffstat (limited to 'openssl/vendor/0.9.8d/MacOS/Randomizer.h')
-rw-r--r--openssl/vendor/0.9.8d/MacOS/Randomizer.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/openssl/vendor/0.9.8d/MacOS/Randomizer.h b/openssl/vendor/0.9.8d/MacOS/Randomizer.h
new file mode 100644
index 00000000..565537b1
--- /dev/null
+++ b/openssl/vendor/0.9.8d/MacOS/Randomizer.h
@@ -0,0 +1,43 @@
+
+// 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;
+};