mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
44 lines
850 B
C
44 lines
850 B
C
|
|
||
|
// 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;
|
||
|
};
|