/** @file Simple File System overrides module. By dmazar, 01/02/2014 **/ #ifndef __DMP_FS_H__ #define __DMP_FS_H__ /** * Our EFI_SIMPLE_FILE_SYSTEM_PROTOCOL private structure */ typedef struct { UINT64 Signature; // identification signature EFI_SIMPLE_FILE_SYSTEM_PROTOCOL Fs; // public EFI_SIMPLE_FILE_SYSTEM_PROTOCOL EFI_HANDLE *Handle; // handle we are attached to EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *OrigFs; // original FS we are replacing } DUC_SIMPLE_FILE_SYSTEM_PROTOCOL; /** Signature for DUC_SIMPLE_FILE_SYSTEM_PROTOCOL */ #define DUC_SIMPLE_FILE_SYSTEM_PROTOCOL_SIGNATURE SIGNATURE_32('d', 'u', 'f', 's') /** Macro to access DUC_SIMPLE_FILE_SYSTEM_PROTOCOL from public Fs */ #define DUC_FROM_SIMPLE_FILE_SYSTEM(a) CR (a, DUC_SIMPLE_FILE_SYSTEM_PROTOCOL, Fs, DUC_SIMPLE_FILE_SYSTEM_PROTOCOL_SIGNATURE) /** * Our EFI_FILE_PROTOCOL private structure. */ typedef struct { UINT64 Signature; // identification signature EFI_FILE_PROTOCOL Fp; // public EFI_FILE_PROTOCOL CHAR16 *FName; // file name this structure represents EFI_FILE_PROTOCOL *OrigFp; // target EFI_FILE_PROTOCOL } DUC_FILE_PROTOCOL; /** Signature for DUC_FILE_PROTOCOL */ #define DUC_FILE_PROTOCOL_SIGNATURE SIGNATURE_32('d', 'u', 'f', 'p') /** Macro to access DUC_FILE_PROTOCOL from public FP */ #define DUC_FROM_FILE_PROTOCOL(a) CR (a, DUC_FILE_PROTOCOL, Fp, DUC_FILE_PROTOCOL_SIGNATURE) /** Installs our Simple File System overrides. */ EFI_STATUS EFIAPI OvrFs(VOID); #endif // __DMP_FS_H__