486aa61845ff94776429e4dff20800fe1f759e26
[ghc-hetmet.git] / ghc / rts / Prelude.h
1 /* -----------------------------------------------------------------------------
2  * $Id: Prelude.h,v 1.23 2003/06/23 10:35:23 simonpj Exp $
3  *
4  * (c) The GHC Team, 1998-2001
5  *
6  * Prelude identifiers that we sometimes need to refer to in the RTS.
7  *
8  * ---------------------------------------------------------------------------*/
9
10 #ifndef PRELUDE_H
11 #define PRELUDE_H
12
13 /* Define canonical names so we can abstract away from the actual
14  * modules these names are defined in.
15  */
16
17 extern DLL_IMPORT StgClosure GHCziBase_True_closure;
18 extern DLL_IMPORT StgClosure GHCziBase_False_closure;
19 extern DLL_IMPORT StgClosure GHCziPack_unpackCString_closure;
20 extern DLL_IMPORT StgClosure GHCziWeak_runFinalizzerBatch_closure;
21 extern StgClosure zdMain_main_closure;
22 extern DLL_IMPORT StgClosure GHCziTopHandler_runIO_closure;
23 extern DLL_IMPORT StgClosure GHCziTopHandler_runNonIO_closure;
24
25 extern DLL_IMPORT StgClosure GHCziIOBase_stackOverflow_closure;
26 extern DLL_IMPORT StgClosure GHCziIOBase_heapOverflow_closure;
27 extern DLL_IMPORT StgClosure GHCziIOBase_BlockedOnDeadMVar_closure;
28 extern DLL_IMPORT StgClosure GHCziIOBase_NonTermination_closure;
29 extern DLL_IMPORT StgClosure GHCziIOBase_Deadlock_closure;
30
31 extern DLL_IMPORT const StgInfoTable GHCziBase_Czh_static_info;
32 extern DLL_IMPORT const StgInfoTable GHCziBase_Izh_static_info;
33 extern DLL_IMPORT const StgInfoTable GHCziFloat_Fzh_static_info;
34 extern DLL_IMPORT const StgInfoTable GHCziFloat_Dzh_static_info;
35 extern DLL_IMPORT const StgInfoTable Addr_Azh_static_info;
36 extern DLL_IMPORT const StgInfoTable GHCziPtr_Ptr_static_info;
37 extern DLL_IMPORT const StgInfoTable GHCziPtr_FunPtr_static_info;
38 extern DLL_IMPORT const StgInfoTable GHCziInt_I8zh_static_info;
39 extern DLL_IMPORT const StgInfoTable GHCziInt_I16zh_static_info;
40 extern DLL_IMPORT const StgInfoTable GHCziInt_I32zh_static_info;
41 extern DLL_IMPORT const StgInfoTable GHCziInt_I64zh_static_info;
42 extern DLL_IMPORT const StgInfoTable GHCziWord_Wzh_static_info;
43 extern DLL_IMPORT const StgInfoTable GHCziWord_W8zh_static_info;
44 extern DLL_IMPORT const StgInfoTable GHCziWord_W16zh_static_info;
45 extern DLL_IMPORT const StgInfoTable GHCziWord_W32zh_static_info;
46 extern DLL_IMPORT const StgInfoTable GHCziWord_W64zh_static_info;
47 extern DLL_IMPORT const StgInfoTable GHCziBase_Czh_con_info;
48 extern DLL_IMPORT const StgInfoTable GHCziBase_Izh_con_info;
49 extern DLL_IMPORT const StgInfoTable GHCziFloat_Fzh_con_info;
50 extern DLL_IMPORT const StgInfoTable GHCziFloat_Dzh_con_info;
51 extern DLL_IMPORT const StgInfoTable GHCziPtr_Ptr_con_info;
52 extern DLL_IMPORT const StgInfoTable GHCziPtr_FunPtr_con_info;
53 extern DLL_IMPORT const StgInfoTable Addr_Azh_con_info;
54 extern DLL_IMPORT const StgInfoTable GHCziWord_Wzh_con_info;
55 extern DLL_IMPORT const StgInfoTable GHCziInt_I8zh_con_info;
56 extern DLL_IMPORT const StgInfoTable GHCziInt_I16zh_con_info;
57 extern DLL_IMPORT const StgInfoTable GHCziInt_I32zh_con_info;
58 extern DLL_IMPORT const StgInfoTable GHCziInt_I64zh_con_info;
59 extern DLL_IMPORT const StgInfoTable GHCziWord_W8zh_con_info;
60 extern DLL_IMPORT const StgInfoTable GHCziWord_W16zh_con_info;
61 extern DLL_IMPORT const StgInfoTable GHCziWord_W32zh_con_info;
62 extern DLL_IMPORT const StgInfoTable GHCziWord_W64zh_con_info;
63 extern DLL_IMPORT const StgInfoTable GHCziStable_StablePtr_static_info;
64 extern DLL_IMPORT const StgInfoTable GHCziStable_StablePtr_con_info;
65
66 #define True_closure              (&GHCziBase_True_closure)
67 #define False_closure             (&GHCziBase_False_closure)
68 #define unpackCString_closure     (&GHCziPack_unpackCString_closure)
69 #define runFinalizerBatch_closure (&GHCziWeak_runFinalizzerBatch_closure)
70 #define mainIO_closure            (&zdMain_main_closure)
71 #define runIO_closure             (&GHCziTopHandler_runIO_closure)
72 #define runNonIO_closure          (&GHCziTopHandler_runNonIO_closure)
73
74 #define stackOverflow_closure     (&GHCziIOBase_stackOverflow_closure)
75 #define heapOverflow_closure      (&GHCziIOBase_heapOverflow_closure)
76 #define BlockedOnDeadMVar_closure (&GHCziIOBase_BlockedOnDeadMVar_closure)
77 #define NonTermination_closure    (&GHCziIOBase_NonTermination_closure)
78 #define Deadlock_closure         (&GHCziIOBase_NonTermination_closure)
79
80 #define Czh_static_info           (&GHCziBase_Czh_static_info)
81 #define Fzh_static_info           (&GHCziFloat_Fzh_static_info)
82 #define Dzh_static_info           (&GHCziFloat_Dzh_static_info)
83 #define Azh_static_info           (&Addr_Azh_static_info)
84 #define Izh_static_info           (&GHCziBase_Izh_static_info)
85 #define I8zh_static_info          (&GHCziInt_I8zh_static_info)
86 #define I16zh_static_info         (&GHCziInt_I16zh_static_info)
87 #define I32zh_static_info         (&GHCziInt_I32zh_static_info)
88 #define I64zh_static_info         (&GHCziInt_I64zh_static_info)
89 #define Wzh_static_info           (&GHCziWord_Wzh_static_info)
90 #define W8zh_static_info          (&GHCziWord_W8zh_static_info)
91 #define W16zh_static_info         (&GHCziWord_W16zh_static_info)
92 #define W32zh_static_info         (&GHCziWord_W32zh_static_info)
93 #define W64zh_static_info         (&GHCziWord_W64zh_static_info)
94 #define Ptr_static_info           (&GHCziPtr_Ptr_static_info)
95 #define FunPtr_static_info        (&GHCziPtr_FunPtr_static_info)
96 #define Czh_con_info              (&GHCziBase_Czh_con_info)
97 #define Izh_con_info              (&GHCziBase_Izh_con_info)
98 #define Fzh_con_info              (&GHCziFloat_Fzh_con_info)
99 #define Dzh_con_info              (&GHCziFloat_Dzh_con_info)
100 #define Azh_con_info              (&Addr_Azh_con_info)
101 #define Wzh_con_info              (&GHCziWord_Wzh_con_info)
102 #define W8zh_con_info             (&GHCziWord_W8zh_con_info)
103 #define W16zh_con_info            (&GHCziWord_W16zh_con_info)
104 #define W32zh_con_info            (&GHCziWord_W32zh_con_info)
105 #define W64zh_con_info            (&GHCziWord_W64zh_con_info)
106 #define I8zh_con_info             (&GHCziInt_I8zh_con_info)
107 #define I16zh_con_info            (&GHCziInt_I16zh_con_info)
108 #define I32zh_con_info            (&GHCziInt_I32zh_con_info)
109 #define I64zh_con_info            (&GHCziInt_I64zh_con_info)
110 #define I64zh_con_info            (&GHCziInt_I64zh_con_info)
111 #define Ptr_con_info              (&GHCziPtr_Ptr_con_info)
112 #define FunPtr_con_info           (&GHCziPtr_FunPtr_con_info)
113 #define StablePtr_static_info     (&GHCziStable_StablePtr_static_info)
114 #define StablePtr_con_info        (&GHCziStable_StablePtr_con_info)
115
116 #endif /* PRELUDE_H */