mirror of https://github.com/openssl/openssl.git
				
				
				
			
		
			
				
	
	
		
			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;
 | |
| };
 |