cpp: Use #pragma once instead of #ifndef guards
[ghc.git] / includes / rts / IOManager.h
1 /* -----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 1998-2009
4 *
5 * IO Manager functionality in the RTS
6 *
7 * Do not #include this file directly: #include "Rts.h" instead.
8 *
9 * To understand the structure of the RTS headers, see the wiki:
10 * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
11 *
12 * -------------------------------------------------------------------------- */
13
14 #pragma once
15
16 #if defined(mingw32_HOST_OS)
17
18 int rts_InstallConsoleEvent ( int action, StgStablePtr *handler );
19 void rts_ConsoleHandlerDone ( int ev );
20 extern StgInt console_handler;
21
22 void * getIOManagerEvent (void);
23 HsWord32 readIOManagerEvent (void);
24 void sendIOManagerEvent (HsWord32 event);
25
26 #else
27
28 void setIOManagerControlFd (uint32_t cap_no, int fd);
29 void setTimerManagerControlFd(int fd);
30 void setIOManagerWakeupFd (int fd);
31
32 #endif
33
34 //
35 // Communicating with the IO manager thread (see GHC.Conc).
36 // Posix implementation in posix/Signals.c
37 // Win32 implementation in win32/ThrIOManager.c
38 //
39 void ioManagerWakeup (void);
40 #if defined(THREADED_RTS)
41 void ioManagerDie (void);
42 void ioManagerStart (void);
43 #endif