diff options
Diffstat (limited to 'roms/u-boot/include/rng.h')
-rw-r--r-- | roms/u-boot/include/rng.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/roms/u-boot/include/rng.h b/roms/u-boot/include/rng.h new file mode 100644 index 000000000..37af55436 --- /dev/null +++ b/roms/u-boot/include/rng.h @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (c) 2019, Linaro Limited + */ + +#if !defined _RNG_H_ +#define _RNG_H_ + +struct udevice; + +/** + * dm_rng_read() - read a random number seed from the rng device + * + * The function blocks until the requested number of bytes is read. + * + * @dev: random number generator device + * @buffer: input buffer to put the read random seed into + * @size: number of random bytes to read + * Return: 0 if OK, -ve on error + */ +int dm_rng_read(struct udevice *dev, void *buffer, size_t size); + +/** + * struct dm_rng_ops - operations for the hwrng uclass + * + * This structures contains the function implemented by a hardware random + * number generation device. + */ +struct dm_rng_ops { + /** + * @read: read a random bytes + * + * The function blocks until the requested number of bytes is read. + * + * @read.dev: random number generator device + * @read.data: input buffer to read the random seed into + * @read.max: number of random bytes to read + * @read.Return: 0 if OK, -ve on error + */ + int (*read)(struct udevice *dev, void *data, size_t max); +}; + +#endif /* _RNG_H_ */ |