OpenSSL  1.0.1c
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Randomizer.h
Go to the documentation of this file.
1 
2 // Gathers unpredictable system data to be used for generating
3 // random bits
4 
5 #include <MacTypes.h>
6 
8 {
9 public:
10  CRandomizer (void);
11  void PeriodicAction (void);
12 
13 private:
14 
15  // Private calls
16 
17  void AddTimeSinceMachineStartup (void);
18  void AddAbsoluteSystemStartupTime (void);
19  void AddAppRunningTime (void);
20  void AddStartupVolumeInfo (void);
21  void AddFiller (void);
22 
23  void AddCurrentMouse (void);
24  void AddNow (double millisecondUncertainty);
25  void AddBytes (void *data, long size, double entropy);
26 
27  void GetTimeBaseResolution (void);
28  unsigned long SysTimer (void);
29 
30  // System Info
31  bool mSupportsLargeVolumes;
32  bool mIsPowerPC;
33  bool mIs601;
34 
35  // Time info
36  double mTimebaseTicksPerMillisec;
37  unsigned long mLastPeriodicTicks;
38 
39  // Mouse info
40  long mSamplePeriod;
41  Point mLastMouse;
42  long mMouseStill;
43 };