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


Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __EMCAERRORLOG_H__
#define __EMCAERRORLOG_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
);

///
/// EmcaErrorLogInitialize -- prepares EMCA error log support structures and globals
///
EFI_STATUS
EFIAPI
EmcaErrorLogInitialize(
  EFI_HANDLE ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
);

///
/// EmcaErrorLogEnable -- core error logging path and SMI handler registration
///
EFI_STATUS
EFIAPI
EmcaErrorLogEnable(
  EFI_HANDLE ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
);

///
/// EmcaErrorLogRollback -- cleanup path if initialization fails
///
EFI_STATUS
EFIAPI
EmcaErrorLogRollback(
  EFI_HANDLE ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
);

#endif /* __EMCAERRORLOG_H__ */
