3 Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 // EMU_THUNK_PROTOCOL gaskets (EFIAPI to UNIX ABI)
23 GasketSecWriteStdErr (
25 IN UINTN NumberOfBytes
30 GasketSecPeCoffGetEntryPoint (
32 IN OUT VOID
**EntryPoint
37 GasketSecPeCoffRelocateImageExtraAction (
38 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
43 GasketSecPeCoffUnloadImageExtraAction (
44 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT
*ImageContext
51 IN EMU_SET_TIMER_CALLBACK CallBack
56 GasketSecEnableInterrupt (
62 GasketSecDisableInterrupt (
67 GasketQueryPerformanceFrequency (
72 GasketQueryPerformanceCounter (
80 IN UINT64 Milliseconds
93 OUT EFI_TIME_CAPABILITIES
*Capabilities OPTIONAL
104 GasketSecGetNextProtocol (
105 IN BOOLEAN EmuBusDriver
,
106 OUT EMU_IO_THUNK_PROTOCOL
**Instance OPTIONAL
110 // PPIs produced by SEC
115 GasketSecUnixPeiAutoScan (
117 OUT EFI_PHYSICAL_ADDRESS
*MemoryBase
,
118 OUT UINT64
*MemorySize
123 GasketSecEmuThunkAddress (
130 GasketSecUnixUnixFwhAddress (
131 IN OUT UINT64
*FwhSize
,
132 IN OUT EFI_PHYSICAL_ADDRESS
*FwhBase
138 // Reverse (UNIX to EFIAPI) gaskets
148 ReverseGasketUint64 (
154 ReverseGasketUint64Uint64 (
161 // Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
168 EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindowsIo
,
176 EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindowsIo
182 EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindowsIo
,
188 GasketX11KeySetState (
189 EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindowsIo
,
190 EFI_KEY_TOGGLE_STATE
*KeyToggleState
195 GasketX11RegisterKeyNotify (
196 IN EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindowsIo
,
197 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack
,
198 IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack
,
206 IN EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindows
,
207 IN EFI_UGA_PIXEL
*BltBuffer OPTIONAL
,
208 IN EFI_UGA_BLT_OPERATION BltOperation
,
209 IN EMU_GRAPHICS_WINDOWS__BLT_ARGS
*Args
214 GasketX11CheckPointer (
215 EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindowsIo
220 GasketX11GetPointerState (
221 EMU_GRAPHICS_WINDOW_PROTOCOL
*GraphicsWindowsIo
,
222 EFI_SIMPLE_POINTER_STATE
*state
227 GasketX11GraphicsWindowOpen (
228 IN EMU_IO_THUNK_PROTOCOL
*This
233 GasketX11GraphicsWindowClose (
234 IN EMU_IO_THUNK_PROTOCOL
*This
241 GasketPthreadMutexLock (
249 GasketPthreadMutexUnLock (
256 GasketPthreadMutexTryLock (
263 GasketPthreadMutexInit (
270 GasketPthreadMutexDestroy (
277 GasketPthreadCreate (
280 IN PTREAD_THUNK_THEAD_ENTRY Start
,
300 IN EMU_IO_THUNK_PROTOCOL
*This
306 IN EMU_IO_THUNK_PROTOCOL
*This
314 GasketPosixOpenVolume (
315 IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
*This
,
316 OUT EFI_FILE_PROTOCOL
**Root
321 GasketPosixFileOpen (
322 IN EFI_FILE_PROTOCOL
*This
,
323 OUT EFI_FILE_PROTOCOL
**NewHandle
,
331 GasketPosixFileCLose (
332 IN EFI_FILE_PROTOCOL
*This
337 GasketPosixFileDelete (
338 IN EFI_FILE_PROTOCOL
*This
343 GasketPosixFileRead (
344 IN EFI_FILE_PROTOCOL
*This
,
345 IN OUT UINTN
*BufferSize
,
351 GasketPosixFileWrite (
352 IN EFI_FILE_PROTOCOL
*This
,
353 IN OUT UINTN
*BufferSize
,
359 GasketPosixFileSetPossition (
360 IN EFI_FILE_PROTOCOL
*This
,
366 GasketPosixFileGetPossition (
367 IN EFI_FILE_PROTOCOL
*This
,
373 GasketPosixFileGetInfo (
374 IN EFI_FILE_PROTOCOL
*This
,
375 IN EFI_GUID
*InformationType
,
376 IN OUT UINTN
*BufferSize
,
382 GasketPosixFileSetInfo (
383 IN EFI_FILE_PROTOCOL
*This
,
384 IN EFI_GUID
*InformationType
,
391 GasketPosixFileFlush (
392 IN EFI_FILE_PROTOCOL
*This
397 GasketPosixFileSystmeThunkOpen (
398 IN EMU_IO_THUNK_PROTOCOL
*This
403 GasketPosixFileSystmeThunkClose (
404 IN EMU_IO_THUNK_PROTOCOL
*This