Driver for managing the random number generator (RNG). More...
Data Structures |
|
| struct | nrf_drv_rng_config_t |
|
Struct for RNG configuration.
More...
|
|
Macros |
|
| #define | NRF_DRV_RNG_DEFAULT_CONFIG |
|
RNG default configuration.
More...
|
|
Functions |
|
| ret_code_t | nrf_drv_rng_init ( nrf_drv_rng_config_t const *p_config) |
|
Function for initializing the nrf_drv_rng module.
More...
|
|
| void | nrf_drv_rng_uninit (void) |
|
Function for uninitializing the nrf_drv_rng module.
|
|
| ret_code_t | nrf_drv_rng_bytes_available (uint8_t *p_bytes_available) |
|
Function for getting the number of currently available random bytes.
More...
|
|
| ret_code_t | nrf_drv_rng_pool_capacity (uint8_t *p_pool_capacity) |
|
Function for querying the capacity of the application random pool.
More...
|
|
| ret_code_t | nrf_drv_rng_rand (uint8_t *p_buff, uint8_t length) |
|
Function for getting the vector of random numbers.
More...
|
|
| 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.
More...
|
|
Detailed Description
Driver for managing the random number generator (RNG).
Macro Definition Documentation
| #define NRF_DRV_RNG_DEFAULT_CONFIG |
Value:
{ \
.error_correction =
RNG_CONFIG_ERROR_CORRECTION
, \
.interrupt_priority =
RNG_CONFIG_IRQ_PRIORITY
, \
}
RNG default configuration.
Function Documentation
| 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.
| ret_code_t nrf_drv_rng_init | ( | nrf_drv_rng_config_t const * | p_config | ) |
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.