[project @ 2003-08-27 15:18:29 by panne]
[ghc-hetmet.git] / ghc / includes / HsFFI.h
index 968bff8..57a0be3 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: HsFFI.h,v 1.15 2001/10/29 11:33:37 simonmar Exp $
+ * $Id: HsFFI.h,v 1.18 2003/01/28 16:30:07 simonmar Exp $
  *
  * (c) The GHC Team, 2000
  *
@@ -93,6 +93,13 @@ typedef void*                        HsForeignObj;   /* DEPRECATED */
 #define HS_CHAR_MIN            0
 #define HS_CHAR_MAX            0x10FFFF
 
+/* is it true or not?  */
+#define HS_BOOL_FALSE           0
+#define HS_BOOL_TRUE            1
+
+#define HS_BOOL_MIN             HS_BOOL_FALSE
+#define HS_BOOL_MAX             HS_BOOL_TRUE
+
 /* this mirrors the distinction of cases in StgTypes.h */
 #if   SIZEOF_VOID_P == 8
 #define HS_INT_MIN             __INT64_MIN
@@ -141,6 +148,16 @@ typedef void*                      HsForeignObj;   /* DEPRECATED */
 #define HS_DOUBLE_MAX_EXP      DBL_MAX_EXP
 #define HS_DOUBLE_MAX_10_EXP   DBL_MAX_10_EXP
 
+extern void hs_init     (int *argc, char **argv[]);
+extern void hs_exit     (void);
+extern void hs_set_argv (int argc, char *argv[]);
+extern void hs_add_root (void (*init_root)(void));
+
+extern void hs_perform_gc (void);
+
+extern void hs_free_stable_ptr (HsStablePtr *sp);
+extern void hs_free_fun_ptr    (HsFunPtr *fp);
+
 /* -------------------------------------------------------------------------- */
 
 #ifdef __cplusplus