/** @file Copyright (c) 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include /** Generate RandomNumbers. @param[out] Data Array of random numbers generated @param[in] Size Size of the array to be generated. @retval EFI_SUCCESS Random number generation successful. @retval EFI_UNSUPPORTED Couldnt generate a random number. **/ EFI_STATUS EFIAPI GenerateRandomNumbers ( OUT CHAR8 *Data, IN UINTN Size ) { INT32 Status; UINTN TempI, TempJ; UINT32 Random; for (TempI = 0; TempI < Size; ) { Status = GetRandomNumber32(&Random); if (Status != 1) { return EFI_UNSUPPORTED; } for (TempJ = 0; TempJ < sizeof(Random) && TempI < Size; TempJ++, TempI++) { Data[TempI] = ((CHAR8 *)&Random)[TempJ]; } } return EFI_SUCCESS; }