/* -----------------------------------------------------------------------------
- * $Id: RtsExternal.h,v 1.8 2005/01/31 12:55:50 simonmar Exp $
*
* (c) The GHC Team, 1998-2004
*
extern StgInt isFloatNegativeZero(StgFloat f);
/* Suspending/resuming threads around foreign calls */
-extern StgInt suspendThread ( StgRegTable * );
-extern StgRegTable * resumeThread ( StgInt );
+extern void * suspendThread ( StgRegTable * );
+extern StgRegTable * resumeThread ( void * );
+
+/* scheduler stuff */
+extern void stg_scheduleThread (StgRegTable *reg, struct StgTSO_ *tso);
/* Creating and destroying an adjustor thunk */
extern void* createAdjustor(int cconv, StgStablePtr hptr, StgFunPtr wptr,
extern void freeHaskellFunctionPtr(void* ptr);
#if defined(mingw32_HOST_OS)
-extern int stg_InstallConsoleEvent(int action, StgStablePtr *handler);
+extern int rts_InstallConsoleEvent ( int action, StgStablePtr *handler );
+extern void rts_ConsoleHandlerDone ( int ev );
#else
extern int stg_sig_install (int, int, StgStablePtr *, void *);
#endif
+#if !defined(mingw32_HOST_OS)
+extern StgInt *signal_handlers;
+#endif
+extern void setIOManagerPipe (int fd);
+
+extern void* stgMallocBytesRWX(int len);
+
/* -----------------------------------------------------------------------------
Storage manager stuff exported
-------------------------------------------------------------------------- */
extern void performGC(void);
extern void performMajorGC(void);
extern void performGCWithRoots(void (*get_roots)(evac_fn));
+extern HsInt64 getAllocations( void );
+extern void revertCAFs( void );
+extern void dirty_MUT_VAR(StgRegTable *reg, StgClosure *p);
#endif /* RTSEXTERNAL_H */