OpenSSL: update to 1.0.1m
[tomato.git] / release / src / router / openssl / MacOS / Randomizer.h
blob7c8b07626b42f653bc96721bef234505fac39c8b
2 // Gathers unpredictable system data to be used for generating
3 // random bits
5 #include <MacTypes.h>
7 class CRandomizer {
8 public:
9 CRandomizer(void);
10 void PeriodicAction(void);
12 private:
14 // Private calls
16 void AddTimeSinceMachineStartup(void);
17 void AddAbsoluteSystemStartupTime(void);
18 void AddAppRunningTime(void);
19 void AddStartupVolumeInfo(void);
20 void AddFiller(void);
22 void AddCurrentMouse(void);
23 void AddNow(double millisecondUncertainty);
24 void AddBytes(void *data, long size, double entropy);
26 void GetTimeBaseResolution(void);
27 unsigned long SysTimer(void);
29 // System Info
30 bool mSupportsLargeVolumes;
31 bool mIsPowerPC;
32 bool mIs601;
34 // Time info
35 double mTimebaseTicksPerMillisec;
36 unsigned long mLastPeriodicTicks;
38 // Mouse info
39 long mSamplePeriod;
40 Point mLastMouse;
41 long mMouseStill;