Esempio n. 1
0
/*
	MatrixSSL PRNG retrieval
*/
int32 matrixSslGetPrngData(unsigned char *bytes, uint32 size)
{
	int32	rc;
#ifdef USE_MULTITHREADING
	psLockMutex(&prngLock);
#endif /* USE_MULTITHREADING */
	rc = psGetPrng(&gMatrixsslPrng, bytes, size);
#ifdef USE_MULTITHREADING		
	psUnlockMutex(&prngLock);
#endif /* USE_MULTITHREADING */
	return rc;
}
/*	Main PRNG retrieval API for Matrix based apps to lock all PRNG and entropy
	fetches */
int32 matrixCryptoGetPrngData(unsigned char *bytes, uint32 size, void *userPtr)
{
	int32	rc;

	if (gPrngInit == 0) {
		return PS_FAILURE;
	}
#ifdef USE_MULTITHREADING
	psLockMutex(&prngLock);
#endif /* USE_MULTITHREADING */
	rc = psGetPrng(&gMatrixPrng, bytes, size, userPtr);
#ifdef USE_MULTITHREADING
	psUnlockMutex(&prngLock);
#endif /* USE_MULTITHREADING */
	return rc;
}