X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FHsFFI.h;h=a96cb95c9147b7870d174deb7cda4e58e8c21a2e;hb=423d477bfecd490de1449c59325c8776f91d7aac;hp=968bff897c838c33df756a12ef215b85a9d01b19;hpb=d7416a5e4d75fa32190a3ea96e5d9c274a33e33a;p=ghc-hetmet.git diff --git a/ghc/includes/HsFFI.h b/ghc/includes/HsFFI.h index 968bff8..a96cb95 100644 --- a/ghc/includes/HsFFI.h +++ b/ghc/includes/HsFFI.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: HsFFI.h,v 1.15 2001/10/29 11:33:37 simonmar Exp $ + * $Id: HsFFI.h,v 1.20 2004/08/13 13:09:13 simonmar Exp $ * * (c) The GHC Team, 2000 * @@ -18,7 +18,8 @@ extern "C" { #endif /* get types from GHC's runtime system */ -#include "config.h" +#include "ghcconfig.h" +#include "RtsConfig.h" #include "StgTypes.h" /* get limits for integral types */ @@ -93,6 +94,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 +149,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