/** @file\r
Declaration of internal functions for Base Memory Library.\r
\r
- Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php.\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
Copies a source buffer to a destination buffer, and returns the destination buffer.\r
\r
This function wraps the (*PeiServices)->CopyMem ().\r
- \r
+\r
@param DestinationBuffer The pointer to the destination buffer of the memory copy.\r
@param SourceBuffer The pointer to the source buffer of the memory copy.\r
@param Length The number of bytes to copy from SourceBuffer to DestinationBuffer.\r
VOID *\r
EFIAPI\r
InternalMemCopyMem (\r
- OUT VOID *Destination,\r
- IN CONST VOID *Source,\r
- IN UINTN Length\r
+ OUT VOID *Destination,\r
+ IN CONST VOID *Source,\r
+ IN UINTN Length\r
);\r
\r
/**\r
Fills a target buffer with a byte value, and returns the target buffer.\r
\r
This function wraps the (*PeiServices)->SetMem ().\r
- \r
+\r
@param Buffer The memory to set.\r
@param Size The number of bytes to set.\r
@param Value Value of the set operation.\r
VOID *\r
EFIAPI\r
InternalMemSetMem (\r
- OUT VOID *Buffer,\r
- IN UINTN Size,\r
- IN UINT8 Value\r
+ OUT VOID *Buffer,\r
+ IN UINTN Size,\r
+ IN UINT8 Value\r
);\r
\r
/**\r
VOID *\r
EFIAPI\r
InternalMemSetMem16 (\r
- OUT VOID *Buffer,\r
- IN UINTN Length,\r
- IN UINT16 Value\r
+ OUT VOID *Buffer,\r
+ IN UINTN Length,\r
+ IN UINT16 Value\r
);\r
\r
/**\r
VOID *\r
EFIAPI\r
InternalMemSetMem32 (\r
- OUT VOID *Buffer,\r
- IN UINTN Length,\r
- IN UINT32 Value\r
+ OUT VOID *Buffer,\r
+ IN UINTN Length,\r
+ IN UINT32 Value\r
);\r
\r
/**\r
VOID *\r
EFIAPI\r
InternalMemSetMem64 (\r
- OUT VOID *Buffer,\r
- IN UINTN Length,\r
- IN UINT64 Value\r
+ OUT VOID *Buffer,\r
+ IN UINTN Length,\r
+ IN UINT64 Value\r
);\r
\r
/**\r
VOID *\r
EFIAPI\r
InternalMemZeroMem (\r
- OUT VOID *Buffer,\r
- IN UINTN Length\r
+ OUT VOID *Buffer,\r
+ IN UINTN Length\r
);\r
\r
/**\r
INTN\r
EFIAPI\r
InternalMemCompareMem (\r
- IN CONST VOID *DestinationBuffer,\r
- IN CONST VOID *SourceBuffer,\r
- IN UINTN Length\r
+ IN CONST VOID *DestinationBuffer,\r
+ IN CONST VOID *SourceBuffer,\r
+ IN UINTN Length\r
);\r
\r
/**\r
CONST VOID *\r
EFIAPI\r
InternalMemScanMem8 (\r
- IN CONST VOID *Buffer,\r
- IN UINTN Length,\r
- IN UINT8 Value\r
+ IN CONST VOID *Buffer,\r
+ IN UINTN Length,\r
+ IN UINT8 Value\r
);\r
\r
/**\r
CONST VOID *\r
EFIAPI\r
InternalMemScanMem16 (\r
- IN CONST VOID *Buffer,\r
- IN UINTN Length,\r
- IN UINT16 Value\r
+ IN CONST VOID *Buffer,\r
+ IN UINTN Length,\r
+ IN UINT16 Value\r
);\r
\r
/**\r
CONST VOID *\r
EFIAPI\r
InternalMemScanMem32 (\r
- IN CONST VOID *Buffer,\r
- IN UINTN Length,\r
- IN UINT32 Value\r
+ IN CONST VOID *Buffer,\r
+ IN UINTN Length,\r
+ IN UINT32 Value\r
);\r
\r
/**\r
CONST VOID *\r
EFIAPI\r
InternalMemScanMem64 (\r
- IN CONST VOID *Buffer,\r
- IN UINTN Length,\r
- IN UINT64 Value\r
+ IN CONST VOID *Buffer,\r
+ IN UINTN Length,\r
+ IN UINT64 Value\r
+ );\r
+\r
+/**\r
+ Checks whether the contents of a buffer are all zeros.\r
+\r
+ @param Buffer The pointer to the buffer to be checked.\r
+ @param Length The size of the buffer (in bytes) to be checked.\r
+\r
+ @retval TRUE Contents of the buffer are all zeros.\r
+ @retval FALSE Contents of the buffer are not all zeros.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+InternalMemIsZeroBuffer (\r
+ IN CONST VOID *Buffer,\r
+ IN UINTN Length\r
);\r
\r
#endif\r