| /** @file | |
| Prints information about the PRM configuration loaded by the system firmware. | |
| Copyright (C) Microsoft Corporation. All rights reserved. | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef PRM_INFO_H_ | |
| #define PRM_INFO_H_ | |
| #include <Base.h> | |
| #include <Prm.h> | |
| #include <PrmDataBuffer.h> | |
| #include <Uefi.h> | |
| #define APPLICATION_NAME L"PrmInfo" | |
| #define PRM_HANDLER_CONTEXT_LIST_ENTRY_SIGNATURE SIGNATURE_32('P','R','H','E') | |
| #pragma pack(push, 1) | |
| typedef struct { | |
| CHAR8 *Name; | |
| EFI_GUID *Guid; | |
| PRM_DATA_BUFFER *StaticDataBuffer; | |
| CHAR8 *ModuleName; | |
| PRM_HANDLER *Handler; | |
| } PRM_HANDLER_CONTEXT; | |
| typedef struct { | |
| UINTN Signature; | |
| LIST_ENTRY Link; | |
| PRM_HANDLER_CONTEXT Context; | |
| } PRM_HANDLER_CONTEXT_LIST_ENTRY; | |
| #pragma pack(pop) | |
| // | |
| // Iterate through the double linked list. NOT delete safe. | |
| // | |
| #define EFI_LIST_FOR_EACH(Entry, ListHead) \ | |
| for(Entry = (ListHead)->ForwardLink; Entry != (ListHead); Entry = Entry->ForwardLink) | |
| #define ONE_MICROSECOND (1000) | |
| #define ONE_MILLISECOND (1000 * ONE_MICROSECOND) | |
| #define ONE_SECOND (1000 * ONE_MILLISECOND) | |
| #endif |