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


Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __SMIFLASH_H__
#define __SMIFLASH_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
);

///
/// SmiFlashInitialize
/// Initializes SMM flash support and registers SMI handlers.
///
EFI_STATUS
EFIAPI
SmiFlashInitialize(
  VOID
);

///
/// SmiFlashDispatch
/// Core dispatch routine for flash programming/erase requests.
///
EFI_STATUS
EFIAPI
SmiFlashDispatch(
  EFI_HANDLE        ImageHandle,
  EFI_SYSTEM_TABLE  *SystemTable
);

///
/// SmiFlashCleanupOnError
/// Error-path cleanup handler.
///
EFI_STATUS
EFIAPI
SmiFlashCleanupOnError(
  VOID
);

#endif /* __SMIFLASH_H__ */
