50VOID *mFvbRegistration =
NULL;
73 return gBS->HandleProtocol (
75 &gEfiFirmwareVolumeBlockProtocolGuid,
92 OUT VOID **SarProtocol
100 Status =
gBS->LocateProtocol (
101 &gEfiSwapAddressRangeProtocolGuid,
134 Status =
gBS->LocateHandleBuffer (
136 &gEfiFirmwareVolumeBlockProtocolGuid,
166 Status =
gBS->LocateProtocol (
167 &gEfiFaultTolerantWriteProtocolGuid,
169 (VOID **)&FtwProtocol
171 if (!EFI_ERROR (Status)) {
180 if (EFI_ERROR (Status)) {
187 Status =
gBS->InstallProtocolInterface (
189 &gEfiFaultTolerantWriteProtocolGuid,
191 &FtwDevice->FtwInstance
195 Status =
gBS->CloseEvent (Event);
228 if (EFI_ERROR (Status)) {
236 &gEfiFirmwareVolumeBlockProtocolGuid,
270 Status =
gBS->CalculateCrc32 (Buffer, Length, &ReturnValue);
EFI_STATUS FtwGetSarProtocol(OUT VOID **SarProtocol)
EFI_STATUS EFIAPI FaultTolerantWriteInitialize(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
VOID EFIAPI FvbNotificationEvent(IN EFI_EVENT Event, IN VOID *Context)
UINT32 FtwCalculateCrc32(IN VOID *Buffer, IN UINTN Length)
EFI_STATUS GetFvbCountAndBuffer(OUT UINTN *NumberHandles, OUT EFI_HANDLE **Buffer)
EFI_STATUS FtwGetFvbByHandle(IN EFI_HANDLE FvBlockHandle, OUT EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL **FvBlock)
#define ASSERT_EFI_ERROR(StatusParameter)
EFI_EVENT EFIAPI EfiCreateProtocolNotifyEvent(IN EFI_GUID *ProtocolGuid, IN EFI_TPL NotifyTpl, IN EFI_EVENT_NOTIFY NotifyFunction, IN VOID *NotifyContext OPTIONAL, OUT VOID **Registration)
EFI_STATUS InitFtwDevice(OUT EFI_FTW_DEVICE **FtwData)
EFI_STATUS InitFtwProtocol(IN OUT EFI_FTW_DEVICE *FtwDevice)