CloverBootloader/Protocols/DumpUefiCalls/Fs.h
2019-09-03 12:58:42 +03:00

60 lines
1.6 KiB
C

/** @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__