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