TianoCore EDK2 master
Loading...
Searching...
No Matches
MemLibGeneric.c File Reference
#include "MemLibInternals.h"

Go to the source code of this file.

Functions

VOID *EFIAPI InternalMemSetMem16 (OUT VOID *Buffer, IN UINTN Length, IN UINT16 Value)
 
VOID *EFIAPI InternalMemSetMem32 (OUT VOID *Buffer, IN UINTN Length, IN UINT32 Value)
 
VOID *EFIAPI InternalMemSetMem64 (OUT VOID *Buffer, IN UINTN Length, IN UINT64 Value)
 
VOID *EFIAPI InternalMemZeroMem (OUT VOID *Buffer, IN UINTN Length)
 
INTN EFIAPI InternalMemCompareMem (IN CONST VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
 
CONST VOID *EFIAPI InternalMemScanMem8 (IN CONST VOID *Buffer, IN UINTN Length, IN UINT8 Value)
 
CONST VOID *EFIAPI InternalMemScanMem16 (IN CONST VOID *Buffer, IN UINTN Length, IN UINT16 Value)
 
CONST VOID *EFIAPI InternalMemScanMem32 (IN CONST VOID *Buffer, IN UINTN Length, IN UINT32 Value)
 
CONST VOID *EFIAPI InternalMemScanMem64 (IN CONST VOID *Buffer, IN UINTN Length, IN UINT64 Value)
 
BOOLEAN EFIAPI InternalMemIsZeroBuffer (IN CONST VOID *Buffer, IN UINTN Length)
 

Detailed Description

Architecture Independent Base Memory Library Implementation.

The following BaseMemoryLib instances contain the same copy of this file: BaseMemoryLib PeiMemoryLib UefiMemoryLib

Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file MemLibGeneric.c.

Function Documentation

◆ InternalMemCompareMem()

INTN EFIAPI InternalMemCompareMem ( IN CONST VOID *  DestinationBuffer,
IN CONST VOID *  SourceBuffer,
IN UINTN  Length 
)

Compares two memory buffers of a given length.

Parameters
DestinationBufferThe first memory buffer
SourceBufferThe second memory buffer
LengthThe length of DestinationBuffer and SourceBuffer memory regions to compare. Must be non-zero.
Returns
0 All Length bytes of the two buffers are identical.
Return values
Non-zeroThe first mismatched byte in SourceBuffer subtracted from the first mismatched byte in DestinationBuffer.

Definition at line 125 of file MemLibGeneric.c.

◆ InternalMemIsZeroBuffer()

BOOLEAN EFIAPI InternalMemIsZeroBuffer ( IN CONST VOID *  Buffer,
IN UINTN  Length 
)

Checks whether the contents of a buffer are all zeros.

Parameters
BufferThe pointer to the buffer to be checked.
LengthThe size of the buffer (in bytes) to be checked.
Return values
TRUEContents of the buffer are all zeros.
FALSEContents of the buffer are not all zeros.

Definition at line 277 of file MemLibGeneric.c.

◆ InternalMemScanMem16()

CONST VOID *EFIAPI InternalMemScanMem16 ( IN CONST VOID *  Buffer,
IN UINTN  Length,
IN UINT16  Value 
)

Scans a target buffer for a 16-bit value, and returns a pointer to the matching 16-bit value in the target buffer.

Parameters
BufferThe pointer to the target buffer to scan.
LengthThe count of 16-bit value to scan. Must be non-zero.
ValueThe value to search for in the target buffer.
Returns
The pointer to the first occurrence, or NULL if not found.

Definition at line 185 of file MemLibGeneric.c.

◆ InternalMemScanMem32()

CONST VOID *EFIAPI InternalMemScanMem32 ( IN CONST VOID *  Buffer,
IN UINTN  Length,
IN UINT32  Value 
)

Scans a target buffer for a 32-bit value, and returns a pointer to the matching 32-bit value in the target buffer.

Parameters
BufferThe pointer to the target buffer to scan.
LengthThe count of 32-bit value to scan. Must be non-zero.
ValueThe value to search for in the target buffer.
Returns
The pointer to the first occurrence, or NULL if not found.

Definition at line 216 of file MemLibGeneric.c.

◆ InternalMemScanMem64()

CONST VOID *EFIAPI InternalMemScanMem64 ( IN CONST VOID *  Buffer,
IN UINTN  Length,
IN UINT64  Value 
)

Scans a target buffer for a 64-bit value, and returns a pointer to the matching 64-bit value in the target buffer.

Parameters
BufferThe pointer to the target buffer to scan.
LengthThe count of 64-bit value to scan. Must be non-zero.
ValueThe value to search for in the target buffer.
Returns
The pointer to the first occurrence, or NULL if not found.

Definition at line 247 of file MemLibGeneric.c.

◆ InternalMemScanMem8()

CONST VOID *EFIAPI InternalMemScanMem8 ( IN CONST VOID *  Buffer,
IN UINTN  Length,
IN UINT8  Value 
)

Scans a target buffer for an 8-bit value, and returns a pointer to the matching 8-bit value in the target buffer.

Parameters
BufferThe pointer to the target buffer to scan.
LengthThe count of 8-bit value to scan. Must be non-zero.
ValueThe value to search for in the target buffer.
Returns
The pointer to the first occurrence, or NULL if not found.

Definition at line 154 of file MemLibGeneric.c.

◆ InternalMemSetMem16()

VOID *EFIAPI InternalMemSetMem16 ( OUT VOID *  Buffer,
IN UINTN  Length,
IN UINT16  Value 
)

Fills a target buffer with a 16-bit value, and returns the target buffer.

Parameters
BufferThe pointer to the target buffer to fill.
LengthThe count of 16-bit value to fill.
ValueThe value with which to fill Length bytes of Buffer.
Returns
Buffer.

Definition at line 28 of file MemLibGeneric.c.

◆ InternalMemSetMem32()

VOID *EFIAPI InternalMemSetMem32 ( OUT VOID *  Buffer,
IN UINTN  Length,
IN UINT32  Value 
)

Fills a target buffer with a 32-bit value, and returns the target buffer.

Parameters
BufferThe pointer to the target buffer to fill.
LengthThe count of 32-bit value to fill.
ValueThe value with which to fill Length bytes of Buffer.
Returns
Buffer.

Definition at line 53 of file MemLibGeneric.c.

◆ InternalMemSetMem64()

VOID *EFIAPI InternalMemSetMem64 ( OUT VOID *  Buffer,
IN UINTN  Length,
IN UINT64  Value 
)

Fills a target buffer with a 64-bit value, and returns the target buffer.

Parameters
BufferThe pointer to the target buffer to fill.
LengthThe count of 64-bit value to fill.
ValueThe value with which to fill Length bytes of Buffer.
Returns
Buffer.

Definition at line 78 of file MemLibGeneric.c.

◆ InternalMemZeroMem()

VOID *EFIAPI InternalMemZeroMem ( OUT VOID *  Buffer,
IN UINTN  Length 
)

Set Buffer to 0 for Size bytes.

Parameters
BufferThe memory to set.
LengthThe number of bytes to set
Returns
Buffer.

Definition at line 102 of file MemLibGeneric.c.