2020-06-10 20:06:07 +02:00
|
|
|
/** @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>
|
|
|
|
|
2022-03-15 19:46:34 +01:00
|
|
|
#define APPLICATION_NAME L"PrmInfo"
|
2020-06-10 20:06:07 +02:00
|
|
|
|
2022-03-15 19:46:34 +01:00
|
|
|
#define PRM_HANDLER_CONTEXT_LIST_ENTRY_SIGNATURE SIGNATURE_32('P','R','H','E')
|
2020-06-10 20:06:07 +02:00
|
|
|
|
|
|
|
#pragma pack(push, 1)
|
|
|
|
|
|
|
|
typedef struct {
|
2022-03-15 19:46:34 +01:00
|
|
|
CHAR8 *Name;
|
|
|
|
EFI_GUID *Guid;
|
|
|
|
PRM_DATA_BUFFER *StaticDataBuffer;
|
|
|
|
CHAR8 *ModuleName;
|
|
|
|
PRM_HANDLER *Handler;
|
2020-06-10 20:06:07 +02:00
|
|
|
} PRM_HANDLER_CONTEXT;
|
|
|
|
|
|
|
|
typedef struct {
|
2022-03-15 19:46:34 +01:00
|
|
|
UINTN Signature;
|
|
|
|
LIST_ENTRY Link;
|
|
|
|
PRM_HANDLER_CONTEXT Context;
|
2020-06-10 20:06:07 +02:00
|
|
|
} 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)
|
|
|
|
|
2022-03-15 19:46:34 +01:00
|
|
|
#define ONE_MICROSECOND (1000)
|
|
|
|
#define ONE_MILLISECOND (1000 * ONE_MICROSECOND)
|
|
|
|
#define ONE_SECOND (1000 * ONE_MILLISECOND)
|
2020-06-10 20:06:07 +02:00
|
|
|
|
|
|
|
#endif
|