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

  Source: DEBUG_VS2015\X64\CpPlatPkg\Whea\WheaElog\WheaElog\DEBUG
  Build: HR6N0XMLK DEBUG_VS2015 X64

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __WHEAELOG_H__
#define __WHEAELOG_H__

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

//
// Function Prototypes
//

///
/// ModuleEntryPoint -- UEFI entry point / initialization function
///
EFI_STATUS
EFIAPI
ModuleEntryPoint(
  EFI_HANDLE        ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
);

///
/// InitializeContext
///
EFI_STATUS
EFIAPI
WheaElogInitializeContext(
  EFI_HANDLE        ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
);

///
/// Initialize
///
EFI_STATUS
EFIAPI
WheaElogInitialize(
  VOID
);

///
/// CleanupNotificationContext
///
EFI_STATUS
EFIAPI
WheaElogCleanupNotificationContext(
  VOID *WheaElogContext
);

///
/// CleanupNotificationEvent
///
EFI_STATUS
EFIAPI
WheaElogCleanupNotificationEvent(
  VOID *WheaElogContext,
  INT64 EventType
);

///
/// AssertHandler
///
EFI_STATUS
EFIAPI
WheaElogAssertHandler(
  const CHAR8 *FileName,
  UINTN        Line,
  const CHAR8 *Expression
);

///
/// ValidateState
///
EFI_STATUS
EFIAPI
WheaElogValidateState(
  VOID *WheaElogContext
);

#endif /* __WHEAELOG_H__ */
