1.5.1 (revision 4026)
otf2/OTF2_SnapReaderCallbacks.h
Go to the documentation of this file.
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 */