/* The standard FFI interface */
#include "HsFFI.h"
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+
/* -----------------------------------------------------------------------------
Functions exported by the RTS for use in Stg code
-------------------------------------------------------------------------- */
extern int cmp_thread(StgPtr tso1, StgPtr tso2);
extern int rts_getThreadId(StgPtr tso);
extern int forkOS_createThread ( HsStablePtr entry );
-extern StgInt forkProcess(HsStablePtr *entry);
+extern pid_t forkProcess(HsStablePtr *entry);
extern HsBool rtsSupportsBoundThreads(void);
extern StgInt newSpark (StgRegTable *reg, StgClosure *p);
extern void freeHaskellFunctionPtr(void* ptr);
/* Hpc stuff */
-extern int hs_hpc_module(char *modName,int modCount,StgWord64 *tixArr);
+extern int hs_hpc_module(char *modName,int modCount,int modHashNo,StgWord64 *tixArr);
extern void hs_hpc_tick(int globIx,struct StgTSO_ *current_tso);
extern void hs_hpc_raise_event(struct StgTSO_ *current_tso);
extern void hs_hpc_thread_finished_event(struct StgTSO_ *current_tso);
+extern void hs_hpc_read(char *filename);
+extern void hs_hpc_write(char *filename);
#if defined(mingw32_HOST_OS)
extern int rts_InstallConsoleEvent ( int action, StgStablePtr *handler );
#endif
#if defined(mingw32_HOST_OS)
-HANDLE getIOManagerEvent (void);
+void *getIOManagerEvent (void);
HsWord32 readIOManagerEvent (void);
void sendIOManagerEvent (HsWord32 event);
#else
extern void* allocateExec(unsigned int len);
+// Breakpoint stuff
+extern int rts_stop_next_breakpoint;
+extern int rts_stop_on_exception;
+extern HsStablePtr rts_breakpoint_io_action;
+
/* -----------------------------------------------------------------------------
Storage manager stuff exported
-------------------------------------------------------------------------- */