RTS tidyup sweep, first phase
[ghc-hetmet.git] / includes / rts / IOManager.h
1 /* -----------------------------------------------------------------------------
2  *
3  * (c) The GHC Team, 1998-2009
4  *
5  * IO Manager functionality in the RTS
6  *
7  * -------------------------------------------------------------------------- */
8
9 #ifndef RTS_IOMANAGER_H
10 #define RTS_IOMANAGER_H
11
12 #if defined(mingw32_HOST_OS)
13
14 int  rts_InstallConsoleEvent ( int action, StgStablePtr *handler );
15 void rts_ConsoleHandlerDone  ( int ev );
16 extern StgInt console_handler;
17
18 void *   getIOManagerEvent  (void);
19 HsWord32 readIOManagerEvent (void);
20 void     sendIOManagerEvent (HsWord32 event);
21
22 #else
23
24 void     setIOManagerPipe   (int fd);
25
26 #endif
27
28 //
29 // Communicating with the IO manager thread (see GHC.Conc).
30 // Posix implementation in posix/Signals.c
31 // Win32 implementation in win32/ThrIOManager.c
32 //
33 #if defined(THREADED_RTS)
34 void ioManagerWakeup (void);
35 void ioManagerDie (void);
36 void ioManagerStart (void);
37 #endif
38
39 #endif /* RTS_IOMANAGER_H */