| * @brief Public APIs for the random driver. |
| * Copyright (c) 2016 ARM Ltd. |
| * SPDX-License-Identifier: Apache-2.0 |
| * @brief Random Interface |
| * @defgroup random_interface Random Interface |
| * @typedef random_get_entropy_t |
| * @brief Callback API to get entropy. |
| * See random_get_entropy() for argument description |
| typedef int (*random_get_entropy_t)(struct device *dev, |
| struct random_driver_api { |
| random_get_entropy_t get_entropy; |
| * @brief Get entropy from the random driver. |
| * Fill a buffer with entropy from the random driver. |
| * @param dev Pointer to the random device. |
| * @param buffer Buffer to fill with entropy. |
| * @param length Buffer length. |
| * @retval -ERRNO errno code on error. |
| static inline int random_get_entropy(struct device *dev, |
| const struct random_driver_api *api = dev->driver_api; |
| __ASSERT(api->get_entropy, "Callback pointer should not be NULL"); |
| return api->get_entropy(dev, buffer, length); |
| #endif /* __RANDOM_H__ */ |