Go to the documentation of this file.00001
00043 #if !defined (PROFILE_H)
00044 #define PROFILE_H
00045
00046
00047 #include <gpptypes.h>
00048 #if defined (CHNL_COMPONENT)
00049 #include <chnldefs.h>
00050 #endif
00051 #if defined (POOL_COMPONENT)
00052 #include <pooldefs.h>
00053 #endif
00054
00055
00056 #if defined (__cplusplus)
00057 extern "C" {
00058 #endif
00059
00060
00061 #if defined (DDSP_PROFILE)
00062
00063
00071 #define DATA_LENGTH 8u
00072
00079 #define HIST_LENGTH 8u
00080
00087 typedef Char8 HistoryData [DATA_LENGTH] ;
00088
00095 typedef Uint32 NumberOfBytes ;
00096
00103 typedef Uint32 NumberOfInterrupts ;
00104
00105
00106 #if defined (PROC_COMPONENT)
00107
00128 typedef struct PROC_Instrument_tag {
00129 ProcessorId procId ;
00130 Bool active ;
00131 NumberOfBytes dataToDsp ;
00132 NumberOfBytes dataFromDsp ;
00133 NumberOfInterrupts intsToDsp ;
00134 NumberOfInterrupts intsFromDsp ;
00135 Uint32 activeLinks ;
00136 } PROC_Instrument ;
00137
00138
00148 typedef struct PROC_Stats_tag {
00149 PROC_Instrument procData [MAX_DSPS] ;
00150 } PROC_Stats ;
00151 #endif
00152
00153
00154 #if defined (CHNL_COMPONENT)
00155
00164 typedef struct CHNL_Shared_tag {
00165 Pstr nameLinkDriver ;
00166 } CHNL_Shared ;
00167
00168
00192 typedef struct CHNL_Instrument_tag {
00193 ProcessorId procId ;
00194 ChannelId chnlId ;
00195 Bool active ;
00196 ChannelMode mode ;
00197 CHNL_Shared * chnlShared ;
00198 NumberOfBytes transferred ;
00199 Uint32 numBufsQueued ;
00200 #if defined (DDSP_PROFILE_DETAILED)
00201 Uint32 archIndex ;
00202 HistoryData archive [HIST_LENGTH] ;
00203 #endif
00204 } CHNL_Instrument ;
00205
00206
00216 typedef struct CHNL_Stats_tag {
00217 CHNL_Instrument chnlData ;
00218 } CHNL_Stats ;
00219 #endif
00220
00221
00237 struct DSP_Stats_tag {
00238 NumberOfBytes dataGppToDsp ;
00239 NumberOfBytes dataDspToGpp ;
00240 NumberOfInterrupts intsGppToDsp ;
00241 NumberOfInterrupts intsDspToGpp ;
00242 } ;
00243
00244
00245 #if defined (MSGQ_COMPONENT)
00246
00258 typedef struct MSGQ_Instrument_tag {
00259 Uint32 transferred ;
00260 Uint32 queued ;
00261 } MSGQ_Instrument ;
00262
00273 typedef struct MSGQ_Stats_tag {
00274 MSGQ_Instrument msgqData ;
00275 } MSGQ_Stats ;
00276
00277 #endif
00278
00279
00280 #if defined (POOL_COMPONENT)
00281
00298 typedef struct MPBUF_Stats_tag {
00299 Uint16 size ;
00300 Uint16 totalBuffers ;
00301 Uint16 freeBuffers ;
00302 Uint16 maxUsed ;
00303 } MPBUF_Stats ;
00304
00320 typedef struct SMAPOOL_Stats_tag {
00321 MPBUF_Stats mpBufStats [MAX_SMABUFENTRIES] ;
00322 Uint16 bufHandleCount ;
00323 Uint32 conflicts ;
00324 Uint32 numCalls ;
00325 } SMAPOOL_Stats ;
00326 #endif
00327
00343 typedef struct IPS_Instrument_tag {
00344 Uint32 registerCount ;
00345 Uint32 unregisterCount ;
00346 Uint32 eventSentCount ;
00347 Uint32 eventOccurredCount ;
00348 } IPS_Instrument ;
00349
00350
00351 #if defined (PROC_COMPONENT)
00352
00358 #define ProcInstrument PROC_Instrument
00359
00366 #define ProcStats PROC_Stats
00367 #endif
00368 #if defined (CHNL_COMPONENT)
00369
00375 #define ChnlShared CHNL_Shared
00376
00383 #define ChnlInstrument CHNL_Instrument
00384
00391 #define ChnlStats CHNL_Stats
00392 #endif
00393
00400 #define DspStats DSP_Stats
00401
00402 #if defined (MSGQ_COMPONENT)
00403
00409 #define MsgqInstrument MSGQ_Instrument
00410
00417 #define MsgqStats MSGQ_Stats
00418 #endif
00419
00420 #if defined (POOL_COMPONENT)
00421
00427 #define MpBufStats MPBUF_Stats
00428
00434 #define SmaPoolStats SMAPOOL_Stats
00435 #endif
00436
00443 #define IpsInstrument IPS_Instrument
00444
00445
00446 #endif
00447
00448
00449 #if defined (__cplusplus)
00450 }
00451 #endif
00452
00453
00454 #endif