]> git.proxmox.com Git - mirror_edk2.git/blame - EmulatorPkg/Include/Protocol/EmuIoThunk.h
EmulatorPkg: Replace BSD License with BSD+Patent License
[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
13\r
14#define EMU_IO_THUNK_PROTOCO_GUID \\r
15 { 0x453368F6, 0x7C85, 0x434A, { 0xA9, 0x8A, 0x72, 0xD1, 0xB7, 0xFF, 0xA9, 0x26 } }\r
16\r
17\r
18typedef struct _EMU_IO_THUNK_PROTOCOL EMU_IO_THUNK_PROTOCOL;\r
19\r
20\r
d18d8a1d 21typedef\r
949f388f 22EFI_STATUS\r
23(EFIAPI *EMU_IO_THUNK_PROTOCOL_CLOSE_OPEN) (\r
24 IN EMU_IO_THUNK_PROTOCOL *This\r
25 );\r
26\r
d18d8a1d 27typedef\r
949f388f 28EFI_STATUS\r
29(EFIAPI *EMU_IO_THUNK_PROTOCOL_CLOSE_CLOSE) (\r
30 IN EMU_IO_THUNK_PROTOCOL *This\r
31 );\r
32\r
33struct _EMU_IO_THUNK_PROTOCOL {\r
34 EFI_GUID *Protocol;\r
35 VOID *Interface; /// Only be valid after Open() is called\r
36 CHAR16 *ConfigString;\r
37 UINT16 Instance;\r
38 EMU_IO_THUNK_PROTOCOL_CLOSE_OPEN Open;\r
39 EMU_IO_THUNK_PROTOCOL_CLOSE_CLOSE Close;\r
d18d8a1d 40 VOID *Private; /// Used by implementation\r
949f388f 41};\r
42\r
43extern EFI_GUID gEmuIoThunkProtocolGuid;\r
44\r
45#endif\r