/** @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 #include #include #include #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