Massive patch for the first months work adding System FC to GHC #15
[ghc-hetmet.git] / includes / Linker.h
1 /* -----------------------------------------------------------------------------
2  *
3  * (c) The GHC Team, 2000
4  *
5  * RTS Object Linker
6  *
7  * ---------------------------------------------------------------------------*/
8
9 #ifndef LINKER_H
10 #define LINKER_H
11
12 /* initialize the object linker */
13 void initLinker( void );
14
15 /* insert a stable symbol in the hash table */
16 void insertStableSymbol(char* obj_name, char* key, StgPtr data);
17
18 /* insert a symbol in the hash table */
19 void insertSymbol(char* obj_name, char* key, void* data);
20
21 /* lookup a symbol in the hash table */
22 void *lookupSymbol( char *lbl );
23
24 /* delete an object from the pool */
25 HsInt unloadObj( char *path );
26
27 /* add an obj (populate the global symbol table, but don't resolve yet) */
28 HsInt loadObj( char *path );
29
30 /* resolve all the currently unlinked objects in memory */
31 HsInt resolveObjs( void );
32
33 /* load a dynamic library */
34 char *addDLL( char* dll_name );
35
36 extern void markRootPtrTable(evac_fn evac);
37
38
39 #endif /* LINKER_H */