00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 # ifndef __PCXX_EVENTS__H__
00031 # define __PCXX_EVENTS__H__
00032
00033 # include "pcxx_ansi.h"
00034
00035 #if ( !defined(__ksr__) || defined(UNIPROC) || defined(__PCXX__) || \
00036 defined(_MASTER_SLAVE_) )
00037 # define __private
00038 # endif
00039
00040
00041 extern __private unsigned long int pcxx_ev_class;
00042
00043
00044
00045 #if ( defined(__MPI__) || defined(__SGIMP__) )
00046 #define ARIADNE_SUPPORT
00047 #endif
00048
00049 #ifdef ARIADNE_SUPPORT
00050 extern int aa_poll_count;
00051 #endif
00052
00053 # ifdef TRACING_ON
00054
00055 # ifdef PCXX_EVENT_SRC
00056 # include "pcxx_machines.h"
00057
00058
00059 # define PCXX_EV_INIT 60000
00060 # define PCXX_EV_FLUSH_ENTER 60001
00061 # define PCXX_EV_FLUSH_EXIT 60002
00062 # define PCXX_EV_CLOSE 60003
00063 # define PCXX_EV_INITM 60004
00064 # define PCXX_EV_WALL_CLOCK 60005
00065 # define PCXX_EV_CONT_EVENT 60006
00066 # define TAU_MESSAGE_SEND 60007
00067 # define TAU_MESSAGE_RECV 60008
00068
00069
00070
00071
00072 # define PCXX_WTIMER_CLEAR 60199
00073 # define PCXX_WTIMER_START 60100
00074 # define PCXX_WTIMER_STOP 60200
00075 # define PCXX_UTIMER_CLEAR 60399
00076 # define PCXX_UTIMER_START 60300
00077 # define PCXX_UTIMER_STOP 60400
00078
00079
00080
00081 # ifndef PCXX_BUFSIZE
00082 # define PCXX_BUFSIZE 65536
00083 # endif
00084
00085
00086 # ifndef PCXX_EC_NULL
00087 # define PCXX_EC_NULL 0x00000000
00088
00089 # define PCXX_EC_TRACER 0x00000001
00090 # define PCXX_EC_TIMER 0x00000002
00091
00092 # define PCXX_EC_ALL 0xFFFFFFFF
00093 # endif
00094
00095 # endif
00096
00097 # ifdef __cplusplus
00098 extern "C" {
00099 # endif
00100
00101 # ifdef PCXX_EVENT_SRC
00102
00103
00104 typedef struct
00105 {
00106 long int ev;
00107 short unsigned int nid;
00108 short unsigned int tid;
00109 long int par;
00110 unsigned long int ti;
00111 } PCXX_EV;
00112
00113
00114 extern __private PCXX_EV *pcxx_ev_ptr;
00115
00116
00117 extern __private PCXX_EV *pcxx_ev_max;
00118
00119 # endif
00120
00121
00122 # define PCXX_EVENT(c,e,p) \
00123 if (pcxx_ev_class&(c)) pcxx_Event(e,p)
00124 # define PCXX_LONG_EVENT(c,e,l,p) \
00125 if (pcxx_ev_class&(c)) pcxx_LongEvent(e,l,p)
00126 # ifdef __cplusplus
00127 void pcxx_EvInit (char *n);
00128 void pcxx_Event (long int e, long int p);
00129 void pcxx_LongEvent (long int e, int l, char *p);
00130 void pcxx_EvClose ();
00131 void pcxx_EvFlush ();
00132 }
00133 # else
00134 extern void pcxx_EvInit(char *n);
00135 extern void pcxx_Event(long int e, long int p);
00136 extern void pcxx_LongEvent(long int e, int l, char *p);
00137 extern void pcxx_EvClose ();
00138 extern void pcxx_EvFlush ();
00139 # endif
00140
00141 # else
00142
00143 # define PCXX_EVENT(c, e, p)
00144 # define PCXX_LONG_EVENT(c, e, l, p)
00145 # define pcxx_EvInit(n)
00146 # define pcxx_Event(e, p)
00147 # define pcxx_LongEvent(e, l, p)
00148 # define pcxx_EvClose()
00149 # define pcxx_EvFlush()
00150 # define pcxx_AriadneTrace(ec, ev, pid, oid, rwtype, mtag, par)
00151
00152 # endif
00153
00154 # ifdef TRACING_ON
00155 # ifdef ARIADNE_SUPPORT
00156 # ifdef __cplusplus
00157 extern "C" void pcxx_AriadneTrace (long int event_class, long int event, int pid, int oid, int rwtype, int mtag, int parameter);
00158 # else
00159 extern void pcxx_AriadneTrace (long int event_class, long int event, int pid, int oid, int rwtype, int mtag, int parameter);
00160 # endif
00161 # else
00162 # define pcxx_AriadneTrace(ec, ev, pid, oid, rwtype, mtag, par)
00163
00164 # endif
00165 # endif
00166
00167
00168
00169
00170 # endif
00171
00172
00173
00174
00175
00176
00177