17#include <Library/BaseLib.h>
18#include <Library/BaseMemoryLib.h>
19#include <Library/BaseOverflowLib.h>
20#include <Library/DebugLib.h>
21#include <Library/MemoryAllocationLib.h>
22#include <Library/UefiBootServicesTableLib.h>
25#include <Guid/FileInfo.h>
37 IN EFI_GUID *Protocol,
42 EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *FileSystem;
49 if (!EFI_ERROR (Status)) {
50 *Interface = FileSystem;
59 IN EFI_GUID *Protocol,
67 if (!EFI_ERROR (Status) && (Interface != NULL) && (
mEntranceCount == 0)) {
80 IN EFI_GUID *Protocol,
81 IN VOID *Registration OPTIONAL,
89 if (!EFI_ERROR (Status) && (Interface != NULL) && (
mEntranceCount == 0)) {
100 IN OUT EFI_BOOT_SERVICES *BootServices,
101 IN EFI_FILE_OPEN OpenCallback
107 return EFI_ALREADY_STARTED;
118 BootServices->Hdr.CRC32 = 0;
119 BootServices->CalculateCrc32 (BootServices, BootServices->Hdr.HeaderSize, &BootServices->Hdr.CRC32);
126 IN OUT EFI_BOOT_SERVICES *BootServices
132 return EFI_ALREADY_STARTED;
140 BootServices->Hdr.CRC32 = 0;
141 BootServices->CalculateCrc32 (BootServices, BootServices->Hdr.HeaderSize, &BootServices->Hdr.CRC32);
APPLE_EVENT_HANDLE Handle
EFI_STATUS CreateVirtualFs(IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *OriginalFileSystem, IN EFI_FILE_OPEN OpenCallback, OUT EFI_SIMPLE_FILE_SYSTEM_PROTOCOL **NewFileSystem)
BOOLEAN EFIAPI CompareGuid(IN CONST GUID *Guid1, IN CONST GUID *Guid2)
EFI_GUID gEfiSimpleFileSystemProtocolGuid
STATIC VOID VirtualFsWrapProtocol(IN EFI_GUID *Protocol, OUT VOID **Interface)
STATIC EFI_LOCATE_PROTOCOL mOriginalLocateProtocol
STATIC EFI_STATUS EFIAPI VirtualFsHandleProtocol(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, OUT VOID **Interface)
STATIC EFI_HANDLE_PROTOCOL mOriginalHandleProtocol
STATIC EFI_STATUS EFIAPI VirtualFsLocateProtocol(IN EFI_GUID *Protocol, IN VOID *Registration OPTIONAL, OUT VOID **Interface)
STATIC UINT32 mEntranceCount
EFI_STATUS DisableVirtualFs(IN OUT EFI_BOOT_SERVICES *BootServices)
STATIC EFI_FILE_OPEN mOpenCallback
EFI_STATUS EnableVirtualFs(IN OUT EFI_BOOT_SERVICES *BootServices, IN EFI_FILE_OPEN OpenCallback)