[project @ 2003-09-21 22:20:51 by wolfgang]
[ghc-hetmet.git] / ghc / includes / RtsAPI.h
index c677390..d8e772f 100644 (file)
@@ -1,5 +1,5 @@
 /* ----------------------------------------------------------------------------
- * $Id: RtsAPI.h,v 1.32 2003/01/28 16:30:07 simonmar Exp $
+ * $Id: RtsAPI.h,v 1.36 2003/09/21 22:20:52 wolfgang Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -36,6 +36,7 @@ extern void startupHaskell         ( int argc, char *argv[],
 extern void shutdownHaskell        ( void );
 extern void shutdownHaskellAndExit ( int exitCode );
 extern void getProgArgv            ( int *argc, char **argv[] );
+extern void setProgArgv            ( int argc, char *argv[] );
 
 
 /* ----------------------------------------------------------------------------
@@ -66,6 +67,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 );
@@ -89,6 +91,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 );
@@ -110,17 +113,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);