Interface changes for projections support for AMPI.
[charm.git] / src / conv-core / conv-trace.h
1 /*****************************************************************************
2  * $Source$
3  * $Author$
4  * $Date$
5  * $Revision$
6  *****************************************************************************/
7
8 #ifndef _CONV_TRACE_H
9 #define _CONV_TRACE_H
10
11 #include "converse.h"
12
13 /* 
14  * These functions are called from Converse, and should be provided C binding
15  * by the tracing strategies.
16  */
17
18 void traceInit(char **argv);
19 void traceCharmInit(char **argv);       /* init trace module in ck */
20 void traceMessageRecv(char *msg, int pe);
21 void traceBeginIdle(void);
22 void traceEndIdle(void);
23 void traceResume(CmiObjId *);
24 void traceSuspend(void);
25 void traceAwaken(CthThread t);
26 void traceUserEvent(int);
27 void traceUserBracketEvent(int, double, double);
28 int  traceRegisterUserEvent(const char*, int e
29 #ifdef __cplusplus
30 =-1
31 #endif
32 );
33
34 int traceRegisterFunction(const char*, int idx
35 #ifdef __cplusplus
36 =-999
37 #endif
38 );
39 void traceBeginFuncIndexProj(int, char* file, int);
40 void traceEndFuncIndexProj(int);
41
42 void traceClose(void);
43 void traceCharmClose(void);          /* close trace in ck */
44 void traceBegin(void);
45 void traceEnd(void);
46 void traceWriteSts(void);
47 void traceFlushLog(void);
48
49 #ifndef CMK_OPTIMIZE
50 CpvExtern(int, traceOn);
51 #define traceIsOn()  (CpvAccess(traceOn))
52 #else 
53 #define traceIsOn()  0
54 #endif
55
56 int  traceAvailable();
57
58 #endif