1 /* -----------------------------------------------------------------------------
2  *
3  * (c) The GHC Team, 2008-2009
4  *
5  * Haskell Program Coverage
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 // Simple linked list of modules
17 typedef struct _HpcModuleInfo {
18   char *modName;                // name of module
19   StgWord32 tickCount;          // number of ticks
20   StgWord32 hashNo;             // Hash number for this module's mix info
21   StgWord64 *tixArr;            // tix Array; local for this module
22   bool from_file;               // data was read from the .tix file
23   struct _HpcModuleInfo *next;
24 } HpcModuleInfo;
25 
26 void hs_hpc_module (char *modName,
27                     StgWord32 modCount,
28                     StgWord32 modHashNo,
29                     StgWord64 *tixArr);
30 
31 HpcModuleInfo * hs_hpc_rootModule (void);
32 
33 void startupHpc(void);
34 void exitHpc(void);
35