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;
 | 
						|
};
 |