Signed-off-by: jljusten git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11919 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Emulator Thunk to abstract OS services from pure EFI code
 | 
						|
 | 
						|
  Copyright (c) 2010 - 2011, Apple Inc. All rights reserved.<BR>
 | 
						|
 | 
						|
  This program and the accompanying materials
 | 
						|
  are licensed and made available under the terms and conditions of the BSD License
 | 
						|
  which accompanies this distribution.  The full text of the license may be found at
 | 
						|
  http://opensource.org/licenses/bsd-license.php
 | 
						|
 | 
						|
  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | 
						|
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef __EMU_IO_THUNK__
 | 
						|
#define __EMU_IO_THUNK__
 | 
						|
 | 
						|
 | 
						|
#define EMU_IO_THUNK_PROTOCO_GUID  \
 | 
						|
 { 0x453368F6, 0x7C85, 0x434A, { 0xA9, 0x8A, 0x72, 0xD1, 0xB7, 0xFF, 0xA9, 0x26 } }
 | 
						|
 | 
						|
 | 
						|
typedef struct _EMU_IO_THUNK_PROTOCOL  EMU_IO_THUNK_PROTOCOL;
 | 
						|
 | 
						|
 | 
						|
typedef
 | 
						|
EFI_STATUS
 | 
						|
(EFIAPI *EMU_IO_THUNK_PROTOCOL_CLOSE_OPEN) (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
typedef
 | 
						|
EFI_STATUS
 | 
						|
(EFIAPI *EMU_IO_THUNK_PROTOCOL_CLOSE_CLOSE) (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
struct _EMU_IO_THUNK_PROTOCOL {
 | 
						|
  EFI_GUID                            *Protocol;
 | 
						|
  VOID                                *Interface;  /// Only be valid after Open() is called
 | 
						|
  CHAR16                              *ConfigString;
 | 
						|
  UINT16                              Instance;
 | 
						|
  EMU_IO_THUNK_PROTOCOL_CLOSE_OPEN    Open;
 | 
						|
  EMU_IO_THUNK_PROTOCOL_CLOSE_CLOSE   Close;
 | 
						|
  VOID                                *Private;    /// Used by implementation
 | 
						|
};
 | 
						|
 | 
						|
extern EFI_GUID gEmuIoThunkProtocolGuid;
 | 
						|
 | 
						|
#endif
 |