00001 #ifndef __CHARM_PROJECTIONS_H__ 00002 #define __CHARM_PROJECTIONS_H__ 00003 00004 // forward declaration 00005 class envelope; 00006 00007 #ifdef __cplusplus 00008 extern "C" { 00009 #endif 00010 00011 void initCharmProjections(void); 00012 //int traceRegisterUserEvent(const char*); //TODO 00013 00014 void charm_creation(envelope *e, int ep, int num=1); 00015 void charm_beginExecute(envelope *e); 00016 void charm_beginExecuteDetailed(int event,int msgType,int ep,int srcPe,int ml); 00017 void charm_endExecute(void); 00018 void charm_enqueueMsg(envelope *e); 00019 void charm_dequeueMsg(envelope *e); 00020 void charm_beginComputation(void); 00021 void charm_endComputation(void); 00022 void charm_messageRecv(char *env, int pe); 00023 void charm_userEvent(int e); 00024 void charm_userPairEvent(int e,double bt,double et); 00025 void charm_beginPack(void); 00026 void charm_endPack(void); 00027 void charm_beginUnpack(void); 00028 void charm_endUnpack(void); 00029 00030 #ifdef __cplusplus 00031 } 00032 #endif 00033 00034 #endif