Driver for managing the random number generator (RNG).
More...
Driver for managing the random number generator (RNG).
#define NRF_DRV_RNG_DEFAULT_CONFIG |
Value:
RNG default configuration.
ret_code_t nrf_drv_rng_block_rand |
( |
uint8_t * |
p_buff, |
|
|
uint32_t |
length |
|
) |
| |
Blocking function for getting an arbitrary array of random numbers.
- Note
- This function may execute for a substantial amount of time depending on the length of the buffer required and on the state of the current internal pool of random numbers.
- Parameters
-
[out] | p_buff | Pointer to uint8_t buffer for storing the bytes. |
[in] | length | Number of bytes place in p_buff. |
- Return values
-
NRF_SUCCESS | If the requested bytes were written to p_buff. |
ret_code_t nrf_drv_rng_bytes_available |
( |
uint8_t * |
p_bytes_available | ) |
|
Function for getting the number of currently available random bytes.
- Parameters
-
[out] | p_bytes_available | The number of bytes currently available in the pool. |
- Return values
-
NRF_SUCCESS | If the number of available random bytes was written to p_bytes_available. |
Function for initializing the nrf_drv_rng module.
- Parameters
-
[in] | p_config | Initial configuration. Default configuration used if NULL. |
- Return values
-
NRF_SUCCESS | Driver was successfully initialized. |
NRF_ERROR_INVALID_STATE | Driver was already initialized. |
NRF_ERROR_INVALID_LENGTH | Pool size have to be a power of 2. |
NRF_ERROR_SOFTDEVICE_NOT_ENABLED | SoftDevice is present, but not enabled. |
ret_code_t nrf_drv_rng_pool_capacity |
( |
uint8_t * |
p_pool_capacity | ) |
|
Function for querying the capacity of the application random pool.
- Parameters
-
[out] | p_pool_capacity | The capacity of the pool. |
- Return values
-
NRF_SUCCESS | If the capacity of the pool was written to p_pool_capacity. |
ret_code_t nrf_drv_rng_rand |
( |
uint8_t * |
p_buff, |
|
|
uint8_t |
length |
|
) |
| |
Function for getting the vector of random numbers.
- Parameters
-
[out] | p_buff | Pointer to uint8_t buffer for storing the bytes. |
[in] | length | Number of bytes to take from the pool and place in p_buff. |
- Return values
-
NRF_SUCCESS | If the requested bytes were written to p_buff. |
NRF_ERROR_NO_MEM | If no bytes were written to the buffer because there were not enough bytes available in p_buff. |
NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES | If no bytes were written to the buffer because there were not enough bytes available in the pool. |