1 /*++
2 
3 Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution.  The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8 
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 
12 Module Name:
13 
14   TianoBind.h
15 
16 Abstract:
17 
18   Tiano's Processor or Compiler specific defines and types for IA-32
19   besides EfiBind.h.
20 
21 --*/
22 
23 #ifndef _TIANO_BIND_H_
24 #define _TIANO_BIND_H_
25 
26 #include <EfiBind.h>
27 
28 #ifdef EFI_DEBUG
29 
30 #ifdef EFI_NT_EMULATOR
31 
32 #define EFI_DXE_ENTRY_POINT(InitFunction)                     \
33 					VOID                                                \
34 					EFIAPI                                              \
35 					InitFunction (                                      \
36   					IN  VOID *HobStart																\
37   				);																									\
38 																															\
39           UINTN                                               \
40           __stdcall                                           \
41           _DllMainCRTStartup (                                \
42               UINTN    Inst,                                  \
43               UINTN    reason_for_call,                       \
44               VOID    *rserved                                \
45               )                                               \
46           {                                                   \
47               return 1;                                       \
48           }                                                   \
49                                                               \
50           VOID                                                \
51           __declspec( dllexport  )                            \
52           __cdecl                                             \
53           InitializeDriver (                                  \
54               VOID *Hob                                       \
55               )                                               \
56           {                                                   \
57               InitFunction(Hob);                              \
58           }
59 
60 
61 
62 
63 #define EFI_SMI_HANDLER_ENTRY_POINT(InitFunction)             \
64           UINTN                                               \
65           __stdcall                                           \
66           _DllMainCRTStartup (                                \
67               UINTN    Inst,                                  \
68               UINTN    reason_for_call,                       \
69               VOID    *rserved                                \
70               )                                               \
71           {                                                   \
72               return 1;                                       \
73           }                                                   \
74                                                               \
75           EFI_STATUS                                                 \
76           __declspec( dllexport  )                            \
77           __cdecl                                             \
78           InitializeDriver (                                  \
79               VOID  *ImageHandle,                             \
80               VOID  *Smst,                                    \
81               VOID  *CommunicationBuffer,                     \
82               UINTN *SourceSize                               \
83               )                                               \
84           {                                                   \
85               return InitFunction(ImageHandle, Smst, CommunicationBuffer, SourceSize);  \
86           }
87 
88 #else
89 
90 #define EFI_DXE_ENTRY_POINT(InitFunction)
91 #define EFI_SMI_HANDLER_ENTRY_POINT(InitFunction)
92 
93 #endif
94 
95 #else
96 
97 #define EFI_DXE_ENTRY_POINT(InitFunction)
98 #define EFI_SMI_HANDLER_ENTRY_POINT(InitFunction)
99 
100 #endif
101 
102 #endif
103