Run util/openssl-format-source -v -c .
[openssl.git] / MacOS / Randomizer.h
1
2 // Gathers unpredictable system data to be used for generating
3 // random bits
4
5 #include <MacTypes.h>
6
7 class CRandomizer {
8  public:
9     CRandomizer(void);
10     void PeriodicAction(void);
11
12  private:
13
14     // Private calls
15
16     void AddTimeSinceMachineStartup(void);
17     void AddAbsoluteSystemStartupTime(void);
18     void AddAppRunningTime(void);
19     void AddStartupVolumeInfo(void);
20     void AddFiller(void);
21
22     void AddCurrentMouse(void);
23     void AddNow(double millisecondUncertainty);
24     void AddBytes(void *data, long size, double entropy);
25
26     void GetTimeBaseResolution(void);
27     unsigned long SysTimer(void);
28
29     // System Info
30     bool mSupportsLargeVolumes;
31     bool mIsPowerPC;
32     bool mIs601;
33
34     // Time info
35     double mTimebaseTicksPerMillisec;
36     unsigned long mLastPeriodicTicks;
37
38     // Mouse info
39     long mSamplePeriod;
40     Point mLastMouse;
41     long mMouseStill;
42 };