TianoCore EDK2 master
Loading...
Searching...
No Matches
PrmContextBufferLib.h File Reference
#include <Base.h>
#include <PrmContextBuffer.h>
#include <Uefi.h>

Go to the source code of this file.

Enumerations

enum  PRM_GUID_SEARCH_TYPE { ByModuleGuid , ByHandlerGuid }
 

Functions

EFI_STATUS FindContextBufferInModuleBuffers (IN CONST EFI_GUID *HandlerGuid, IN CONST PRM_MODULE_CONTEXT_BUFFERS *ModuleContextBuffers, OUT CONST PRM_CONTEXT_BUFFER **ContextBuffer)
 
EFI_STATUS GetModuleContextBuffers (IN PRM_GUID_SEARCH_TYPE GuidSearchType, IN CONST EFI_GUID *Guid, OUT CONST PRM_MODULE_CONTEXT_BUFFERS **PrmModuleContextBuffers)
 
EFI_STATUS GetContextBuffer (IN CONST EFI_GUID *PrmHandlerGuid, IN CONST PRM_MODULE_CONTEXT_BUFFERS *PrmModuleContextBuffers OPTIONAL, OUT CONST PRM_CONTEXT_BUFFER **PrmContextBuffer)
 

Detailed Description

The PRM Buffer Context library provides a general abstraction for context buffer management.

Copyright (c) Microsoft Corporation SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file PrmContextBufferLib.h.

Enumeration Type Documentation

◆ PRM_GUID_SEARCH_TYPE

Enumerator
ByModuleGuid 

Search by the PRM module GUID

ByHandlerGuid 

Search by the PRM handler GUID

Definition at line 17 of file PrmContextBufferLib.h.

Function Documentation

◆ FindContextBufferInModuleBuffers()

EFI_STATUS FindContextBufferInModuleBuffers ( IN CONST EFI_GUID HandlerGuid,
IN CONST PRM_MODULE_CONTEXT_BUFFERS ModuleContextBuffers,
OUT CONST PRM_CONTEXT_BUFFER **  ContextBuffer 
)

Finds a PRM context buffer for the given PRM handler GUID.

Note: PRM_MODULE_CONTEXT_BUFFERS is at the PRM module level while PRM_CONTEXT_BUFFER is at the PRM handler level.

Parameters
[in]HandlerGuidA pointer to the PRM handler GUID.
[in]ModuleContextBuffersA pointer to the PRM context buffers structure for the PRM module.
[out]PrmModuleContextBufferA pointer to a pointer that will be set to the PRM context buffer if successfully found.
Return values
EFI_SUCCESSThe PRM context buffer was found.
EFI_INVALID_PARAMETERA required parameter pointer is NULL.
EFI_NOT_FOUNDThe context buffer for the given PRM handler GUID could not be found.

Definition at line 35 of file DxePrmContextBufferLib.c.

◆ GetContextBuffer()

EFI_STATUS GetContextBuffer ( IN CONST EFI_GUID PrmHandlerGuid,
IN CONST PRM_MODULE_CONTEXT_BUFFERS *PrmModuleContextBuffers  OPTIONAL,
OUT CONST PRM_CONTEXT_BUFFER **  PrmContextBuffer 
)

Returns a PRM context buffer for the given PRM handler.

Parameters
[in]PrmHandlerGuidA pointer to the GUID for the PRM handler.
[in]PrmModuleContextBuffersA pointer to a PRM_MODULE_CONTEXT_BUFFERS structure. If this optional parameter is provided, the handler context buffer will be searched for in this buffer structure which saves time by not performing a global search for the module buffer structure.
[out]PrmContextBufferA pointer to a pointer that will be set to the PRM context buffer if successfully found.
Return values
EFI_SUCCESSThe PRM context buffer was found.
EFI_INVALID_PARAMETERA required parameter pointer is NULL.
EFI_NOT_FOUNDThe context buffer for the PRM handler could not be found.

Definition at line 170 of file DxePrmContextBufferLib.c.

◆ GetModuleContextBuffers()

EFI_STATUS GetModuleContextBuffers ( IN PRM_GUID_SEARCH_TYPE  GuidSearchType,
IN CONST EFI_GUID Guid,
OUT CONST PRM_MODULE_CONTEXT_BUFFERS **  PrmModuleContextBuffers 
)

Returns a PRM context buffers structure for the given PRM search type.

This function allows a caller to get the context buffers structure for a PRM module with either the PRM module GUID or the GUID for a PRM handler in the module.

Note: PRM_MODULE_CONTEXT_BUFFERS is at the PRM module level while PRM_CONTEXT_BUFFER is at the PRM handler level.

Parameters
[in]GuidSearchTypeThe type of GUID passed in the Guid argument.
[in]GuidA pointer to the GUID of a PRM module or PRM handler. The actual GUID type will be interpreted based on the value passed in GuidSearchType.
[out]PrmModuleContextBuffersA pointer to a pointer that will be set to the PRM context buffers structure if successfully found.
Return values
EFI_SUCCESSThe PRM context buffers structure was found.
EFI_INVALID_PARAMETERA required parameter pointer is NULL.
EFI_NOT_FOUNDThe context buffers for the given GUID could not be found.

Definition at line 79 of file DxePrmContextBufferLib.c.