-/**\r
- Returns information about the random number generation implementation.\r
-\r
- @param[in] This A pointer to the EFI_RNG_PROTOCOL instance.\r
- @param[in,out] RNGAlgorithmListSize On input, the size in bytes of RNGAlgorithmList.\r
- On output with a return code of EFI_SUCCESS, the size\r
- in bytes of the data returned in RNGAlgorithmList. On output\r
- with a return code of EFI_BUFFER_TOO_SMALL,\r
- the size of RNGAlgorithmList required to obtain the list.\r
- @param[out] RNGAlgorithmList A caller-allocated memory buffer filled by the driver\r
- with one EFI_RNG_ALGORITHM element for each supported\r
- RNG algorithm. The list must not change across multiple\r
- calls to the same driver. The first algorithm in the list\r
- is the default algorithm for the driver.\r
-\r
- @retval EFI_SUCCESS The RNG algorithm list was returned successfully.\r
- @retval EFI_UNSUPPORTED The services is not supported by this driver.\r
- @retval EFI_DEVICE_ERROR The list of algorithms could not be retrieved due to a\r
- hardware or firmware error.\r
- @retval EFI_INVALID_PARAMETER One or more of the parameters are incorrect.\r
- @retval EFI_BUFFER_TOO_SMALL The buffer RNGAlgorithmList is too small to hold the result.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-RngGetInfo (\r
- IN EFI_RNG_PROTOCOL *This,\r
- IN OUT UINTN *RNGAlgorithmListSize,\r
- OUT EFI_RNG_ALGORITHM *RNGAlgorithmList\r
- )\r
-{\r
- EFI_STATUS Status;\r
-\r
- if ((This == NULL) || (RNGAlgorithmListSize == NULL)) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- //\r
- // Return algorithm list supported by driver.\r
- //\r
- if (RNGAlgorithmList != NULL) {\r
- Status = ArchGetSupportedRngAlgorithms (RNGAlgorithmListSize, RNGAlgorithmList);\r
- } else {\r
- Status = EFI_INVALID_PARAMETER;\r
- }\r
-\r
- return Status;\r
-}\r
-\r