[project @ 2002-11-17 15:27:07 by panne]
[ghc-hetmet.git] / ghc / rts / HsFFI.c
1 /* -----------------------------------------------------------------------------
2  * $Id: HsFFI.c,v 1.1 2002/11/17 15:27:08 panne Exp $
3  *
4  * (c) The GHC Team, 2002
5  *
6  * RTS entry points as mandated by the FFI addendum to the Haskell 98 report
7  *
8  * ---------------------------------------------------------------------------*/
9
10 #include "HsFFI.h"
11 #include "Rts.h"
12
13 void
14 hs_init(int *argc, char **argv[])
15 {
16   /* ToDo: Implement! */
17 }
18
19 void
20 hs_exit(void)
21 {
22   /* ToDo: Implement! */
23 }
24
25 void
26 hs_set_argv(int argc, char *argv[])
27 {
28   /* ToDo: Implement! */
29 }
30
31 void
32 hs_perform_gc(void)
33 {
34     /* Hmmm, the FFI spec is a bit vague, but it seems to imply a major GC... */
35     performMajorGC();
36 }
37
38 void
39 hs_free_stable_ptr(HsStablePtr *sp)
40 {
41     /* The cast is for clarity only, both HsStablePtr and StgStablePtr are
42        typedefs for void*. */
43     freeStablePtr((StgStablePtr)sp);
44 }
45
46 void
47 hs_free_fun_ptr(HsFunPtr *fp)
48 {
49     /* I simply *love* all these similar names... */
50     freeHaskellFunctionPtr(fp);
51 }