/** @file Module Name: EmuVariableControl.h Protocol for controlling EmuVariableUefi driver - installing or uninstalling RT var services emulation. initial version - dmazar **/ #ifndef __EmuVariableControl_H__ #define __EmuVariableControl_H__ typedef struct _EMU_VARIABLE_CONTROL_PROTOCOL EMU_VARIABLE_CONTROL_PROTOCOL; /** * EMU_VARIABLE_CONTROL_PROTOCOL.InstallEmulation() type definition */ typedef EFI_STATUS (EFIAPI * EMU_VARIABLE_CONTROL_INSTALL_EMULATION) ( IN EMU_VARIABLE_CONTROL_PROTOCOL *This ); /** * EMU_VARIABLE_CONTROL_PROTOCOL.UninstallEmulation() type definition */ typedef EFI_STATUS (EFIAPI * EMU_VARIABLE_CONTROL_UNINSTALL_EMULATION) ( IN EMU_VARIABLE_CONTROL_PROTOCOL *This ); /** * EMU_VARIABLE_CONTROL_PROTOCOL */ struct _EMU_VARIABLE_CONTROL_PROTOCOL { /// /// Installs RT var services emulation, replaces original RT var services. /// EMU_VARIABLE_CONTROL_INSTALL_EMULATION InstallEmulation; /// /// Uninstalls RT var services emulation, returns original RT var services back. /// EMU_VARIABLE_CONTROL_INSTALL_EMULATION UninstallEmulation; }; #define EMU_VARIABLE_CONTROL_PROTOCOL_GUID \ { \ 0x21f41e73, 0xd214, 0x4fcd, {0x85, 0x50, 0x0d, 0x11, 0x51, 0xcf, 0x8e, 0xfb } \ } /** EMU_VARIABLE_CONTROL_PROTOCOL GUID */ extern EFI_GUID gEmuVariableControlProtocolGuid; #endif