rng.h 759 B

123456789101112131415161718192021222324252627282930313233
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright (c) 2019, Linaro Limited
  4. */
  5. #if !defined _RNG_H_
  6. #define _RNG_H_
  7. struct udevice;
  8. /**
  9. * dm_rng_read() - read a random number seed from the rng device
  10. * @buffer: input buffer to put the read random seed into
  11. * @size: number of bytes of random seed read
  12. *
  13. * Return: 0 if OK, -ve on error
  14. */
  15. int dm_rng_read(struct udevice *dev, void *buffer, size_t size);
  16. /* struct dm_rng_ops - Operations for the hwrng uclass */
  17. struct dm_rng_ops {
  18. /**
  19. * @read() - read a random number seed
  20. *
  21. * @data: input buffer to read the random seed
  22. * @max: total number of bytes to read
  23. *
  24. * Return: 0 if OK, -ve on error
  25. */
  26. int (*read)(struct udevice *dev, void *data, size_t max);
  27. };
  28. #endif /* _RNG_H_ */