![]() |
1.5.1 (revision 4026)
|
00001 /* 00002 * This file is part of the Score-P software (http://www.score-p.org) 00003 * 00004 * Copyright (c) 2013, 00005 * Technische Universitaet Dresden, Germany 00006 * 00007 * This software may be modified and distributed under the terms of 00008 * a BSD-style license. See the COPYING file in the package base 00009 * directory for details. 00010 */ 00011 00012 00013 #ifndef OTF2_SNAP_READER_CALLBACKS_H 00014 #define OTF2_SNAP_READER_CALLBACKS_H 00015 00016 00025 #include <stdint.h> 00026 00027 00028 #include <otf2/OTF2_ErrorCodes.h> 00029 00030 00031 #include <otf2/OTF2_GeneralDefinitions.h> 00032 #include <otf2/OTF2_AttributeList.h> 00033 #include <otf2/OTF2_Events.h> 00034 00035 00036 #ifdef __cplusplus 00037 extern "C" { 00038 #endif /* __cplusplus */ 00039 00040 00045 typedef struct OTF2_SnapReaderCallbacks_struct OTF2_SnapReaderCallbacks; 00046 00047 00054 OTF2_SnapReaderCallbacks* 00055 OTF2_SnapReaderCallbacks_New( void ); 00056 00057 00065 void 00066 OTF2_SnapReaderCallbacks_Delete( OTF2_SnapReaderCallbacks* snapReaderCallbacks ); 00067 00068 00076 void 00077 OTF2_SnapReaderCallbacks_Clear( OTF2_SnapReaderCallbacks* snapReaderCallbacks ); 00078 00079 00093 typedef OTF2_CallbackCode 00094 ( *OTF2_SnapReaderCallback_Unknown )( OTF2_LocationRef location, 00095 OTF2_TimeStamp snapTime, 00096 void* userData, 00097 OTF2_AttributeList* attributeList ); 00098 00099 00114 OTF2_ErrorCode 00115 OTF2_SnapReaderCallbacks_SetUnknownCallback( 00116 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00117 OTF2_SnapReaderCallback_Unknown unknownCallback ); 00118 00119 00145 typedef OTF2_CallbackCode 00146 ( *OTF2_SnapReaderCallback_SnapshotStart )( OTF2_LocationRef location, 00147 OTF2_TimeStamp snapTime, 00148 void* userData, 00149 OTF2_AttributeList* attributeList, 00150 uint64_t numberOfRecords ); 00151 00152 00167 OTF2_ErrorCode 00168 OTF2_SnapReaderCallbacks_SetSnapshotStartCallback( 00169 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00170 OTF2_SnapReaderCallback_SnapshotStart snapshotStartCallback ); 00171 00172 00191 typedef OTF2_CallbackCode 00192 ( *OTF2_SnapReaderCallback_SnapshotEnd )( OTF2_LocationRef location, 00193 OTF2_TimeStamp snapTime, 00194 void* userData, 00195 OTF2_AttributeList* attributeList, 00196 uint64_t contReadPos ); 00197 00198 00213 OTF2_ErrorCode 00214 OTF2_SnapReaderCallbacks_SetSnapshotEndCallback( 00215 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00216 OTF2_SnapReaderCallback_SnapshotEnd snapshotEndCallback ); 00217 00218 00239 typedef OTF2_CallbackCode 00240 ( *OTF2_SnapReaderCallback_MeasurementOnOff )( OTF2_LocationRef location, 00241 OTF2_TimeStamp snapTime, 00242 void* userData, 00243 OTF2_AttributeList* attributeList, 00244 OTF2_TimeStamp origEventTime, 00245 OTF2_MeasurementMode measurementMode ); 00246 00247 00262 OTF2_ErrorCode 00263 OTF2_SnapReaderCallbacks_SetMeasurementOnOffCallback( 00264 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00265 OTF2_SnapReaderCallback_MeasurementOnOff measurementOnOffCallback ); 00266 00267 00289 typedef OTF2_CallbackCode 00290 ( *OTF2_SnapReaderCallback_Enter )( OTF2_LocationRef location, 00291 OTF2_TimeStamp snapTime, 00292 void* userData, 00293 OTF2_AttributeList* attributeList, 00294 OTF2_TimeStamp origEventTime, 00295 OTF2_RegionRef region ); 00296 00297 00312 OTF2_ErrorCode 00313 OTF2_SnapReaderCallbacks_SetEnterCallback( 00314 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00315 OTF2_SnapReaderCallback_Enter enterCallback ); 00316 00317 00346 typedef OTF2_CallbackCode 00347 ( *OTF2_SnapReaderCallback_MpiSend )( OTF2_LocationRef location, 00348 OTF2_TimeStamp snapTime, 00349 void* userData, 00350 OTF2_AttributeList* attributeList, 00351 OTF2_TimeStamp origEventTime, 00352 uint32_t receiver, 00353 OTF2_CommRef communicator, 00354 uint32_t msgTag, 00355 uint64_t msgLength ); 00356 00357 00372 OTF2_ErrorCode 00373 OTF2_SnapReaderCallbacks_SetMpiSendCallback( 00374 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00375 OTF2_SnapReaderCallback_MpiSend mpiSendCallback ); 00376 00377 00408 typedef OTF2_CallbackCode 00409 ( *OTF2_SnapReaderCallback_MpiIsend )( OTF2_LocationRef location, 00410 OTF2_TimeStamp snapTime, 00411 void* userData, 00412 OTF2_AttributeList* attributeList, 00413 OTF2_TimeStamp origEventTime, 00414 uint32_t receiver, 00415 OTF2_CommRef communicator, 00416 uint32_t msgTag, 00417 uint64_t msgLength, 00418 uint64_t requestID ); 00419 00420 00435 OTF2_ErrorCode 00436 OTF2_SnapReaderCallbacks_SetMpiIsendCallback( 00437 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00438 OTF2_SnapReaderCallback_MpiIsend mpiIsendCallback ); 00439 00440 00462 typedef OTF2_CallbackCode 00463 ( *OTF2_SnapReaderCallback_MpiIsendComplete )( OTF2_LocationRef location, 00464 OTF2_TimeStamp snapTime, 00465 void* userData, 00466 OTF2_AttributeList* attributeList, 00467 OTF2_TimeStamp origEventTime, 00468 uint64_t requestID ); 00469 00470 00485 OTF2_ErrorCode 00486 OTF2_SnapReaderCallbacks_SetMpiIsendCompleteCallback( 00487 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00488 OTF2_SnapReaderCallback_MpiIsendComplete mpiIsendCompleteCallback ); 00489 00490 00520 typedef OTF2_CallbackCode 00521 ( *OTF2_SnapReaderCallback_MpiRecv )( OTF2_LocationRef location, 00522 OTF2_TimeStamp snapTime, 00523 void* userData, 00524 OTF2_AttributeList* attributeList, 00525 OTF2_TimeStamp origEventTime, 00526 uint32_t sender, 00527 OTF2_CommRef communicator, 00528 uint32_t msgTag, 00529 uint64_t msgLength ); 00530 00531 00546 OTF2_ErrorCode 00547 OTF2_SnapReaderCallbacks_SetMpiRecvCallback( 00548 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00549 OTF2_SnapReaderCallback_MpiRecv mpiRecvCallback ); 00550 00551 00576 typedef OTF2_CallbackCode 00577 ( *OTF2_SnapReaderCallback_MpiIrecvRequest )( OTF2_LocationRef location, 00578 OTF2_TimeStamp snapTime, 00579 void* userData, 00580 OTF2_AttributeList* attributeList, 00581 OTF2_TimeStamp origEventTime, 00582 uint64_t requestID ); 00583 00584 00599 OTF2_ErrorCode 00600 OTF2_SnapReaderCallbacks_SetMpiIrecvRequestCallback( 00601 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00602 OTF2_SnapReaderCallback_MpiIrecvRequest mpiIrecvRequestCallback ); 00603 00604 00635 typedef OTF2_CallbackCode 00636 ( *OTF2_SnapReaderCallback_MpiIrecv )( OTF2_LocationRef location, 00637 OTF2_TimeStamp snapTime, 00638 void* userData, 00639 OTF2_AttributeList* attributeList, 00640 OTF2_TimeStamp origEventTime, 00641 uint32_t sender, 00642 OTF2_CommRef communicator, 00643 uint32_t msgTag, 00644 uint64_t msgLength, 00645 uint64_t requestID ); 00646 00647 00662 OTF2_ErrorCode 00663 OTF2_SnapReaderCallbacks_SetMpiIrecvCallback( 00664 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00665 OTF2_SnapReaderCallback_MpiIrecv mpiIrecvCallback ); 00666 00667 00686 typedef OTF2_CallbackCode 00687 ( *OTF2_SnapReaderCallback_MpiCollectiveBegin )( OTF2_LocationRef location, 00688 OTF2_TimeStamp snapTime, 00689 void* userData, 00690 OTF2_AttributeList* attributeList, 00691 OTF2_TimeStamp origEventTime ); 00692 00693 00708 OTF2_ErrorCode 00709 OTF2_SnapReaderCallbacks_SetMpiCollectiveBeginCallback( 00710 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00711 OTF2_SnapReaderCallback_MpiCollectiveBegin mpiCollectiveBeginCallback ); 00712 00713 00740 typedef OTF2_CallbackCode 00741 ( *OTF2_SnapReaderCallback_MpiCollectiveEnd )( OTF2_LocationRef location, 00742 OTF2_TimeStamp snapTime, 00743 void* userData, 00744 OTF2_AttributeList* attributeList, 00745 OTF2_TimeStamp origEventTime, 00746 OTF2_CollectiveOp collectiveOp, 00747 OTF2_CommRef communicator, 00748 uint32_t root, 00749 uint64_t sizeSent, 00750 uint64_t sizeReceived ); 00751 00752 00767 OTF2_ErrorCode 00768 OTF2_SnapReaderCallbacks_SetMpiCollectiveEndCallback( 00769 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00770 OTF2_SnapReaderCallback_MpiCollectiveEnd mpiCollectiveEndCallback ); 00771 00772 00792 typedef OTF2_CallbackCode 00793 ( *OTF2_SnapReaderCallback_OmpFork )( OTF2_LocationRef location, 00794 OTF2_TimeStamp snapTime, 00795 void* userData, 00796 OTF2_AttributeList* attributeList, 00797 OTF2_TimeStamp origEventTime, 00798 uint32_t numberOfRequestedThreads ); 00799 00800 00815 OTF2_ErrorCode 00816 OTF2_SnapReaderCallbacks_SetOmpForkCallback( 00817 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00818 OTF2_SnapReaderCallback_OmpFork ompForkCallback ); 00819 00820 00845 typedef OTF2_CallbackCode 00846 ( *OTF2_SnapReaderCallback_OmpAcquireLock )( OTF2_LocationRef location, 00847 OTF2_TimeStamp snapTime, 00848 void* userData, 00849 OTF2_AttributeList* attributeList, 00850 OTF2_TimeStamp origEventTime, 00851 uint32_t lockID, 00852 uint32_t acquisitionOrder ); 00853 00854 00869 OTF2_ErrorCode 00870 OTF2_SnapReaderCallbacks_SetOmpAcquireLockCallback( 00871 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00872 OTF2_SnapReaderCallback_OmpAcquireLock ompAcquireLockCallback ); 00873 00874 00895 typedef OTF2_CallbackCode 00896 ( *OTF2_SnapReaderCallback_OmpTaskCreate )( OTF2_LocationRef location, 00897 OTF2_TimeStamp snapTime, 00898 void* userData, 00899 OTF2_AttributeList* attributeList, 00900 OTF2_TimeStamp origEventTime, 00901 uint64_t taskID ); 00902 00903 00918 OTF2_ErrorCode 00919 OTF2_SnapReaderCallbacks_SetOmpTaskCreateCallback( 00920 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00921 OTF2_SnapReaderCallback_OmpTaskCreate ompTaskCreateCallback ); 00922 00923 00944 typedef OTF2_CallbackCode 00945 ( *OTF2_SnapReaderCallback_OmpTaskSwitch )( OTF2_LocationRef location, 00946 OTF2_TimeStamp snapTime, 00947 void* userData, 00948 OTF2_AttributeList* attributeList, 00949 OTF2_TimeStamp origEventTime, 00950 uint64_t taskID ); 00951 00952 00967 OTF2_ErrorCode 00968 OTF2_SnapReaderCallbacks_SetOmpTaskSwitchCallback( 00969 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00970 OTF2_SnapReaderCallback_OmpTaskSwitch ompTaskSwitchCallback ); 00971 00972 01004 typedef OTF2_CallbackCode 01005 ( *OTF2_SnapReaderCallback_Metric )( OTF2_LocationRef location, 01006 OTF2_TimeStamp snapTime, 01007 void* userData, 01008 OTF2_AttributeList* attributeList, 01009 OTF2_TimeStamp origEventTime, 01010 OTF2_MetricRef metric, 01011 uint8_t numberOfMetrics, 01012 const OTF2_Type* typeIDs, 01013 const OTF2_MetricValue* metricValues ); 01014 01015 01030 OTF2_ErrorCode 01031 OTF2_SnapReaderCallbacks_SetMetricCallback( 01032 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 01033 OTF2_SnapReaderCallback_Metric metricCallback ); 01034 01035 01062 typedef OTF2_CallbackCode 01063 ( *OTF2_SnapReaderCallback_ParameterString )( OTF2_LocationRef location, 01064 OTF2_TimeStamp snapTime, 01065 void* userData, 01066 OTF2_AttributeList* attributeList, 01067 OTF2_TimeStamp origEventTime, 01068 OTF2_ParameterRef parameter, 01069 OTF2_StringRef string ); 01070 01071 01086 OTF2_ErrorCode 01087 OTF2_SnapReaderCallbacks_SetParameterStringCallback( 01088 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 01089 OTF2_SnapReaderCallback_ParameterString parameterStringCallback ); 01090 01091 01115 typedef OTF2_CallbackCode 01116 ( *OTF2_SnapReaderCallback_ParameterInt )( OTF2_LocationRef location, 01117 OTF2_TimeStamp snapTime, 01118 void* userData, 01119 OTF2_AttributeList* attributeList, 01120 OTF2_TimeStamp origEventTime, 01121 OTF2_ParameterRef parameter, 01122 int64_t value ); 01123 01124 01139 OTF2_ErrorCode 01140 OTF2_SnapReaderCallbacks_SetParameterIntCallback( 01141 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 01142 OTF2_SnapReaderCallback_ParameterInt parameterIntCallback ); 01143 01144 01168 typedef OTF2_CallbackCode 01169 ( *OTF2_SnapReaderCallback_ParameterUnsignedInt )( OTF2_LocationRef location, 01170 OTF2_TimeStamp snapTime, 01171 void* userData, 01172 OTF2_AttributeList* attributeList, 01173 OTF2_TimeStamp origEventTime, 01174 OTF2_ParameterRef parameter, 01175 uint64_t value ); 01176 01177 01193 OTF2_ErrorCode 01194 OTF2_SnapReaderCallbacks_SetParameterUnsignedIntCallback( 01195 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 01196 OTF2_SnapReaderCallback_ParameterUnsignedInt parameterUnsignedIntCallback ); 01197 01198 01199 #ifdef __cplusplus 01200 } 01201 #endif /* __cplusplus */ 01202 01203 01204 #endif /* !OTF2_SNAP_READER_CALLBACKS_H */