[project @ 2000-01-07 17:49:29 by sewardj]
[ghc-hetmet.git] / ghc / includes / RtsAPI.h
index bbea2cb..aeccc7c 100644 (file)
@@ -1,5 +1,5 @@
 /* ----------------------------------------------------------------------------
- * $Id: RtsAPI.h,v 1.5 1999/05/21 14:46:20 sof Exp $
+ * $Id: RtsAPI.h,v 1.8 1999/11/02 15:05:52 simonmar Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
 #ifndef RTSAPI_H
 #define RTSAPI_H
 
-#include "SchedAPI.h"  /* for SchedulerStatus */
-
+/*
+ * Running the scheduler
+ */
+typedef enum {
+    NoStatus,    /* not finished yet                                   */
+    Success,      
+    Killed,     /* another thread killed us                           */
+    Interrupted, /* stopped in response to a call to interruptStgRts   */
+    Deadlock,   
+    AllBlocked,  /* subtly different from Deadlock                     */
+} SchedulerStatus;
+      
 typedef StgClosure *HaskellObj;
 
 /* ----------------------------------------------------------------------------
@@ -19,6 +29,7 @@ typedef StgClosure *HaskellObj;
    ------------------------------------------------------------------------- */
 extern void startupHaskell  ( int argc, char *argv[] );
 extern void shutdownHaskell ( void );
+extern void shutdownHaskellAndExit ( int exitCode );
 
 /* ----------------------------------------------------------------------------
    Building Haskell objects from C datatypes.