efi_guid
efi_status (*InstallProtocolInterface) (efi_handle* handle, efi_guid* protocol,
efi_status (*ReinstallProtocolInterface) (efi_handle hadle, efi_guid* protocol,
efi_status (*UninstallProtocolInterface) (efi_handle handle, efi_guid* protocol,
efi_status (*HandleProtocol) (efi_handle handle, efi_guid* protocol, void** intf) EFIAPI;
efi_status (*RegisterProtocolNotify) (efi_guid* protocol, efi_event event,
efi_status (*LocateHandle) (efi_locate_search_type search_type, efi_guid* protocol,
efi_status (*LocateDevicePath) (efi_guid* protocol, efi_device_path_protocol** path,
efi_status (*InstallConfigurationTable) (efi_guid* guid, void* table) EFIAPI;
efi_status (*OpenProtocol) (efi_handle handle, efi_guid* protocol, void** intf,
efi_status (*CloseProtocol) (efi_handle handle, efi_guid* protocol,
efi_status (*OpenProtocolInformation) (efi_handle handle, efi_guid* protocol,
efi_status (*ProtocolsPerHandle) (efi_handle handle, efi_guid*** protocol_buf,
efi_guid* protocol, void* search_key,
efi_status (*LocateProtocol) (efi_guid* protocol, void* registration, void** intf) EFIAPI;
const efi_guid* event_group, efi_event* event) EFIAPI;
extern efi_guid AppleSetOSProtocol;
extern efi_guid BlockIoProtocol;
extern efi_guid ConsoleControlProtocol;
extern efi_guid DevicePathToTextProtocol;
extern efi_guid DevicePathProtocol;
extern efi_guid DiskIoProtocol;
extern efi_guid DriverBindingProtocol;
extern efi_guid FileInfoGuid;
extern efi_guid FileSystemInfoGuid;
efi_status (*GetInfo) (struct efi_file_protocol* self, efi_guid* info_type,
efi_status (*SetInfo) (struct efi_file_protocol* self, efi_guid* info_type,
extern efi_guid GraphicsOutputProtocol;
extern efi_guid LoadedImageProtocol;
extern efi_guid ManagedNetworkProtocol;
extern efi_guid PciRootBridgeIoProtocol;
extern efi_guid SerialIoProtocol;
extern efi_guid SimpleFileSystemProtocol;
extern efi_guid SimpleNetworkProtocol;
extern efi_guid SimpleTextInputProtocol;
extern efi_guid SimpleTextOutputProtocol;
extern efi_guid UsbIoProtocol;
efi_guid CapsuleGuid;
efi_status (*GetVariable) (char16_t* var_name, efi_guid* vendor_guid,
efi_guid* vendor_guid) EFIAPI;
efi_status (*SetVariable) (char16_t* var_name, efi_guid* vendor_guid,
efi_guid CapsuleGuid;
efi_guid VendorGuid;
bool equals(const efi_guid& other) const {
efi_guid acpi = ACPI_20_TABLE_GUID;
static efi_guid BlockIoGUID = EFI_BLOCK_IO_PROTOCOL_GUID;
static efi_guid sNetworkProtocolGUID = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
static efi_guid sLoadedImageProtocolGUID = EFI_LOADED_IMAGE_PROTOCOL_GUID;
static efi_guid sDevicePathProtocolGUID = EFI_DEVICE_PATH_PROTOCOL_GUID;
static efi_guid sLoadedImageDevicePathProtocolGUID = EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID;
efi_guid appleSetOSProtocolGUID = EFI_APPLE_SET_OS_GUID;
static efi_guid sSerialIOProtocolGUID = EFI_SERIAL_IO_PROTOCOL_GUID;
static efi_guid sGraphicsOutputGuid = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
static efi_guid sEdidActiveGuid = EFI_EDID_ACTIVE_PROTOCOL_GUID;