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

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __SETUPCONFIGUPDATEDXENEONCITYEPRP_H__
#define __SETUPCONFIGUPDATEDXENEONCITYEPRP_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
EfiGetLastErrorCode(
  VOID
);

EFI_STATUS
EFIAPI
DebugPrint(
  VOID
);

EFI_STATUS
EFIAPI
DebugAssert(
  VOID
);

EFI_STATUS
EFIAPI
GuidCompare(
  VOID
);

EFI_STATUS
EFIAPI
ReadUnalignedQword(
  VOID
);

EFI_STATUS
EFIAPI
ModuleEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
data(
  VOID
);

EFI_STATUS
EFIAPI
debug-level storage (data segment at 0xBC8)(
  VOID
);

EFI_STATUS
EFIAPI
gCmosDebugLevel;(
  VOID
);

EFI_STATUS
EFIAPI
// ---------------------------------------------------------------------------(
  VOID
);

EFI_STATUS
EFIAPI
pool header check - verify pool allocation size <= 0x10(
  VOID
);

EFI_STATUS
EFIAPI
is a standard UEFI memory allocation guard(
  VOID
);

EFI_STATUS
EFIAPI
= (UINT64)gBS->AllocatePool (EfiBootServicesData, 31);(
  VOID
);

EFI_STATUS
EFIAPI
CMOS diagnostic register at index 0x4B via RTC ports 0x70/0x71(
  VOID
);

EFI_STATUS
EFIAPI
(RTC_INDEX_PORT, IoRead8 (RTC_INDEX_PORT) & 0x80 | CMOS_DIAG_ADDR);(
  VOID
);

EFI_STATUS
EFIAPI
debug level; handle special values(
  VOID
);

EFI_STATUS
EFIAPI
(DebugLevel > 3) {(
  VOID
);

EFI_STATUS
EFIAPI
level 0: read hardware strap from memory-mapped GPIO(
  VOID
);

EFI_STATUS
EFIAPI
= (*(volatile UINT8 *)(UINTN)0xFDAF0490) & 2 | 1;(
  VOID
);

EFI_STATUS
EFIAPI
enabled error masks based on debug level(
  VOID
);

EFI_STATUS
EFIAPI
((DebugLevel - 1) <= 0xFD) {(
  VOID
);

EFI_STATUS
EFIAPI
level >= 1: standard masks apply(
  VOID
);

EFI_STATUS
EFIAPI
(DebugLevel == 1) {(
  VOID
);

EFI_STATUS
EFIAPI
| EFI_D_INIT(
  VOID
);

EFI_STATUS
EFIAPI
| EFI_D_INIT | broader(
  VOID
);

EFI_STATUS
EFIAPI
the protocol's DebugPrint function if error level matches(
  VOID
);

EFI_STATUS
EFIAPI
((EnabledMask & ErrorLevel) != 0) {(
  VOID
);

EFI_STATUS
EFIAPI
matching HOB GUID(
  VOID
);

EFI_STATUS
EFIAPI
= *(VOID **)(*(UINT64 *)(SystemTable + 112) + 24 * Index + 16);(
  VOID
);

EFI_STATUS
EFIAPI
match found: ASSERT(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_ERROR, L"\nASSERT_EFI_ERROR (Status = %r)\n", EFI_ALREADY_STARTED);(
  VOID
);

EFI_STATUS
EFIAPI
UEFI driver initialization: save ImageHandle and SystemTable(
  VOID
);

EFI_STATUS
EFIAPI
= (UINT64)ImageHandle;(
  VOID
);

EFI_STATUS
EFIAPI
HOB list(
  VOID
);

EFI_STATUS
EFIAPI
();(
  VOID
);

EFI_STATUS
EFIAPI
debug message for this driver(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
the SetupConfig protocol(
  VOID
);

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

EFI_STATUS
EFIAPI
notification callback for SetupConfig updates(
  VOID
);

EFI_STATUS
EFIAPI
protocol at offset +16 (notify function) is called with:(
  VOID
);

EFI_STATUS
EFIAPI
((EFI_STATUS (EFIAPI *)(VOID *, VOID *, VOID *, UINTN))((
  VOID
);

#endif /* __SETUPCONFIGUPDATEDXENEONCITYEPRP_H__ */