1 /** @file 2 Base Memory Library functions implementation bases on Uefi Boot Service. 3 4 Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php. 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #include "MemLibInternals.h" 16 17 /** 18 Copies a source buffer to a destination buffer, and returns the destination buffer. 19 20 This function wraps the gBS->CopyMem(). 21 22 @param DestinationBuffer The pointer to the destination buffer of the memory copy. 23 @param SourceBuffer The pointer to the source buffer of the memory copy. 24 @param Length The number of bytes to copy from SourceBuffer to DestinationBuffer. 25 26 @return DestinationBuffer. 27 28 **/ 29 VOID * 30 EFIAPI 31 InternalMemCopyMem ( 32 OUT VOID *Destination, 33 IN CONST VOID *Source, 34 IN UINTN Length 35 ) 36 { 37 gBS->CopyMem (Destination, (VOID*)Source, Length); 38 return Destination; 39 } 40 41 /** 42 Fills a target buffer with a byte value, and returns the target buffer. 43 44 This function wraps the gBS->SetMem(). 45 46 @param Buffer Memory to set. 47 @param Size The number of bytes to set. 48 @param Value Value of the set operation. 49 50 @return Buffer. 51 52 **/ 53 VOID * 54 EFIAPI 55 InternalMemSetMem ( 56 OUT VOID *Buffer, 57 IN UINTN Size, 58 IN UINT8 Value 59 ) 60 { 61 gBS->SetMem (Buffer, Size, Value); 62 return Buffer; 63 } 64