Signed-off-by: jljusten git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11919 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			652 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			652 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
 | 
						|
  Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
 | 
						|
  Copyright (c) 2011, Intel Corporation. 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 _GASKET_H_
 | 
						|
#define _GASKET_H_
 | 
						|
 | 
						|
//
 | 
						|
// EMU_THUNK_PROTOCOL gaskets (EFIAPI to UNIX ABI)
 | 
						|
//
 | 
						|
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
GasketSecWriteStdErr (
 | 
						|
  IN UINT8     *Buffer,
 | 
						|
  IN UINTN     NumberOfBytes
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSecConfigStdIn (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
GasketSecWriteStdOut (
 | 
						|
  IN UINT8     *Buffer,
 | 
						|
  IN UINTN     NumberOfBytes
 | 
						|
  );
 | 
						|
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
GasketSecReadStdIn (
 | 
						|
  IN UINT8     *Buffer,
 | 
						|
  IN UINTN     NumberOfBytes
 | 
						|
  );
 | 
						|
 | 
						|
BOOLEAN
 | 
						|
EFIAPI
 | 
						|
GasketSecPollStdIn (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
VOID *
 | 
						|
EFIAPI
 | 
						|
GasketSecMalloc (
 | 
						|
  IN  UINTN Size
 | 
						|
  );
 | 
						|
 | 
						|
VOID *
 | 
						|
EFIAPI
 | 
						|
GasketSecValloc (
 | 
						|
  IN  UINTN Size
 | 
						|
  );
 | 
						|
 | 
						|
BOOLEAN
 | 
						|
EFIAPI
 | 
						|
GasketSecFree (
 | 
						|
  IN  VOID *Ptr
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
RETURN_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSecPeCoffGetEntryPoint (
 | 
						|
  IN     VOID  *Pe32Data,
 | 
						|
  IN OUT VOID  **EntryPoint
 | 
						|
  );
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketSecPeCoffRelocateImageExtraAction (
 | 
						|
  IN OUT PE_COFF_LOADER_IMAGE_CONTEXT  *ImageContext
 | 
						|
  );
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketSecPeCoffUnloadImageExtraAction (
 | 
						|
  IN OUT PE_COFF_LOADER_IMAGE_CONTEXT  *ImageContext
 | 
						|
  );
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketSecSetTimer (
 | 
						|
  IN  UINT64                  PeriodMs,
 | 
						|
  IN  EMU_SET_TIMER_CALLBACK  CallBack
 | 
						|
  );
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketSecEnableInterrupt (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketSecDisableInterrupt (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
UINT64
 | 
						|
EFIAPI
 | 
						|
GasketQueryPerformanceFrequency (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
UINT64
 | 
						|
EFIAPI
 | 
						|
GasketQueryPerformanceCounter (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketSecSleep (
 | 
						|
  IN  UINT64 Nanoseconds
 | 
						|
  );
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketSecCpuSleep (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketSecExit (
 | 
						|
  UINTN   Status
 | 
						|
  );
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketSecGetTime (
 | 
						|
  OUT  EFI_TIME               *Time,
 | 
						|
  OUT EFI_TIME_CAPABILITIES   *Capabilities OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketSecSetTime (
 | 
						|
  IN  EFI_TIME               *Time
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSecGetNextProtocol (
 | 
						|
  IN  BOOLEAN                 EmuBusDriver,
 | 
						|
  OUT EMU_IO_THUNK_PROTOCOL   **Instance  OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
// PPIs produced by SEC
 | 
						|
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSecUnixPeiAutoScan (
 | 
						|
  IN  UINTN                 Index,
 | 
						|
  OUT EFI_PHYSICAL_ADDRESS  *MemoryBase,
 | 
						|
  OUT UINT64                *MemorySize
 | 
						|
  );
 | 
						|
 | 
						|
VOID *
 | 
						|
EFIAPI
 | 
						|
GasketSecEmuThunkAddress (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSecUnixUnixFwhAddress (
 | 
						|
  IN OUT UINT64                *FwhSize,
 | 
						|
  IN OUT EFI_PHYSICAL_ADDRESS  *FwhBase
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
 | 
						|
//
 | 
						|
// Reverse (UNIX to EFIAPI) gaskets
 | 
						|
//
 | 
						|
 | 
						|
typedef
 | 
						|
void
 | 
						|
(EFIAPI *CALL_BACK) (
 | 
						|
  UINT64 Delta
 | 
						|
  );
 | 
						|
 | 
						|
UINTN
 | 
						|
ReverseGasketUint64 (
 | 
						|
  CALL_BACK CallBack,
 | 
						|
  UINT64 a
 | 
						|
  );
 | 
						|
 | 
						|
UINTN
 | 
						|
ReverseGasketUint64Uint64 (
 | 
						|
  VOID      *CallBack,
 | 
						|
  VOID      *Context,
 | 
						|
  VOID      *Key
 | 
						|
  );
 | 
						|
 | 
						|
//
 | 
						|
// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
 | 
						|
//
 | 
						|
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketX11Size (
 | 
						|
  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindowsIo,
 | 
						|
  UINT32 Width,
 | 
						|
  UINT32 Height
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketX11CheckKey (
 | 
						|
  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindowsIo
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketX11GetKey (
 | 
						|
  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindowsIo,
 | 
						|
  EFI_KEY_DATA                 *key
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketX11KeySetState (
 | 
						|
  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindowsIo,
 | 
						|
  EFI_KEY_TOGGLE_STATE          *KeyToggleState
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketX11RegisterKeyNotify (
 | 
						|
  IN EMU_GRAPHICS_WINDOW_PROTOCOL                         *GraphicsWindowsIo,
 | 
						|
  IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK     MakeCallBack,
 | 
						|
  IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK     BreakCallBack,
 | 
						|
  IN VOID                                                 *Context
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketX11Blt (
 | 
						|
  IN  EMU_GRAPHICS_WINDOW_PROTOCOL            *GraphicsWindows,
 | 
						|
  IN  EFI_UGA_PIXEL                           *BltBuffer OPTIONAL,
 | 
						|
  IN  EFI_UGA_BLT_OPERATION                   BltOperation,
 | 
						|
  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS          *Args
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketX11CheckPointer (
 | 
						|
  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindowsIo
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketX11GetPointerState (
 | 
						|
  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindowsIo,
 | 
						|
  EFI_SIMPLE_POINTER_STATE *state
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketX11GraphicsWindowOpen (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketX11GraphicsWindowClose (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
// Pthreads
 | 
						|
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
GasketPthreadMutexLock (
 | 
						|
  IN VOID *Mutex
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
GasketPthreadMutexUnLock (
 | 
						|
  IN VOID *Mutex
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
GasketPthreadMutexTryLock (
 | 
						|
  IN VOID *Mutex
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
VOID *
 | 
						|
EFIAPI
 | 
						|
GasketPthreadMutexInit (
 | 
						|
  IN VOID
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
GasketPthreadMutexDestroy (
 | 
						|
  IN VOID *Mutex
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
GasketPthreadCreate (
 | 
						|
  IN  VOID                      *Thread,
 | 
						|
  IN  VOID                      *Attribute,
 | 
						|
  IN  THREAD_THUNK_THREAD_ENTRY Start,
 | 
						|
  IN  VOID                      *Context
 | 
						|
  );
 | 
						|
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
GasketPthreadExit (
 | 
						|
  IN VOID *ValuePtr
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
GasketPthreadSelf (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPthreadOpen (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPthreadClose (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
// PosixFileSystem
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixOpenVolume (
 | 
						|
  IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL    *This,
 | 
						|
  OUT EFI_FILE_PROTOCOL                 **Root
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileOpen (
 | 
						|
  IN EFI_FILE_PROTOCOL        *This,
 | 
						|
  OUT EFI_FILE_PROTOCOL       **NewHandle,
 | 
						|
  IN CHAR16                   *FileName,
 | 
						|
  IN UINT64                   OpenMode,
 | 
						|
  IN UINT64                   Attributes
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileCLose (
 | 
						|
  IN EFI_FILE_PROTOCOL  *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileDelete (
 | 
						|
  IN EFI_FILE_PROTOCOL  *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileRead (
 | 
						|
  IN EFI_FILE_PROTOCOL        *This,
 | 
						|
  IN OUT UINTN                *BufferSize,
 | 
						|
  OUT VOID                    *Buffer
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileWrite (
 | 
						|
  IN EFI_FILE_PROTOCOL        *This,
 | 
						|
  IN OUT UINTN                *BufferSize,
 | 
						|
  IN VOID                     *Buffer
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileSetPossition (
 | 
						|
  IN EFI_FILE_PROTOCOL        *This,
 | 
						|
  IN UINT64                   Position
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileGetPossition (
 | 
						|
  IN EFI_FILE_PROTOCOL        *This,
 | 
						|
  OUT UINT64                  *Position
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileGetInfo (
 | 
						|
  IN EFI_FILE_PROTOCOL        *This,
 | 
						|
  IN EFI_GUID                 *InformationType,
 | 
						|
  IN OUT UINTN                *BufferSize,
 | 
						|
  OUT VOID                    *Buffer
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileSetInfo (
 | 
						|
  IN EFI_FILE_PROTOCOL        *This,
 | 
						|
  IN EFI_GUID                 *InformationType,
 | 
						|
  IN UINTN                    BufferSize,
 | 
						|
  IN VOID                     *Buffer
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileFlush (
 | 
						|
  IN EFI_FILE_PROTOCOL  *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileSystmeThunkOpen (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketPosixFileSystmeThunkClose (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketEmuBlockIoReset (
 | 
						|
  IN EMU_BLOCK_IO_PROTOCOL    *This,
 | 
						|
  IN BOOLEAN                  ExtendedVerification
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketEmuBlockIoReadBlocks (
 | 
						|
  IN     EMU_BLOCK_IO_PROTOCOL  *This,
 | 
						|
  IN     UINT32                 MediaId,
 | 
						|
  IN     EFI_LBA                LBA,
 | 
						|
  IN OUT EFI_BLOCK_IO2_TOKEN    *Token,
 | 
						|
  IN     UINTN                  BufferSize,
 | 
						|
     OUT VOID                   *Buffer
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketEmuBlockIoWriteBlocks (
 | 
						|
  IN     EMU_BLOCK_IO_PROTOCOL  *This,
 | 
						|
  IN     UINT32                 MediaId,
 | 
						|
  IN     EFI_LBA                LBA,
 | 
						|
  IN OUT EFI_BLOCK_IO2_TOKEN    *Token,
 | 
						|
  IN     UINTN                  BufferSize,
 | 
						|
  IN     VOID                   *Buffer
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketEmuBlockIoFlushBlocks (
 | 
						|
  IN     EMU_BLOCK_IO_PROTOCOL    *This,
 | 
						|
  IN OUT EFI_BLOCK_IO2_TOKEN      *Token
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketEmuBlockIoCreateMapping (
 | 
						|
  IN     EMU_BLOCK_IO_PROTOCOL    *This,
 | 
						|
  IN     EFI_BLOCK_IO_MEDIA       *Media
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketBlockIoThunkOpen (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketBlockIoThunkClose (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpThunkOpen (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpThunkClose (
 | 
						|
  IN  EMU_IO_THUNK_PROTOCOL   *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpCreateMapping (
 | 
						|
  IN     EMU_SNP_PROTOCOL         *This,
 | 
						|
  IN     EFI_SIMPLE_NETWORK_MODE  *Media
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpStart (
 | 
						|
  IN EMU_SNP_PROTOCOL  *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpStop (
 | 
						|
  IN EMU_SNP_PROTOCOL  *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpInitialize (
 | 
						|
  IN EMU_SNP_PROTOCOL                    *This,
 | 
						|
  IN UINTN                               ExtraRxBufferSize  OPTIONAL,
 | 
						|
  IN UINTN                               ExtraTxBufferSize  OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpReset (
 | 
						|
  IN EMU_SNP_PROTOCOL   *This,
 | 
						|
  IN BOOLEAN            ExtendedVerification
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpShutdown (
 | 
						|
  IN EMU_SNP_PROTOCOL  *This
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpReceiveFilters (
 | 
						|
  IN EMU_SNP_PROTOCOL                             *This,
 | 
						|
  IN UINT32                                       Enable,
 | 
						|
  IN UINT32                                       Disable,
 | 
						|
  IN BOOLEAN                                      ResetMCastFilter,
 | 
						|
  IN UINTN                                        MCastFilterCnt     OPTIONAL,
 | 
						|
  IN EFI_MAC_ADDRESS                              *MCastFilter OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpStationAddress (
 | 
						|
  IN EMU_SNP_PROTOCOL            *This,
 | 
						|
  IN BOOLEAN                     Reset,
 | 
						|
  IN EFI_MAC_ADDRESS             *New OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpStatistics (
 | 
						|
  IN EMU_SNP_PROTOCOL                     *This,
 | 
						|
  IN BOOLEAN                              Reset,
 | 
						|
  IN OUT UINTN                            *StatisticsSize   OPTIONAL,
 | 
						|
  OUT EFI_NETWORK_STATISTICS              *StatisticsTable  OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpMCastIpToMac (
 | 
						|
  IN EMU_SNP_PROTOCOL                     *This,
 | 
						|
  IN BOOLEAN                              IPv6,
 | 
						|
  IN EFI_IP_ADDRESS                       *IP,
 | 
						|
  OUT EFI_MAC_ADDRESS                     *MAC
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpNvData (
 | 
						|
  IN EMU_SNP_PROTOCOL                     *This,
 | 
						|
  IN BOOLEAN                              ReadWrite,
 | 
						|
  IN UINTN                                Offset,
 | 
						|
  IN UINTN                                BufferSize,
 | 
						|
  IN OUT VOID                             *Buffer
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpGetStatus (
 | 
						|
  IN EMU_SNP_PROTOCOL                     *This,
 | 
						|
  OUT UINT32                              *InterruptStatus OPTIONAL,
 | 
						|
  OUT VOID                                **TxBuf OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpTransmit (
 | 
						|
  IN EMU_SNP_PROTOCOL                     *This,
 | 
						|
  IN UINTN                                HeaderSize,
 | 
						|
  IN UINTN                                BufferSize,
 | 
						|
  IN VOID                                 *Buffer,
 | 
						|
  IN EFI_MAC_ADDRESS                      *SrcAddr  OPTIONAL,
 | 
						|
  IN EFI_MAC_ADDRESS                      *DestAddr OPTIONAL,
 | 
						|
  IN UINT16                               *Protocol OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
GasketSnpReceive (
 | 
						|
  IN EMU_SNP_PROTOCOL                     *This,
 | 
						|
  OUT UINTN                               *HeaderSize OPTIONAL,
 | 
						|
  IN OUT UINTN                            *BufferSize,
 | 
						|
  OUT VOID                                *Buffer,
 | 
						|
  OUT EFI_MAC_ADDRESS                     *SrcAddr    OPTIONAL,
 | 
						|
  OUT EFI_MAC_ADDRESS                     *DestAddr   OPTIONAL,
 | 
						|
  OUT UINT16                              *Protocol   OPTIONAL
 | 
						|
  );
 | 
						|
 | 
						|
 | 
						|
#endif
 | 
						|
 | 
						|
 |