RTS tidyup sweep, first phase
[ghc-hetmet.git] / includes / rts / Hpc.h
1 /* -----------------------------------------------------------------------------
2  *
3  * (c) The GHC Team, 2008-2009
4  *
5  * Haskell Program Coverage
6  *
7  * -------------------------------------------------------------------------- */
8
9 #ifndef RTS_HPC_H
10 #define RTS_HPC_H
11
12 // Simple linked list of modules
13 typedef struct _HpcModuleInfo {
14   char *modName;                // name of module
15   StgWord32 tickCount;          // number of ticks
16   StgWord32 tickOffset;         // offset into a single large .tix Array
17   StgWord32 hashNo;             // Hash number for this module's mix info
18   StgWord64 *tixArr;            // tix Array; local for this module
19   struct _HpcModuleInfo *next;
20 } HpcModuleInfo;
21
22 int hs_hpc_module (char *modName, 
23                    StgWord32 modCount, 
24                    StgWord32 modHashNo,
25                    StgWord64 *tixArr);
26
27 HpcModuleInfo * hs_hpc_rootModule (void);
28
29 void startupHpc(void);
30 void exitHpc(void);
31
32 #endif /* RTS_HPC_H */