]> git.proxmox.com Git - mirror_edk2.git/blame - EmulatorPkg/Include/Protocol/EmuIoThunk.h
MdeModulePkg-DxeCore: rename CoreGetMemoryMapPropertiesTable
[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
949f388f 6 This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
14**/\r
15\r
d18d8a1d 16#ifndef __EMU_IO_THUNK__\r
949f388f 17#define __EMU_IO_THUNK__\r
18\r
19\r
20#define EMU_IO_THUNK_PROTOCO_GUID \\r
21 { 0x453368F6, 0x7C85, 0x434A, { 0xA9, 0x8A, 0x72, 0xD1, 0xB7, 0xFF, 0xA9, 0x26 } }\r
22\r
23\r
24typedef struct _EMU_IO_THUNK_PROTOCOL EMU_IO_THUNK_PROTOCOL;\r
25\r
26\r
d18d8a1d 27typedef\r
949f388f 28EFI_STATUS\r
29(EFIAPI *EMU_IO_THUNK_PROTOCOL_CLOSE_OPEN) (\r
30 IN EMU_IO_THUNK_PROTOCOL *This\r
31 );\r
32\r
d18d8a1d 33typedef\r
949f388f 34EFI_STATUS\r
35(EFIAPI *EMU_IO_THUNK_PROTOCOL_CLOSE_CLOSE) (\r
36 IN EMU_IO_THUNK_PROTOCOL *This\r
37 );\r
38\r
39struct _EMU_IO_THUNK_PROTOCOL {\r
40 EFI_GUID *Protocol;\r
41 VOID *Interface; /// Only be valid after Open() is called\r
42 CHAR16 *ConfigString;\r
43 UINT16 Instance;\r
44 EMU_IO_THUNK_PROTOCOL_CLOSE_OPEN Open;\r
45 EMU_IO_THUNK_PROTOCOL_CLOSE_CLOSE Close;\r
d18d8a1d 46 VOID *Private; /// Used by implementation\r
949f388f 47};\r
48\r
49extern EFI_GUID gEmuIoThunkProtocolGuid;\r
50\r
51#endif\r