]> git.proxmox.com Git - mirror_edk2.git/blame - EmulatorPkg/Include/Protocol/EmuIoThunk.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / EmulatorPkg / Include / Protocol / EmuIoThunk.h
CommitLineData
949f388f 1/** @file\r
2 Emulator Thunk to abstract OS services from pure EFI code\r
3\r
4 Copyright (c) 2010 - 2011, Apple Inc. All rights reserved.<BR>\r
d18d8a1d 5\r
e3ba31da 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
949f388f 7\r
8**/\r
9\r
d18d8a1d 10#ifndef __EMU_IO_THUNK__\r
949f388f 11#define __EMU_IO_THUNK__\r
12\r
949f388f 13#define EMU_IO_THUNK_PROTOCO_GUID \\r
14 { 0x453368F6, 0x7C85, 0x434A, { 0xA9, 0x8A, 0x72, 0xD1, 0xB7, 0xFF, 0xA9, 0x26 } }\r
15\r
a550d468 16typedef struct _EMU_IO_THUNK_PROTOCOL EMU_IO_THUNK_PROTOCOL;\r
949f388f 17\r
d18d8a1d 18typedef\r
949f388f 19EFI_STATUS\r
a550d468 20(EFIAPI *EMU_IO_THUNK_PROTOCOL_CLOSE_OPEN)(\r
949f388f 21 IN EMU_IO_THUNK_PROTOCOL *This\r
22 );\r
23\r
d18d8a1d 24typedef\r
949f388f 25EFI_STATUS\r
a550d468 26(EFIAPI *EMU_IO_THUNK_PROTOCOL_CLOSE_CLOSE)(\r
949f388f 27 IN EMU_IO_THUNK_PROTOCOL *This\r
28 );\r
29\r
30struct _EMU_IO_THUNK_PROTOCOL {\r
a550d468
MK
31 EFI_GUID *Protocol;\r
32 VOID *Interface; /// Only be valid after Open() is called\r
33 CHAR16 *ConfigString;\r
34 UINT16 Instance;\r
35 EMU_IO_THUNK_PROTOCOL_CLOSE_OPEN Open;\r
36 EMU_IO_THUNK_PROTOCOL_CLOSE_CLOSE Close;\r
37 VOID *Private; /// Used by implementation\r
949f388f 38};\r
39\r
a550d468 40extern EFI_GUID gEmuIoThunkProtocolGuid;\r
949f388f 41\r
42#endif\r