/** @file
UbaConfigDatabasePei.h -- Header for UbaConfigDatabasePei
Copyright (c) HR650X BIOS Decompilation Project
**/
#ifndef __UBACONFIGDATABASEPEI_H__
#define __UBACONFIGDATABASEPEI_H__
#include "../uefi_headers/Uefi.h"
//
// Function Prototypes
//
EFI_STATUS
EFIAPI
PeiDebugPrint(
VOID
);
EFI_STATUS
EFIAPI
PeiDebugAssert(
VOID
);
EFI_STATUS
EFIAPI
CfgDbLibGetNodeSignature(
VOID
);
EFI_STATUS
EFIAPI
CfgDbLibInitNode(
VOID
);
EFI_STATUS
EFIAPI
CfgDbLibAdjustOffsets(
VOID
);
EFI_STATUS
EFIAPI
CfgDbLibFixupRelocation(
VOID
);
EFI_STATUS
EFIAPI
CfgDbPeiGetDatabase(
VOID
);
EFI_STATUS
EFIAPI
CfgDbLibGetRecord(
VOID
);
EFI_STATUS
EFIAPI
CfgDbLibFindRecord(
VOID
);
EFI_STATUS
EFIAPI
CfgDbLibAddRecord(
VOID
);
EFI_STATUS
EFIAPI
CfgDbLibGetData(
VOID
);
EFI_STATUS
EFIAPI
CfgDbLibBuildHob(
VOID
);
EFI_STATUS
EFIAPI
CfgDbHobNotify(
VOID
);
EFI_STATUS
EFIAPI
CfgDbNotifyCreateDb(
VOID
);
EFI_STATUS
EFIAPI
CfgDbLibInitNodeAndRelocate(
VOID
);
EFI_STATUS
EFIAPI
CfgDbNotifyGetInfo(
VOID
);
EFI_STATUS
EFIAPI
CfgDbNotifyAddRecord(
VOID
);
EFI_STATUS
EFIAPI
CfgDbNotifyFindKey(
VOID
);
EFI_STATUS
EFIAPI
CfgDbPeimEntry(
VOID
);
EFI_STATUS
EFIAPI
ModuleEntryPoint(
VOID
);
EFI_STATUS
EFIAPI
Database helper functions(
VOID
);
EFI_STATUS
EFIAPI
is a UBA_CFG_DB_RECORD; get count from container(
VOID
);
EFI_STATUS
EFIAPI
= (UBA_CFG_DB_NODE *)((UINT8 *)Record - OFFSET_OF (UBA_CFG_DB_RECORD, ListEntry));(
VOID
);
EFI_STATUS
EFIAPI
if DbName is actually a record; resolve to the container node(
VOID
);
EFI_STATUS
EFIAPI
= (UBA_CFG_DB_RECORD *)DbName;(
VOID
);
EFI_STATUS
EFIAPI
the database pointer in the original node(
VOID
);
EFI_STATUS
EFIAPI
(Container Record) macros(
VOID
);
EFI_STATUS
EFIAPI
adjust if the relocation hasn't been applied yet(
VOID
);
EFI_STATUS
EFIAPI
(Record->Type != (UINT32)(UINTN)NodeBase) {(
VOID
);
EFI_STATUS
EFIAPI
found as standalone - resolved via PPI pointer(
VOID
);
EFI_STATUS
EFIAPI
copy pool for the data(
VOID
);
EFI_STATUS
EFIAPI
field still set but data=0 - proceed(
VOID
);
EFI_STATUS
EFIAPI
the GUID key(
VOID
);
EFI_STATUS
EFIAPI
(&NewRecord->Guid, Src, sizeof (GUID));(
VOID
);
EFI_STATUS
EFIAPI
into linked list(
VOID
);
EFI_STATUS
EFIAPI
(&DbNode->RecordListHead, &NewRecord->ListEntry);(
VOID
);
EFI_STATUS
EFIAPI
type counter(
VOID
);
EFI_STATUS
EFIAPI
notification PPI for the added record(
VOID
);
EFI_STATUS
EFIAPI
signature(
VOID
);
EFI_STATUS
EFIAPI
(Record->Signature != UBA_CFG_DB_SIGNATURE) {(
VOID
);
EFI_STATUS
EFIAPI
total HOB size:(
VOID
);
EFI_STATUS
EFIAPI
= sizeof (UBA_CFG_DB_HOB) + DbNode->RecordCount * sizeof (UBA_CFG_DB_HOB_RECORD);(
VOID
);
EFI_STATUS
EFIAPI
the HOB(
VOID
);
EFI_STATUS
EFIAPI
= (UBA_CFG_DB_HOB *)BuildGuidHob (HobGuid, HobSize);(
VOID
);
EFI_STATUS
EFIAPI
HOB header(
VOID
);
EFI_STATUS
EFIAPI
record array and data payload(
VOID
);
EFI_STATUS
EFIAPI
= (UBA_CFG_DB_HOB_RECORD *)((UINT8 *)HobData + sizeof (UBA_CFG_DB_HOB));(
VOID
);
EFI_STATUS
EFIAPI
the database node(
VOID
);
EFI_STATUS
EFIAPI
= (UBA_CFG_DB_RECORD *)((UBA_CFG_DB_PPI *)Ppi)->Database;(
VOID
);
EFI_STATUS
EFIAPI
callbacks for the PPI protocol(
VOID
);
EFI_STATUS
EFIAPI
EFIAPI(
VOID
);
EFI_STATUS
EFIAPI
entry point(
VOID
);
EFI_STATUS
EFIAPI
the database node (0x3C = sizeof(UBA_CFG_DB_NODE))(
VOID
);
EFI_STATUS
EFIAPI
= (UBA_CFG_DB_PPI *)PeiServicesAllocateZeroPool (sizeof (UBA_CFG_DB_NODE));(
VOID
);
EFI_STATUS
EFIAPI
the PPI structure(
VOID
);
EFI_STATUS
EFIAPI
at offset 0-3(
VOID
);
EFI_STATUS
EFIAPI
// Database pointer filled by CfgDbLibInitNodeAndRelocate(
VOID
);
EFI_STATUS
EFIAPI
table:(
VOID
);
EFI_STATUS
EFIAPI
descriptor for installation(
VOID
);
EFI_STATUS
EFIAPI
= (UINT32 *)PeiServicesAllocateZeroPool (sizeof (EFI_PEI_PPI_DESCRIPTOR));(
VOID
);
EFI_STATUS
EFIAPI
used(
VOID
);
EFI_STATUS
EFIAPI
the PPI(
VOID
);
EFI_STATUS
EFIAPI
= GetPeiServices ();(
VOID
);
EFI_STATUS
EFIAPI
notification PPI for HOB serialization(
VOID
);
EFI_STATUS
EFIAPI
= ((EFI_PEI_SERVICES **)GetPeiServices ())->NotifyPpi ((
VOID
);
#endif /* __UBACONFIGDATABASEPEI_H__ */