UINT8 Data[1];\r
} SMM_FTW_GET_LAST_WRITE_HEADER;\r
\r
+/**\r
+ Shared entry point of the module\r
+\r
+ @retval EFI_SUCCESS The initialization finished successfully.\r
+ @retval EFI_OUT_OF_RESOURCES Allocate memory error\r
+ @retval EFI_INVALID_PARAMETER Workspace or Spare block does not exist\r
+\r
+**/\r
+EFI_STATUS\r
+MmFaultTolerantWriteInitialize (\r
+ VOID\r
+ );\r
+\r
+/**\r
+ This function checks if the buffer is valid per processor architecture and\r
+ does not overlap with SMRAM.\r
+\r
+ @param Buffer The buffer start address to be checked.\r
+ @param Length The buffer length to be checked.\r
+\r
+ @retval TRUE This buffer is valid per processor architecture and does not\r
+ overlap with SMRAM.\r
+ @retval FALSE This buffer is not valid per processor architecture or overlaps\r
+ with SMRAM.\r
+**/\r
+BOOLEAN\r
+FtwSmmIsBufferOutsideSmmValid (\r
+ IN EFI_PHYSICAL_ADDRESS Buffer,\r
+ IN UINT64 Length\r
+ );\r
+\r
+/**\r
+ Notify the system that the SMM FTW driver is ready\r
+**/\r
+VOID\r
+FtwNotifySmmReady (\r
+ VOID\r
+ );\r
+\r
#endif\r