/** @file
PostScreenInfo.h -- Header for PostScreenInfo
Copyright (c) HR650X BIOS Decompilation Project
**/
#ifndef __POSTSCREENINFO_H__
#define __POSTSCREENINFO_H__
#include "../uefi_headers/Uefi.h"
//
// Function Prototypes
//
EFI_STATUS
EFIAPI
PostScreenCallback(
VOID
);
EFI_STATUS
EFIAPI
_ModuleEntryPoint(
VOID
);
EFI_STATUS
EFIAPI
ProcessLibraryConstructorList(
VOID
);
EFI_STATUS
EFIAPI
PostScreenDriverEntry(
VOID
);
EFI_STATUS
EFIAPI
PostScreenHiiInit(
VOID
);
EFI_STATUS
EFIAPI
PostScreenHiiRegister(
VOID
);
EFI_STATUS
EFIAPI
ShowPostScreenInfoBlock1(
VOID
);
EFI_STATUS
EFIAPI
ShowPostScreenInfoBlock2(
VOID
);
EFI_STATUS
EFIAPI
PostScreenMainEntry(
VOID
);
EFI_STATUS
EFIAPI
ShowPostScreenData(
VOID
);
EFI_STATUS
EFIAPI
PostScreenFormUpdate(
VOID
);
EFI_STATUS
EFIAPI
PostScreenServerSetup(
VOID
);
EFI_STATUS
EFIAPI
ProcessPostScreenBlocks(
VOID
);
EFI_STATUS
EFIAPI
PostScreenStringFormatter(
VOID
);
EFI_STATUS
EFIAPI
PostScreenDataValidation(
VOID
);
EFI_STATUS
EFIAPI
PostScreenNavigation(
VOID
);
EFI_STATUS
EFIAPI
PostScreenUiElementUpdate(
VOID
);
EFI_STATUS
EFIAPI
PostScreenProgressBar(
VOID
);
EFI_STATUS
EFIAPI
PostScreenLogoDisplay(
VOID
);
EFI_STATUS
EFIAPI
PostScreenKeyHandler(
VOID
);
EFI_STATUS
EFIAPI
PostScreenTimeoutHandler(
VOID
);
EFI_STATUS
EFIAPI
PostScreenTimeDateDisplay(
VOID
);
EFI_STATUS
EFIAPI
PostScreenCursorUpdate(
VOID
);
EFI_STATUS
EFIAPI
PostScreenOemStringHandler(
VOID
);
EFI_STATUS
EFIAPI
PostScreenVarInit(
VOID
);
EFI_STATUS
EFIAPI
PostScreenSetupData(
VOID
);
EFI_STATUS
EFIAPI
PostScreenConfigLoad(
VOID
);
EFI_STATUS
EFIAPI
PostScreenGuidInit(
VOID
);
EFI_STATUS
EFIAPI
PostScreenFormExit(
VOID
);
EFI_STATUS
EFIAPI
PostScreenTimerEvent(
VOID
);
EFI_STATUS
EFIAPI
PostScreenEventNotify(
VOID
);
EFI_STATUS
EFIAPI
PostScreenTimerStop(
VOID
);
EFI_STATUS
EFIAPI
PostScreenMemoryAlloc(
VOID
);
EFI_STATUS
EFIAPI
PostScreenMmioInit(
VOID
);
EFI_STATUS
EFIAPI
PostScreenStartImage(
VOID
);
EFI_STATUS
EFIAPI
PostScreenHiiExtract(
VOID
);
EFI_STATUS
EFIAPI
PostScreenUnload(
VOID
);
EFI_STATUS
EFIAPI
EfiDriverUnloadHandler(
VOID
);
EFI_STATUS
EFIAPI
DriverDiagnosticHandler(
VOID
);
EFI_STATUS
EFIAPI
OemUpdateFruInfo(
VOID
);
EFI_STATUS
EFIAPI
FruInitInterface(
VOID
);
EFI_STATUS
EFIAPI
FruHeaderProcessing(
VOID
);
EFI_STATUS
EFIAPI
FruDataParseAndUpdate(
VOID
);
EFI_STATUS
EFIAPI
FruDataValidation(
VOID
);
EFI_STATUS
EFIAPI
FruUpdateProcessor(
VOID
);
EFI_STATUS
EFIAPI
FruReadAndApplySettings(
VOID
);
EFI_STATUS
EFIAPI
FruStorageInterface(
VOID
);
EFI_STATUS
EFIAPI
FruDataCommit(
VOID
);
EFI_STATUS
EFIAPI
FruRecordParsing(
VOID
);
EFI_STATUS
EFIAPI
FruStringProcessing(
VOID
);
EFI_STATUS
EFIAPI
FruFieldExtractor(
VOID
);
EFI_STATUS
EFIAPI
FruDataLookup(
VOID
);
EFI_STATUS
EFIAPI
FruStringToValue(
VOID
);
EFI_STATUS
EFIAPI
FruChecksumCalc(
VOID
);
EFI_STATUS
EFIAPI
FruCrcValidation(
VOID
);
EFI_STATUS
EFIAPI
FruWriteToStorage(
VOID
);
EFI_STATUS
EFIAPI
FruMemoryFree(
VOID
);
EFI_STATUS
EFIAPI
FruDataCopy(
VOID
);
EFI_STATUS
EFIAPI
UpdateOCPDeviceInfoToFru(
VOID
);
EFI_STATUS
EFIAPI
DebugAssertPrint(
VOID
);
EFI_STATUS
EFIAPI
DebugAssertBreak(
VOID
);
EFI_STATUS
EFIAPI
variable definitions(
VOID
);
EFI_STATUS
EFIAPI
gImageHandle = NULL;(
VOID
);
EFI_STATUS
EFIAPI
data area (0xCA20 - 0xCB20 in .data section)(
VOID
);
EFI_STATUS
EFIAPI
*SystemTable = NULL; // qword_CA20(
VOID
);
EFI_STATUS
EFIAPI
//(
VOID
);
EFI_STATUS
EFIAPI
Config Access protocol instance(
VOID
);
EFI_STATUS
EFIAPI
gPostScreenHiiConfigAccess;(
VOID
);
EFI_STATUS
EFIAPI
declarations(
VOID
);
EFI_STATUS
EFIAPI
EFIAPI(
VOID
);
EFI_STATUS
EFIAPI
definitions for HII form(
VOID
);
EFI_STATUS
EFIAPI
gPostScreenFormSetGuid = { 0x12345678, 0x9ABC, 0xDEF0, { 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0 } };(
VOID
);
EFI_STATUS
EFIAPI
GUID for HII Config Access(
VOID
);
EFI_STATUS
EFIAPI
gPostScreenConfigAccessGuid = { 0x87654321, 0xCBAD, 0x0FED, { 0x21, 0x43, 0x65, 0x87, 0xA9, 0xCB, 0xED, 0x0F } };(
VOID
);
EFI_STATUS
EFIAPI
for MMIO PCI USRA(
VOID
);
EFI_STATUS
EFIAPI
gMmPciUsraGuid = { 0xC0B8, 0x11, 0x22, { 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA } };(
VOID
);
EFI_STATUS
EFIAPI
for HII package list(
VOID
);
EFI_STATUS
EFIAPI
gPostScreenHiiPackageGuid = { 0xBF20, 0x11, 0x22, { 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA } };(
VOID
);
EFI_STATUS
EFIAPI
for DXE services table(
VOID
);
EFI_STATUS
EFIAPI
gEfiDxeServicesTableGuid = { 0x5AD34BA, 0xFF0, 0x11, { 0xD2, 0x8F, 0x0, 0xA0, 0xC9, 0x69, 0x72, 0x3B } };(
VOID
);
EFI_STATUS
EFIAPI
for HII platform setup formset(
VOID
);
EFI_STATUS
EFIAPI
gEfiHiiPlatformSetupFormsetGuid = { 0x978, 0x11, 0x22, { 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA } };(
VOID
);
EFI_STATUS
EFIAPI
Entry Point(
VOID
);
EFI_STATUS
EFIAPI
(ProcessLibraryConstructorList) called by C runtime init(
VOID
);
EFI_STATUS
EFIAPI
(PostScreenDriverEntry) is the driver's main function(
VOID
);
EFI_STATUS
EFIAPI
Constructors (Auto-generated by EDK2 build system)(
VOID
);
EFI_STATUS
EFIAPI
__int64 v4; // rbx(
VOID
);
EFI_STATUS
EFIAPI
__int64 result; // rax(
VOID
);
EFI_STATUS
EFIAPI
Entry(
VOID
);
EFI_STATUS
EFIAPI
__int64 v3; // rax(
VOID
);
EFI_STATUS
EFIAPI
__int64 v5; // rdx(
VOID
);
EFI_STATUS
EFIAPI
__int64 result; // rax(
VOID
);
EFI_STATUS
EFIAPI
char v12; // [rsp+28h] [rbp-D8h](
VOID
);
EFI_STATUS
EFIAPI
the HII Config Access protocol and HII form(
VOID
);
EFI_STATUS
EFIAPI
= gDriverHandle;(
VOID
);
EFI_STATUS
EFIAPI
Initialization and Registration(
VOID
);
EFI_STATUS
EFIAPI
HII package list with string, form, and image packages(
VOID
);
EFI_STATUS
EFIAPI
with gHiiDatabase->NewPackageList()(
VOID
);
EFI_STATUS
EFIAPI
up IFR opcodes for POST screen form display(
VOID
);
EFI_STATUS
EFIAPI
EFI_BROWSER_ACTION_CHANGING and EFI_BROWSER_ACTION_CHANGED(
VOID
);
EFI_STATUS
EFIAPI
to PostScreenFormUpdate, PostScreenServerSetup, etc.(
VOID
);
EFI_STATUS
EFIAPI
OEM-specific QuestionIds for UBA callbacks(
VOID
);
EFI_STATUS
EFIAPI
HII package list from raw binary data(
VOID
);
EFI_STATUS
EFIAPI
with NewPackageList(
VOID
);
EFI_STATUS
EFIAPI
Screen Display Functions(
VOID
);
EFI_STATUS
EFIAPI
system identity info on the POST screen(
VOID
);
EFI_STATUS
EFIAPI
model, BIOS version, BMC firmware version(
VOID
);
EFI_STATUS
EFIAPI
component info: CPU speed/core count, memory size/type(
VOID
);
EFI_STATUS
EFIAPI
device enumeration status(
VOID
);
EFI_STATUS
EFIAPI
through POST screen blocks and displays each(
VOID
);
EFI_STATUS
EFIAPI
ShowPostScreenInfoBlock1 and ShowPostScreenInfoBlock2(
VOID
);
EFI_STATUS
EFIAPI
timeout and keyboard input during display(
VOID
);
EFI_STATUS
EFIAPI
Entry array, calls HiiSetString and sends output to GOP(
VOID
);
EFI_STATUS
EFIAPI
entry is a category-value pair rendered as text on screen(
VOID
);
EFI_STATUS
EFIAPI
byte at offset 610 to determine display flags(
VOID
);
EFI_STATUS
EFIAPI
gPostScreenConfig.DisplayFlags accordingly(
VOID
);
EFI_STATUS
EFIAPI
PrintLib to format and display strings(
VOID
);
EFI_STATUS
EFIAPI
alignment, truncation, and line wrapping(
VOID
);
EFI_STATUS
EFIAPI
progress bar and status text on POST screen(
VOID
);
EFI_STATUS
EFIAPI
PostScreenProgressBar() for visual bar update(
VOID
);
EFI_STATUS
EFIAPI
HiiSetString() for status message update(
VOID
);
EFI_STATUS
EFIAPI
progress bar using GOP Block(
VOID
);
EFI_STATUS
EFIAPI
bar proportional to Percent value(
VOID
);
EFI_STATUS
EFIAPI
Graphics Output Protocol (GOP)(
VOID
);
EFI_STATUS
EFIAPI
logo image from HII package(
VOID
);
EFI_STATUS
EFIAPI
to center of screen(
VOID
);
EFI_STATUS
EFIAPI
on-screen countdown timer(
VOID
);
EFI_STATUS
EFIAPI
current time from gRT->GetTime()(
VOID
);
EFI_STATUS
EFIAPI
and displays on POST screen(
VOID
);
EFI_STATUS
EFIAPI
cursor position on POST screen console(
VOID
);
EFI_STATUS
EFIAPI
and displays OEM-specific strings(
VOID
);
EFI_STATUS
EFIAPI
ASCII/Unicode conversion if needed(
VOID
);
EFI_STATUS
EFIAPI
Screen State Management(
VOID
);
EFI_STATUS
EFIAPI
POST screen config from NVRAM variables(
VOID
);
EFI_STATUS
EFIAPI
gPostScreenConfig with stored values(
VOID
);
EFI_STATUS
EFIAPI
back to defaults if variable doesn't exist(
VOID
);
EFI_STATUS
EFIAPI
boot to continue(
VOID
);
EFI_STATUS
EFIAPI
timer callback for POST screen updates(
VOID
);
EFI_STATUS
EFIAPI
timeout counter(
VOID
);
EFI_STATUS
EFIAPI
screen display(
VOID
);
EFI_STATUS
EFIAPI
/ Protocol Init(
VOID
);
EFI_STATUS
EFIAPI
PCIe MMIO configuration space access(
VOID
);
EFI_STATUS
EFIAPI
USRA protocol for processor-specific MMIO addressing(
VOID
);
EFI_STATUS
EFIAPI
protocol interfaces to make the HII form visible(
VOID
);
EFI_STATUS
EFIAPI
Unload and Diagnostics(
VOID
);
EFI_STATUS
EFIAPI
protocols, frees memory, closes events(
VOID
);
EFI_STATUS
EFIAPI
UEFI driver unload stub(
VOID
);
EFI_STATUS
EFIAPI
(Field Replaceable Unit) Operations(
VOID
);
EFI_STATUS
EFIAPI
FRU update sequence:(
VOID
);
EFI_STATUS
EFIAPI
Debug Library Helpers(
VOID
);
#endif /* __POSTSCREENINFO_H__ */