X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=ghc%2Fincludes%2FRtsAPI.h;h=f554b96061c7143ef8f649fbe90e6977f726531a;hb=b6bdc1892e0759f1f3bbbc7e162b57fd12f95dd6;hp=32e73622fdfbcadec52f55244082faa9f3c05100;hpb=af13609607da81e7837a7c7c598de82452363ab5;p=ghc-hetmet.git diff --git a/ghc/includes/RtsAPI.h b/ghc/includes/RtsAPI.h index 32e7362..f554b96 100644 --- a/ghc/includes/RtsAPI.h +++ b/ghc/includes/RtsAPI.h @@ -1,7 +1,6 @@ /* ---------------------------------------------------------------------------- - * $Id: RtsAPI.h,v 1.31 2003/01/25 15:54:48 wolfgang Exp $ * - * (c) The GHC Team, 1998-1999 + * (c) The GHC Team, 1998-2004 * * API for invoking Haskell functions via the RTS * @@ -35,8 +34,8 @@ extern void startupHaskell ( int argc, char *argv[], void (*init_root)(void) ); extern void shutdownHaskell ( void ); extern void shutdownHaskellAndExit ( int exitCode ); -extern void setProgArgv ( int argc, char *argv[] ); extern void getProgArgv ( int *argc, char **argv[] ); +extern void setProgArgv ( int argc, char *argv[] ); /* ---------------------------------------------------------------------------- @@ -67,6 +66,7 @@ HaskellObj rts_mkWord16 ( HsWord16 w ); HaskellObj rts_mkWord32 ( HsWord32 w ); HaskellObj rts_mkWord64 ( HsWord64 w ); HaskellObj rts_mkPtr ( HsPtr a ); +HaskellObj rts_mkFunPtr ( HsFunPtr a ); HaskellObj rts_mkFloat ( HsFloat f ); HaskellObj rts_mkDouble ( HsDouble f ); HaskellObj rts_mkStablePtr ( HsStablePtr s ); @@ -90,6 +90,7 @@ HsWord16 rts_getWord16 ( HaskellObj ); HsWord32 rts_getWord32 ( HaskellObj ); HsWord64 rts_getWord64 ( HaskellObj ); HsPtr rts_getPtr ( HaskellObj ); +HsFunPtr rts_getFunPtr ( HaskellObj ); HsFloat rts_getFloat ( HaskellObj ); HsDouble rts_getDouble ( HaskellObj ); HsStablePtr rts_getStablePtr ( HaskellObj ); @@ -111,17 +112,14 @@ rts_eval_ ( HaskellObj p, unsigned int stack_size, /*out*/HaskellObj *ret ); SchedulerStatus rts_evalIO ( HaskellObj p, /*out*/HaskellObj *ret ); -#if defined(COMPILING_RTS_MAIN) -/* Used by the RTS' main() only */ -SchedulerStatus -rts_mainEvalIO ( HaskellObj p, /*out*/HaskellObj *ret ); -#endif - SchedulerStatus rts_evalStableIO ( HsStablePtr s, /*out*/HsStablePtr *ret ); SchedulerStatus -rts_evalLazyIO ( HaskellObj p, unsigned int stack_size, /*out*/HaskellObj *ret ); +rts_evalLazyIO ( HaskellObj p, /*out*/HaskellObj *ret ); + +SchedulerStatus +rts_evalLazyIO_ ( HaskellObj p, unsigned int stack_size, /*out*/HaskellObj *ret ); void rts_checkSchedStatus ( char* site, SchedulerStatus rc); @@ -132,10 +130,10 @@ rts_checkSchedStatus ( char* site, SchedulerStatus rc); These are used by foreign export and foreign import "wrapper" stubs. ----------------------------------------------------------------------- */ -extern StgClosure GHCziTopHandler_runIO_closure; -extern StgClosure GHCziTopHandler_runNonIO_closure; -#define runIO_closure (&GHCziTopHandler_runIO_closure) -#define runNonIO_closure (&GHCziTopHandler_runNonIO_closure) +extern StgWord GHCziTopHandler_runIO_closure[]; +extern StgWord GHCziTopHandler_runNonIO_closure[]; +#define runIO_closure GHCziTopHandler_runIO_closure +#define runNonIO_closure GHCziTopHandler_runNonIO_closure /* ------------------------------------------------------------------------ */