]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Library/RngLib.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / Library / RngLib.h
CommitLineData
255c8e22
QL
1/** @file\r
2 Provides random number generator services.\r
3\r
4Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
9344f092 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
255c8e22
QL
6\r
7**/\r
8\r
9#ifndef __RNG_LIB_H__\r
10#define __RNG_LIB_H__\r
11\r
12/**\r
13 Generates a 16-bit random number.\r
14\r
15 if Rand is NULL, then ASSERT().\r
16\r
17 @param[out] Rand Buffer pointer to store the 16-bit random value.\r
18\r
19 @retval TRUE Random number generated successfully.\r
20 @retval FALSE Failed to generate the random number.\r
21\r
22**/\r
23BOOLEAN\r
24EFIAPI\r
25GetRandomNumber16 (\r
2f88bd3a 26 OUT UINT16 *Rand\r
255c8e22
QL
27 );\r
28\r
29/**\r
30 Generates a 32-bit random number.\r
31\r
32 if Rand is NULL, then ASSERT().\r
33\r
34 @param[out] Rand Buffer pointer to store the 32-bit random value.\r
35\r
36 @retval TRUE Random number generated successfully.\r
37 @retval FALSE Failed to generate the random number.\r
38\r
39**/\r
40BOOLEAN\r
41EFIAPI\r
42GetRandomNumber32 (\r
2f88bd3a 43 OUT UINT32 *Rand\r
255c8e22
QL
44 );\r
45\r
46/**\r
47 Generates a 64-bit random number.\r
48\r
49 if Rand is NULL, then ASSERT().\r
50\r
51 @param[out] Rand Buffer pointer to store the 64-bit random value.\r
52\r
53 @retval TRUE Random number generated successfully.\r
54 @retval FALSE Failed to generate the random number.\r
55\r
56**/\r
57BOOLEAN\r
58EFIAPI\r
59GetRandomNumber64 (\r
2f88bd3a 60 OUT UINT64 *Rand\r
255c8e22
QL
61 );\r
62\r
c8b6f16d
TP
63/**\r
64 Generates a 128-bit random number.\r
65\r
66 if Rand is NULL, then ASSERT().\r
67\r
68 @param[out] Rand Buffer pointer to store the 128-bit random value.\r
69\r
70 @retval TRUE Random number generated successfully.\r
71 @retval FALSE Failed to generate the random number.\r
72\r
73**/\r
74BOOLEAN\r
75EFIAPI\r
76GetRandomNumber128 (\r
2f88bd3a 77 OUT UINT64 *Rand\r
c8b6f16d
TP
78 );\r
79\r
2f88bd3a 80#endif // __RNG_LIB_H__\r