-/*++\r
-\r
-Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- PeiBind.h\r
-\r
-Abstract:\r
-\r
- Tiano PEI core and PEIM binding macros\r
-\r
---*/\r
-\r
-#ifndef _PEI_BIND_H_\r
-#define _PEI_BIND_H_\r
-\r
-#ifdef EFI_DEBUG\r
-\r
-#ifdef EFI_NT_EMULATOR\r
-\r
-#if (PI_SPECIFICATION_VERSION < 0x00010000)\r
-\r
-#define EFI_PEI_CORE_ENTRY_POINT(InitFunction) \\r
- UINTN \\r
- __stdcall \\r
- _DllMainCRTStartup ( \\r
- UINTN Inst, \\r
- UINTN reason_for_call, \\r
- VOID *rserved \\r
- ) \\r
- { \\r
- return 1; \\r
- } \\r
- \\r
- EFI_STATUS \\r
- __declspec( dllexport ) \\r
- __cdecl \\r
- InitializeDriver ( \\r
- IN EFI_PEI_STARTUP_DESCRIPTOR *PeiStartup \\r
- ) \\r
- { \\r
- return InitFunction(PeiStartup); \\r
- }\r
-\r
-#else\r
-#define EFI_PEI_CORE_ENTRY_POINT(InitFunction) \\r
- UINTN \\r
- __stdcall \\r
- _DllMainCRTStartup ( \\r
- UINTN Inst, \\r
- UINTN reason_for_call, \\r
- VOID *rserved \\r
- ) \\r
- { \\r
- return 1; \\r
- } \\r
- \\r
- EFI_STATUS \\r
- __declspec( dllexport ) \\r
- __cdecl \\r
- InitializeDriver ( \\r
- IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData, \\r
- IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList \\r
- ) \\r
- { \\r
- return InitFunction(SecCoreData, PpiList); \\r
- }\r
-\r
-#endif\r
-\r
-#define EFI_PEIM_ENTRY_POINT(InitFunction) \\r
- UINTN \\r
- __stdcall \\r
- _DllMainCRTStartup ( \\r
- UINTN Inst, \\r
- UINTN reason_for_call, \\r
- VOID *rserved \\r
- ) \\r
- { \\r
- return 1; \\r
- } \\r
- \\r
- EFI_STATUS \\r
- __declspec( dllexport ) \\r
- __cdecl \\r
- InitializeDriver ( \\r
- IN EFI_FFS_FILE_HEADER *FfsHeader, \\r
- IN EFI_PEI_SERVICES **PeiServices \\r
- ) \\r
- { \\r
- return InitFunction(FfsHeader, PeiServices); \\r
- }\r
-\r
-#else\r
-\r
-#define EFI_PEI_CORE_ENTRY_POINT(InitFunction) \r
-#define EFI_PEIM_ENTRY_POINT(InitFunction)\r
-\r
-#endif\r
-\r
-#else\r
-\r
-#ifdef EFI_NT_EMULATOR\r
-\r
-#if (PI_SPECIFICATION_VERSION < 0x00010000)\r
-\r
-#define EFI_PEI_CORE_ENTRY_POINT(InitFunction) \\r
- EFI_STATUS \\r
- __declspec( dllexport ) \\r
- __cdecl \\r
- InitializeDriver ( \\r
- IN EFI_PEI_STARTUP_DESCRIPTOR *PeiStartup \\r
- ) \\r
- { \\r
- return InitFunction(PeiStartup); \\r
- }\r
-\r
-#else\r
-#define EFI_PEI_CORE_ENTRY_POINT(InitFunction) \\r
- EFI_STATUS \\r
- __declspec( dllexport ) \\r
- __cdecl \\r
- InitializeDriver ( \\r
- IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData, \\r
- IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList \\r
- ) \\r
- { \\r
- return InitFunction(SecCoreData, PpiList); \\r
- }\r
-\r
-#endif\r
-\r
- \r
-#define EFI_PEIM_ENTRY_POINT(InitFunction) \\r
- EFI_STATUS \\r
- __declspec( dllexport ) \\r
- __cdecl \\r
- InitializeDriver ( \\r
- IN EFI_FFS_FILE_HEADER *FfsHeader, \\r
- IN EFI_PEI_SERVICES **PeiServices \\r
- ) \\r
- { \\r
- return InitFunction(FfsHeader, PeiServices); \\r
- }\r
-#else\r
-\r
-#define EFI_PEI_CORE_ENTRY_POINT(InitFunction) \r
-#define EFI_PEIM_ENTRY_POINT(InitFunction)\r
-\r
-#endif\r
-#endif\r
-#endif\r