/** @file
  SmbiosDataUpdateDxeNeonCityEPECB.h -- Header for SmbiosDataUpdateDxeNeonCityEPECB

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __SMBIOSDATAUPDATEDXENEONCITYEPECB_H__
#define __SMBIOSDATAUPDATEDXENEONCITYEPECB_H__

#include "../uefi_headers/Uefi.h"

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
SmbiosFreePool(
  VOID
);

EFI_STATUS
EFIAPI
SmbiosDataUpdateDxeEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
SmbiosDataUpdateEntry(
  VOID
);

EFI_STATUS
EFIAPI
SmbiosUpdateBoardTables(
  VOID
);

EFI_STATUS
EFIAPI
SmbiosConstructType9Slot(
  VOID
);

EFI_STATUS
EFIAPI
SmbiosConstructType17Memory(
  VOID
);

EFI_STATUS
EFIAPI
SmbiosConstructType41Device(
  VOID
);

EFI_STATUS
EFIAPI
SmbiosInstallTable(
  VOID
);

EFI_STATUS
EFIAPI
SmbiosGetPlatformLang(
  VOID
);

EFI_STATUS
EFIAPI
SmbiosNotifyEndOfType(
  VOID
);

EFI_STATUS
EFIAPI
SmbiosAssert(
  VOID
);

EFI_STATUS
EFIAPI
Globals(
  VOID
);

EFI_STATUS
EFIAPI
UEFI globals (from UefiBootServicesTableLib(
  VOID
);

EFI_STATUS
EFIAPI
gImageHandle    = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
platform SMBIOS configuration protocol(
  VOID
);

EFI_STATUS
EFIAPI
*gUbaPlatformSmbiosProtocol = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
handle for SMBIOS string packages(
  VOID
);

EFI_STATUS
EFIAPI
gSmbiosStringPackHandle = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
protocol interfaces(
  VOID
);

EFI_STATUS
EFIAPI
*gHiiDatabaseProtocol = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
protocol instance (locate on demand)(
  VOID
);

EFI_STATUS
EFIAPI
*gSmbiosProtocol     = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
*gMmPciBase          = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
list (HobLib)(
  VOID
);

EFI_STATUS
EFIAPI
*mHobList            = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
Component Name and Driver Binding - AutoGen(
  VOID
);

EFI_STATUS
EFIAPI
header: SmbiosDataUpdateDxeStrDefs.h(
  VOID
);

EFI_STATUS
EFIAPI
are populated by the build system (AutoGen.c).(
  VOID
);

EFI_STATUS
EFIAPI
path from build:(
  VOID
);

EFI_STATUS
EFIAPI
Function Wrappers(
  VOID
);

EFI_STATUS
EFIAPI
Point(
  VOID
);

EFI_STATUS
EFIAPI
UEFI globals for library compatibility(
  VOID
);

EFI_STATUS
EFIAPI
= ImageHandle;(
  VOID
);

EFI_STATUS
EFIAPI
HII Database Protocol(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->LocateProtocol ((
  VOID
);

EFI_STATUS
EFIAPI
HII String Protocol(
  VOID
);

EFI_STATUS
EFIAPI
HOB list pointer for HobLib(
  VOID
);

EFI_STATUS
EFIAPI
= EfiGetSystemConfigurationTable ((
  VOID
);

EFI_STATUS
EFIAPI
DxeServicesTable (gDS)(
  VOID
);

EFI_STATUS
EFIAPI
PciUsra protocol (Memory Mapped PCI config access)(
  VOID
);

EFI_STATUS
EFIAPI
(mPciUsra == NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS data update protocol with UBA(
  VOID
);

EFI_STATUS
EFIAPI
= SmbiosDataUpdateEntry (ImageHandle, SystemTable);(
  VOID
);

EFI_STATUS
EFIAPI
Data Update Entry(
  VOID
);

EFI_STATUS
EFIAPI
UBA platform SMBIOS configuration protocol from the(
  VOID
);

EFI_STATUS
EFIAPI
PEIM or DXE driver(
  VOID
);

EFI_STATUS
EFIAPI
platform GUID into the SMBIOS configuration table(
  VOID
);

EFI_STATUS
EFIAPI
((
  VOID
);

EFI_STATUS
EFIAPI
HII string packages for SMBIOS string references(
  VOID
);

EFI_STATUS
EFIAPI
= HiiAddPackages ((
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS table install parameters(
  VOID
);

EFI_STATUS
EFIAPI
(TableInstallParams, sizeof (TableInstallParams));(
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS protocol if not already found(
  VOID
);

EFI_STATUS
EFIAPI
(gSmbiosProtocol == NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
UBA board update function to install platform-specific SMBIOS tables(
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS table size(
  VOID
);

EFI_STATUS
EFIAPI
a reusable work buffer for SMBIOS structure construction(
  VOID
);

EFI_STATUS
EFIAPI
= SmbiosAllocateZeroPool (SmbiosTableBufferSize);(
  VOID
);

EFI_STATUS
EFIAPI
1: Install SMBIOS Type 9 (System Slots) - up to 30 entries(
  VOID
);

EFI_STATUS
EFIAPI
(Index = 0; Index < 30; Index++) {(
  VOID
);

EFI_STATUS
EFIAPI
end of type 9 table enumeration(
  VOID
);

EFI_STATUS
EFIAPI
(9);(
  VOID
);

EFI_STATUS
EFIAPI
2: Install SMBIOS Type 17 (Memory Devices) - up to 8 entries(
  VOID
);

EFI_STATUS
EFIAPI
(Index = 0; Index < 8; Index++) {(
  VOID
);

EFI_STATUS
EFIAPI
end of type 17 table enumeration(
  VOID
);

EFI_STATUS
EFIAPI
(41);(
  VOID
);

EFI_STATUS
EFIAPI
3: Install SMBIOS Type 41 (Onboard Devices) - up to 4 entries(
  VOID
);

EFI_STATUS
EFIAPI
(Index = 0; Index < 4; Index++) {(
  VOID
);

EFI_STATUS
EFIAPI
up work buffer(
  VOID
);

EFI_STATUS
EFIAPI
(SmbiosTableBuffer);(
  VOID
);

EFI_STATUS
EFIAPI
Type 9 (System Slots) Construction(
  VOID
);

EFI_STATUS
EFIAPI
0:  StringId=0x0002, Type=0x0B(x16), Width=0x04(x16)(
  VOID
);

EFI_STATUS
EFIAPI
1:(
  VOID
);

EFI_STATUS
EFIAPI
2:(
  VOID
);

EFI_STATUS
EFIAPI
3:(
  VOID
);

EFI_STATUS
EFIAPI
4:(
  VOID
);

EFI_STATUS
EFIAPI
5:(
  VOID
);

EFI_STATUS
EFIAPI
6:(
  VOID
);

EFI_STATUS
EFIAPI
7:(
  VOID
);

EFI_STATUS
EFIAPI
8:(
  VOID
);

EFI_STATUS
EFIAPI
9:(
  VOID
);

EFI_STATUS
EFIAPI
10:(
  VOID
);

EFI_STATUS
EFIAPI
11:(
  VOID
);

EFI_STATUS
EFIAPI
12:(
  VOID
);

EFI_STATUS
EFIAPI
13:(
  VOID
);

EFI_STATUS
EFIAPI
14:(
  VOID
);

EFI_STATUS
EFIAPI
15:(
  VOID
);

EFI_STATUS
EFIAPI
16:(
  VOID
);

EFI_STATUS
EFIAPI
17:(
  VOID
);

EFI_STATUS
EFIAPI
18:(
  VOID
);

EFI_STATUS
EFIAPI
19:(
  VOID
);

EFI_STATUS
EFIAPI
20:(
  VOID
);

EFI_STATUS
EFIAPI
21:(
  VOID
);

EFI_STATUS
EFIAPI
22:(
  VOID
);

EFI_STATUS
EFIAPI
23:(
  VOID
);

EFI_STATUS
EFIAPI
24:(
  VOID
);

EFI_STATUS
EFIAPI
25:(
  VOID
);

EFI_STATUS
EFIAPI
26:(
  VOID
);

EFI_STATUS
EFIAPI
27:(
  VOID
);

EFI_STATUS
EFIAPI
28:(
  VOID
);

EFI_STATUS
EFIAPI
29:(
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS header(
  VOID
);

EFI_STATUS
EFIAPI
= (SMBIOS_STRUCT_HEADER *)Buffer;(
  VOID
);

EFI_STATUS
EFIAPI
3.1 type 9 with segment/bus/devfunc(
  VOID
);

EFI_STATUS
EFIAPI
slot data from lookup table(
  VOID
);

EFI_STATUS
EFIAPI
= *(UINT16 *)&mSlotData[10 * Index];(
  VOID
);

EFI_STATUS
EFIAPI
type 9 fields(
  VOID
);

EFI_STATUS
EFIAPI
string(
  VOID
);

EFI_STATUS
EFIAPI
up slot designation string from HII(
  VOID
);

EFI_STATUS
EFIAPI
= SmbiosGetHiiString ((
  VOID
);

EFI_STATUS
EFIAPI
the slot designation string(
  VOID
);

EFI_STATUS
EFIAPI
Type 17 (Memory Device) Construction(
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS header: type 17 (Memory Device)(
  VOID
);

EFI_STATUS
EFIAPI
Channel 0 Slot 0: DIMM_A1(
  VOID
);

EFI_STATUS
EFIAPI
MemoryDevice->DataWidth   = 3;        // x72(
  VOID
);

EFI_STATUS
EFIAPI
MemoryDevice->FormFactor  = 9;        // DIMM(
  VOID
);

EFI_STATUS
EFIAPI
MemoryDevice->Speed       = 2133;(
  VOID
);

EFI_STATUS
EFIAPI
platform data(
  VOID
);

EFI_STATUS
EFIAPI
Channel 0 Slot 1: DIMM_A2(
  VOID
);

EFI_STATUS
EFIAPI
Channel 1 Slot 0: DIMM_B1(
  VOID
);

EFI_STATUS
EFIAPI
Channel 1 Slot 1: DIMM_B2(
  VOID
);

EFI_STATUS
EFIAPI
Channel 0 Slot 0: DIMM_C1(
  VOID
);

EFI_STATUS
EFIAPI
Channel 0 Slot 1: DIMM_C2(
  VOID
);

EFI_STATUS
EFIAPI
Channel 1 Slot 0: DIMM_D1(
  VOID
);

EFI_STATUS
EFIAPI
Channel 1 Slot 1: DIMM_D2(
  VOID
);

EFI_STATUS
EFIAPI
up the device locator string from HII(
  VOID
);

EFI_STATUS
EFIAPI
IDs: 28-35 for DIMM labels(
  VOID
);

EFI_STATUS
EFIAPI
string to SMBIOS structure(
  VOID
);

EFI_STATUS
EFIAPI
the bank locator string (second string)(
  VOID
);

EFI_STATUS
EFIAPI
Type 41 (Onboard Devices Extended Information) Construction(
  VOID
);

EFI_STATUS
EFIAPI
VGA controller(
  VOID
);

EFI_STATUS
EFIAPI
Network Controller 1(
  VOID
);

EFI_STATUS
EFIAPI
Network Controller 2(
  VOID
);

EFI_STATUS
EFIAPI
SATA Controller(
  VOID
);

EFI_STATUS
EFIAPI
Table Installation(
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS protocol if not already loaded(
  VOID
);

EFI_STATUS
EFIAPI
the SMBIOS table via the protocol's Add() function(
  VOID
);

EFI_STATUS
EFIAPI
= gSmbiosProtocol->Add ((
  VOID
);

EFI_STATUS
EFIAPI
String Retrieval(
  VOID
);

EFI_STATUS
EFIAPI
HII string protocol if needed(
  VOID
);

EFI_STATUS
EFIAPI
(gHiiStringProtocol == NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
call to get required buffer size (returns BUFFER_TOO_SMALL)(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
string buffer(
  VOID
);

EFI_STATUS
EFIAPI
= (EFI_STRING)AllocatePool (StringSize);(
  VOID
);

EFI_STATUS
EFIAPI
the string(
  VOID
);

EFI_STATUS
EFIAPI
= HiiString->GetString ((
  VOID
);

EFI_STATUS
EFIAPI
from UCS-2 to ASCII(
  VOID
);

EFI_STATUS
EFIAPI
= StringSize / sizeof (CHAR16) + 1;(
  VOID
);

EFI_STATUS
EFIAPI
Language Retrieval(
  VOID
);

EFI_STATUS
EFIAPI
required size for PlatformLang variable(
  VOID
);

EFI_STATUS
EFIAPI
= gRT->GetVariable ((
  VOID
);

EFI_STATUS
EFIAPI
and retrieve the value(
  VOID
);

EFI_STATUS
EFIAPI
Notify End-of-Type(
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS protocol notification interface allows drivers to(
  VOID
);

EFI_STATUS
EFIAPI
completion of table enumeration per type.(
  VOID
);

EFI_STATUS
EFIAPI
is typically a no-op on most firmware.(
  VOID
);

EFI_STATUS
EFIAPI
message display function (conditional on build flags).(
  VOID
);

EFI_STATUS
EFIAPI
formatted output to the UEFI debug console.(
  VOID
);

EFI_STATUS
EFIAPI
compiled out in RELEASE builds.(
  VOID
);

EFI_STATUS
EFIAPI
ASSERT support wrappers(
  VOID
);

EFI_STATUS
EFIAPI
into UEFI's DebugAssert via DebugLib(
  VOID
);

EFI_STATUS
EFIAPI
((EFI_D_ERROR, "ASSERT [%a]:%d: %a\n", FileName, LineNumber, Description));(
  VOID
);

#endif /* __SMBIOSDATAUPDATEDXENEONCITYEPECB_H__ */