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


Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __SMMTCGSTORAGESEC_H__
#define __SMMTCGSTORAGESEC_H__

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

//
// Function Prototypes
//

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

///
/// Initialize image/table context for SMM TCG storage security.
///
EFI_STATUS
EFIAPI
TcgStorageSecurityInit(
  IN EFI_HANDLE       ImageHandle,
  IN EFI_SYSTEM_TABLE *SystemTable
);

///
/// Run the core TCG storage command processing pipeline.
///
EFI_STATUS
EFIAPI
TcgStorageSecurityProcessCommands(
  VOID
);

///
/// Handle initialization error cleanup for TCG storage security setup.
///
EFI_STATUS
EFIAPI
TcgStorageSecurityHandleInitializeError(
  VOID
);

/**
  Compatibility aliases retained for symbol-forensics continuity.
*/
#define sub_53C                 TcgStorageSecurityInit
#define sub_A9C                 TcgStorageSecurityProcessCommands
#define sub_9D8                 TcgStorageSecurityHandleInitializeError

#endif /* __SMMTCGSTORAGESEC_H__ */
