Entropy¶
Overview¶
The entropy API provides functions to retrieve entropy values from entropy hardware present on the platform. The entropy APIs are provided for use by the random subsystem and cryptographic services. They are not suitable to be used as random number generation functions.
API Reference¶
-
group
entropy_interface
Entropy Interface.
Defines
-
ENTROPY_BUSYWAIT
¶
Typedefs
-
typedef int (*
entropy_get_entropy_t
)(const struct device *dev, uint8_t *buffer, uint16_t length)¶ Callback API to get entropy.
See entropy_get_entropy() for argument description
-
typedef int (*
entropy_get_entropy_isr_t
)(const struct device *dev, uint8_t *buffer, uint16_t length, uint32_t flags)¶ Callback API to get entropy from an ISR.
See entropy_get_entropy_isr() for argument description
Functions
-
int
entropy_get_entropy
(const struct device *dev, uint8_t *buffer, uint16_t length)¶ Fills a buffer with entropy. Blocks if required in order to generate the necessary random data.
- Parameters
dev
: Pointer to the entropy device.buffer
: Buffer to fill with entropy.length
: Buffer length.
- Return Value
0
: on success.-ERRNO
: errno code on error.
-
static inline int
entropy_get_entropy_isr
(const struct device *dev, uint8_t *buffer, uint16_t length, uint32_t flags)¶ Fills a buffer with entropy in a non-blocking or busy-wait manner. Callable from ISRs.
- Parameters
dev
: Pointer to the device structure.buffer
: Buffer to fill with entropy.length
: Buffer length.flags
: Flags to modify the behavior of the call.
- Return Value
number
: of bytes filled with entropy or -error.
-
struct
entropy_driver_api
¶ - #include <entropy.h>
-