mirror of https://github.com/acidanthera/audk.git
61 lines
2.2 KiB
C
61 lines
2.2 KiB
C
/** @file
|
|
|
|
The PRM Module Discovery library provides functionality to discover PRM modules installed by platform firmware.
|
|
|
|
Copyright (c) Microsoft Corporation
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef PRM_MODULE_DISCOVERY_LIB_H_
|
|
#define PRM_MODULE_DISCOVERY_LIB_H_
|
|
|
|
#include <Base.h>
|
|
#include <PrmContextBuffer.h>
|
|
#include <PrmModuleImageContext.h>
|
|
#include <Uefi.h>
|
|
|
|
/**
|
|
Gets the next PRM module discovered after the given PRM module.
|
|
|
|
@param[in,out] ModuleImageContext A pointer to a pointer to a PRM module image context structure.
|
|
|
|
@retval EFI_SUCCESS The next PRM module was found successfully.
|
|
@retval EFI_INVALID_PARAMETER The given ModuleImageContext structure is invalid or the pointer is NULL.
|
|
@retval EFI_NOT_FOUND The next PRM module was not found.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
GetNextPrmModuleEntry (
|
|
IN OUT PRM_MODULE_IMAGE_CONTEXT **ModuleImageContext
|
|
);
|
|
|
|
/**
|
|
Discovers all PRM Modules loaded during boot.
|
|
|
|
Each PRM Module discovered is placed into a linked list so the list can br processsed in the future.
|
|
|
|
@param[out] ModuleCount An optional pointer parameter that, if provided, is set to the number
|
|
of PRM modules discovered.
|
|
@param[out] HandlerCount An optional pointer parameter that, if provided, is set to the number
|
|
of PRM handlers discovered.
|
|
|
|
@retval EFI_SUCCESS All PRM Modules were discovered successfully.
|
|
@retval EFI_INVALID_PARAMETER An actual pointer parameter was passed as NULL.
|
|
@retval EFI_NOT_FOUND The gEfiLoadedImageProtocolGuid protocol could not be found.
|
|
@retval EFI_OUT_OF_RESOURCES Insufficient memory resources to allocate the new PRM Context
|
|
linked list nodes.
|
|
@retval EFI_ALREADY_STARTED The function was called previously and already discovered the PRM modules
|
|
loaded on this boot.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
DiscoverPrmModules (
|
|
OUT UINTN *ModuleCount OPTIONAL,
|
|
OUT UINTN *HandlerCount OPTIONAL
|
|
);
|
|
|
|
#endif
|