Beispiel #1
0
LWS_VISIBLE int
lws_get_random(struct lws_context *context, void *buf, int len)
{
	TEE_GenerateRandom(buf, len);

	return len;
}
Beispiel #2
0
TEE_Result ta_entry_random_number_generate(uint32_t param_type,
					   TEE_Param params[4])
{
	ASSERT_PARAM_TYPE(TEE_PARAM_TYPES
			  (TEE_PARAM_TYPE_MEMREF_OUTPUT, TEE_PARAM_TYPE_NONE,
			   TEE_PARAM_TYPE_NONE, TEE_PARAM_TYPE_NONE));

	TEE_GenerateRandom(params[0].memref.buffer, params[0].memref.size);
	return TEE_SUCCESS;
}
int rand(void)
{
	int rc;

	TEE_GenerateRandom(&rc, sizeof(rc));

	/*
	 * RAND_MAX is the larges int, INT_MAX which is all bits but the
	 * highest bit set.
	 */
	return rc & RAND_MAX;
}
Beispiel #4
0
static TEE_Result invoke_get_random(uint32_t param_types, TEE_Param params[4])
{
	uint8_t *random_data;
	uint32_t data_length;

	uint32_t exp_param_types = TEE_PARAM_TYPES(TEE_PARAM_TYPE_MEMREF_INOUT,
						   TEE_PARAM_TYPE_NONE,
						   TEE_PARAM_TYPE_NONE,
						   TEE_PARAM_TYPE_NONE);

	DMSG("has been called");
	if (param_types != exp_param_types)
		return TEE_ERROR_BAD_PARAMETERS;

	random_data = params[0].memref.buffer;
	data_length = params[0].memref.size;

	TEE_GenerateRandom(random_data, data_length);

	return TEE_SUCCESS;
}