[project @ 2001-03-19 10:23:45 by simonmar]
[ghc-hetmet.git] / ghc / rts / Prelude.h
1 /* -----------------------------------------------------------------------------
2  * $Id: Prelude.h,v 1.16 2001/03/19 10:24:03 simonmar 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 const StgClosure PrelBase_True_closure;
18 extern DLL_IMPORT const StgClosure PrelBase_False_closure;
19 extern DLL_IMPORT const StgClosure PrelPack_unpackCString_closure;
20 extern DLL_IMPORT const StgClosure PrelWeak_runFinalizzerBatch_closure;
21 extern const StgClosure PrelMain_mainIO_closure;
22
23 extern DLL_IMPORT const StgClosure PrelIOBase_stackOverflow_closure;
24 extern DLL_IMPORT const StgClosure PrelIOBase_heapOverflow_closure;
25 extern DLL_IMPORT const StgClosure PrelIOBase_BlockedOnDeadMVar_closure;
26 extern DLL_IMPORT const StgClosure PrelIOBase_NonTermination_closure;
27
28 extern DLL_IMPORT const StgInfoTable PrelBase_Czh_static_info;
29 extern DLL_IMPORT const StgInfoTable PrelBase_Izh_static_info;
30 extern DLL_IMPORT const StgInfoTable PrelFloat_Fzh_static_info;
31 extern DLL_IMPORT const StgInfoTable PrelFloat_Dzh_static_info;
32 extern DLL_IMPORT const StgInfoTable Addr_Azh_static_info;
33 extern DLL_IMPORT const StgInfoTable PrelPtr_Ptr_static_info;
34 extern DLL_IMPORT const StgInfoTable PrelInt_I8zh_static_info;
35 extern DLL_IMPORT const StgInfoTable PrelInt_I16zh_static_info;
36 extern DLL_IMPORT const StgInfoTable PrelInt_I32zh_static_info;
37 extern DLL_IMPORT const StgInfoTable PrelInt_I64zh_static_info;
38 extern DLL_IMPORT const StgInfoTable PrelWord_Wzh_static_info;
39 extern DLL_IMPORT const StgInfoTable PrelWord_W8zh_static_info;
40 extern DLL_IMPORT const StgInfoTable PrelWord_W16zh_static_info;
41 extern DLL_IMPORT const StgInfoTable PrelWord_W32zh_static_info;
42 extern DLL_IMPORT const StgInfoTable PrelWord_W64zh_static_info;
43 extern DLL_IMPORT const StgInfoTable PrelBase_Czh_con_info;
44 extern DLL_IMPORT const StgInfoTable PrelBase_Izh_con_info;
45 extern DLL_IMPORT const StgInfoTable PrelFloat_Fzh_con_info;
46 extern DLL_IMPORT const StgInfoTable PrelFloat_Dzh_con_info;
47 extern DLL_IMPORT const StgInfoTable PrelPtr_Ptr_con_info;
48 extern DLL_IMPORT const StgInfoTable Addr_Azh_con_info;
49 extern DLL_IMPORT const StgInfoTable PrelWord_Wzh_con_info;
50 extern DLL_IMPORT const StgInfoTable PrelInt_I8zh_con_info;
51 extern DLL_IMPORT const StgInfoTable PrelInt_I16zh_con_info;
52 extern DLL_IMPORT const StgInfoTable PrelInt_I32zh_con_info;
53 extern DLL_IMPORT const StgInfoTable PrelInt_I64zh_con_info;
54 extern DLL_IMPORT const StgInfoTable PrelWord_W8zh_con_info;
55 extern DLL_IMPORT const StgInfoTable PrelWord_W16zh_con_info;
56 extern DLL_IMPORT const StgInfoTable PrelWord_W32zh_con_info;
57 extern DLL_IMPORT const StgInfoTable PrelWord_W64zh_con_info;
58 extern DLL_IMPORT const StgInfoTable PrelStable_StablePtr_static_info;
59 extern DLL_IMPORT const StgInfoTable PrelStable_StablePtr_con_info;
60
61 #define True_closure              (&PrelBase_True_closure)
62 #define False_closure             (&PrelBase_False_closure)
63 #define unpackCString_closure     (&PrelPack_unpackCString_closure)
64 #define runFinalizerBatch_closure (&PrelWeak_runFinalizzerBatch_closure)
65 #define mainIO_closure            (&PrelMain_mainIO_closure)
66
67 #define stackOverflow_closure     (&PrelIOBase_stackOverflow_closure)
68 #define heapOverflow_closure      (&PrelIOBase_heapOverflow_closure)
69 #define BlockedOnDeadMVar_closure (&PrelIOBase_BlockedOnDeadMVar_closure)
70 #define NonTermination_closure    (&PrelIOBase_NonTermination_closure)
71
72 #define Czh_static_info           (&PrelBase_Czh_static_info)
73 #define Fzh_static_info           (&PrelFloat_Fzh_static_info)
74 #define Dzh_static_info           (&PrelFloat_Dzh_static_info)
75 #define Azh_static_info           (&Addr_Azh_static_info)
76 #define Izh_static_info           (&PrelBase_Izh_static_info)
77 #define I8zh_static_info          (&PrelInt_I8zh_static_info)
78 #define I16zh_static_info         (&PrelInt_I16zh_static_info)
79 #define I32zh_static_info         (&PrelInt_I32zh_static_info)
80 #define I64zh_static_info         (&PrelInt_I64zh_static_info)
81 #define Wzh_static_info           (&PrelWord_Wzh_static_info)
82 #define W8zh_static_info          (&PrelWord_W8zh_static_info)
83 #define W16zh_static_info         (&PrelWord_W16zh_static_info)
84 #define W32zh_static_info         (&PrelWord_W32zh_static_info)
85 #define W64zh_static_info         (&PrelWord_W64zh_static_info)
86 #define Ptr_static_info           (&PrelPtr_Ptr_static_info)
87 #define Czh_con_info              (&PrelBase_Czh_con_info)
88 #define Izh_con_info              (&PrelBase_Izh_con_info)
89 #define Fzh_con_info              (&PrelFloat_Fzh_con_info)
90 #define Dzh_con_info              (&PrelFloat_Dzh_con_info)
91 #define Azh_con_info              (&Addr_Azh_con_info)
92 #define Wzh_con_info              (&PrelWord_Wzh_con_info)
93 #define W8zh_con_info             (&PrelWord_W8zh_con_info)
94 #define W16zh_con_info            (&PrelWord_W16zh_con_info)
95 #define W32zh_con_info            (&PrelWord_W32zh_con_info)
96 #define W64zh_con_info            (&PrelWord_W64zh_con_info)
97 #define I8zh_con_info             (&PrelInt_I8zh_con_info)
98 #define I16zh_con_info            (&PrelInt_I16zh_con_info)
99 #define I32zh_con_info            (&PrelInt_I32zh_con_info)
100 #define I64zh_con_info            (&PrelInt_I64zh_con_info)
101 #define I64zh_con_info            (&PrelInt_I64zh_con_info)
102 #define Ptr_con_info              (&PrelPtr_Ptr_con_info)
103 #define StablePtr_static_info     (&PrelStable_StablePtr_static_info)
104 #define StablePtr_con_info        (&PrelStable_StablePtr_con_info)
105
106 #endif /* PRELUDE_H */