1.4 (revision 3771)
otf2/OTF2_GlobalEvtReaderCallbacks.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) 2009-2012,
00005  * RWTH Aachen University, Germany
00006  *
00007  * Copyright (c) 2009-2012,
00008  * Gesellschaft fuer numerische Simulation mbH Braunschweig, Germany
00009  *
00010  * Copyright (c) 2009-2012,
00011  * Technische Universitaet Dresden, Germany
00012  *
00013  * Copyright (c) 2009-2012,
00014  * University of Oregon, Eugene, USA
00015  *
00016  * Copyright (c) 2009-2012,
00017  * Forschungszentrum Juelich GmbH, Germany
00018  *
00019  * Copyright (c) 2009-2012,
00020  * German Research School for Simulation Sciences GmbH, Juelich/Aachen, Germany
00021  *
00022  * Copyright (c) 2009-2012,
00023  * Technische Universitaet Muenchen, Germany
00024  *
00025  * This software may be modified and distributed under the terms of
00026  * a BSD-style license.  See the COPYING file in the package base
00027  * directory for details.
00028  *
00029  */
00030 
00031 
00032 #ifndef OTF2_GLOBAL_EVT_READER_CALLBACKS_H
00033 #define OTF2_GLOBAL_EVT_READER_CALLBACKS_H
00034 
00035 
00044 #include <stdint.h>
00045 
00046 
00047 #include <otf2/OTF2_ErrorCodes.h>
00048 
00049 
00050 #include <otf2/OTF2_GeneralDefinitions.h>
00051 #include <otf2/OTF2_AttributeList.h>
00052 #include <otf2/OTF2_Events.h>
00053 
00054 
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif /* __cplusplus */
00058 
00059 
00062 typedef struct OTF2_GlobalEvtReaderCallbacks_struct OTF2_GlobalEvtReaderCallbacks;
00063 
00064 
00069 OTF2_GlobalEvtReaderCallbacks*
00070 OTF2_GlobalEvtReaderCallbacks_New( void );
00071 
00072 
00078 void
00079 OTF2_GlobalEvtReaderCallbacks_Delete( OTF2_GlobalEvtReaderCallbacks* globalEvtReaderCallbacks );
00080 
00081 
00087 void
00088 OTF2_GlobalEvtReaderCallbacks_Clear( OTF2_GlobalEvtReaderCallbacks* globalEvtReaderCallbacks );
00089 
00090 
00102 typedef OTF2_CallbackCode
00103 ( *OTF2_GlobalEvtReaderCallback_Unknown )( OTF2_LocationRef    locationID,
00104                                            OTF2_TimeStamp      time,
00105                                            void*               userData,
00106                                            OTF2_AttributeList* attributeList );
00107 
00108 
00120 OTF2_ErrorCode
00121 OTF2_GlobalEvtReaderCallbacks_SetUnknownCallback(
00122     OTF2_GlobalEvtReaderCallbacks*       globalEvtReaderCallbacks,
00123     OTF2_GlobalEvtReaderCallback_Unknown unknownCallback );
00124 
00125 
00143 typedef OTF2_CallbackCode
00144 ( *OTF2_GlobalEvtReaderCallback_BufferFlush )( OTF2_LocationRef    locationID,
00145                                                OTF2_TimeStamp      time,
00146                                                void*               userData,
00147                                                OTF2_AttributeList* attributeList,
00148                                                OTF2_TimeStamp      stopTime );
00149 
00150 
00165 OTF2_ErrorCode
00166 OTF2_GlobalEvtReaderCallbacks_SetBufferFlushCallback(
00167     OTF2_GlobalEvtReaderCallbacks*           globalEvtReaderCallbacks,
00168     OTF2_GlobalEvtReaderCallback_BufferFlush bufferFlushCallback );
00169 
00170 
00190 typedef OTF2_CallbackCode
00191 ( *OTF2_GlobalEvtReaderCallback_MeasurementOnOff )( OTF2_LocationRef     locationID,
00192                                                     OTF2_TimeStamp       time,
00193                                                     void*                userData,
00194                                                     OTF2_AttributeList*  attributeList,
00195                                                     OTF2_MeasurementMode measurementMode );
00196 
00197 
00212 OTF2_ErrorCode
00213 OTF2_GlobalEvtReaderCallbacks_SetMeasurementOnOffCallback(
00214     OTF2_GlobalEvtReaderCallbacks*                globalEvtReaderCallbacks,
00215     OTF2_GlobalEvtReaderCallback_MeasurementOnOff measurementOnOffCallback );
00216 
00217 
00237 typedef OTF2_CallbackCode
00238 ( *OTF2_GlobalEvtReaderCallback_Enter )( OTF2_LocationRef    locationID,
00239                                          OTF2_TimeStamp      time,
00240                                          void*               userData,
00241                                          OTF2_AttributeList* attributeList,
00242                                          OTF2_RegionRef      region );
00243 
00244 
00259 OTF2_ErrorCode
00260 OTF2_GlobalEvtReaderCallbacks_SetEnterCallback(
00261     OTF2_GlobalEvtReaderCallbacks*     globalEvtReaderCallbacks,
00262     OTF2_GlobalEvtReaderCallback_Enter enterCallback );
00263 
00264 
00284 typedef OTF2_CallbackCode
00285 ( *OTF2_GlobalEvtReaderCallback_Leave )( OTF2_LocationRef    locationID,
00286                                          OTF2_TimeStamp      time,
00287                                          void*               userData,
00288                                          OTF2_AttributeList* attributeList,
00289                                          OTF2_RegionRef      region );
00290 
00291 
00306 OTF2_ErrorCode
00307 OTF2_GlobalEvtReaderCallbacks_SetLeaveCallback(
00308     OTF2_GlobalEvtReaderCallbacks*     globalEvtReaderCallbacks,
00309     OTF2_GlobalEvtReaderCallback_Leave leaveCallback );
00310 
00311 
00337 typedef OTF2_CallbackCode
00338 ( *OTF2_GlobalEvtReaderCallback_MpiSend )( OTF2_LocationRef    locationID,
00339                                            OTF2_TimeStamp      time,
00340                                            void*               userData,
00341                                            OTF2_AttributeList* attributeList,
00342                                            uint32_t            receiver,
00343                                            OTF2_CommRef        communicator,
00344                                            uint32_t            msgTag,
00345                                            uint64_t            msgLength );
00346 
00347 
00362 OTF2_ErrorCode
00363 OTF2_GlobalEvtReaderCallbacks_SetMpiSendCallback(
00364     OTF2_GlobalEvtReaderCallbacks*       globalEvtReaderCallbacks,
00365     OTF2_GlobalEvtReaderCallback_MpiSend mpiSendCallback );
00366 
00367 
00394 typedef OTF2_CallbackCode
00395 ( *OTF2_GlobalEvtReaderCallback_MpiIsend )( OTF2_LocationRef    locationID,
00396                                             OTF2_TimeStamp      time,
00397                                             void*               userData,
00398                                             OTF2_AttributeList* attributeList,
00399                                             uint32_t            receiver,
00400                                             OTF2_CommRef        communicator,
00401                                             uint32_t            msgTag,
00402                                             uint64_t            msgLength,
00403                                             uint64_t            requestID );
00404 
00405 
00420 OTF2_ErrorCode
00421 OTF2_GlobalEvtReaderCallbacks_SetMpiIsendCallback(
00422     OTF2_GlobalEvtReaderCallbacks*        globalEvtReaderCallbacks,
00423     OTF2_GlobalEvtReaderCallback_MpiIsend mpiIsendCallback );
00424 
00425 
00442 typedef OTF2_CallbackCode
00443 ( *OTF2_GlobalEvtReaderCallback_MpiIsendComplete )( OTF2_LocationRef    locationID,
00444                                                     OTF2_TimeStamp      time,
00445                                                     void*               userData,
00446                                                     OTF2_AttributeList* attributeList,
00447                                                     uint64_t            requestID );
00448 
00449 
00464 OTF2_ErrorCode
00465 OTF2_GlobalEvtReaderCallbacks_SetMpiIsendCompleteCallback(
00466     OTF2_GlobalEvtReaderCallbacks*                globalEvtReaderCallbacks,
00467     OTF2_GlobalEvtReaderCallback_MpiIsendComplete mpiIsendCompleteCallback );
00468 
00469 
00486 typedef OTF2_CallbackCode
00487 ( *OTF2_GlobalEvtReaderCallback_MpiIrecvRequest )( OTF2_LocationRef    locationID,
00488                                                    OTF2_TimeStamp      time,
00489                                                    void*               userData,
00490                                                    OTF2_AttributeList* attributeList,
00491                                                    uint64_t            requestID );
00492 
00493 
00508 OTF2_ErrorCode
00509 OTF2_GlobalEvtReaderCallbacks_SetMpiIrecvRequestCallback(
00510     OTF2_GlobalEvtReaderCallbacks*               globalEvtReaderCallbacks,
00511     OTF2_GlobalEvtReaderCallback_MpiIrecvRequest mpiIrecvRequestCallback );
00512 
00513 
00539 typedef OTF2_CallbackCode
00540 ( *OTF2_GlobalEvtReaderCallback_MpiRecv )( OTF2_LocationRef    locationID,
00541                                            OTF2_TimeStamp      time,
00542                                            void*               userData,
00543                                            OTF2_AttributeList* attributeList,
00544                                            uint32_t            sender,
00545                                            OTF2_CommRef        communicator,
00546                                            uint32_t            msgTag,
00547                                            uint64_t            msgLength );
00548 
00549 
00564 OTF2_ErrorCode
00565 OTF2_GlobalEvtReaderCallbacks_SetMpiRecvCallback(
00566     OTF2_GlobalEvtReaderCallbacks*       globalEvtReaderCallbacks,
00567     OTF2_GlobalEvtReaderCallback_MpiRecv mpiRecvCallback );
00568 
00569 
00596 typedef OTF2_CallbackCode
00597 ( *OTF2_GlobalEvtReaderCallback_MpiIrecv )( OTF2_LocationRef    locationID,
00598                                             OTF2_TimeStamp      time,
00599                                             void*               userData,
00600                                             OTF2_AttributeList* attributeList,
00601                                             uint32_t            sender,
00602                                             OTF2_CommRef        communicator,
00603                                             uint32_t            msgTag,
00604                                             uint64_t            msgLength,
00605                                             uint64_t            requestID );
00606 
00607 
00622 OTF2_ErrorCode
00623 OTF2_GlobalEvtReaderCallbacks_SetMpiIrecvCallback(
00624     OTF2_GlobalEvtReaderCallbacks*        globalEvtReaderCallbacks,
00625     OTF2_GlobalEvtReaderCallback_MpiIrecv mpiIrecvCallback );
00626 
00627 
00645 typedef OTF2_CallbackCode
00646 ( *OTF2_GlobalEvtReaderCallback_MpiRequestTest )( OTF2_LocationRef    locationID,
00647                                                   OTF2_TimeStamp      time,
00648                                                   void*               userData,
00649                                                   OTF2_AttributeList* attributeList,
00650                                                   uint64_t            requestID );
00651 
00652 
00667 OTF2_ErrorCode
00668 OTF2_GlobalEvtReaderCallbacks_SetMpiRequestTestCallback(
00669     OTF2_GlobalEvtReaderCallbacks*              globalEvtReaderCallbacks,
00670     OTF2_GlobalEvtReaderCallback_MpiRequestTest mpiRequestTestCallback );
00671 
00672 
00689 typedef OTF2_CallbackCode
00690 ( *OTF2_GlobalEvtReaderCallback_MpiRequestCancelled )( OTF2_LocationRef    locationID,
00691                                                        OTF2_TimeStamp      time,
00692                                                        void*               userData,
00693                                                        OTF2_AttributeList* attributeList,
00694                                                        uint64_t            requestID );
00695 
00696 
00711 OTF2_ErrorCode
00712 OTF2_GlobalEvtReaderCallbacks_SetMpiRequestCancelledCallback(
00713     OTF2_GlobalEvtReaderCallbacks*                   globalEvtReaderCallbacks,
00714     OTF2_GlobalEvtReaderCallback_MpiRequestCancelled mpiRequestCancelledCallback );
00715 
00716 
00733 typedef OTF2_CallbackCode
00734 ( *OTF2_GlobalEvtReaderCallback_MpiCollectiveBegin )( OTF2_LocationRef    locationID,
00735                                                       OTF2_TimeStamp      time,
00736                                                       void*               userData,
00737                                                       OTF2_AttributeList* attributeList );
00738 
00739 
00754 OTF2_ErrorCode
00755 OTF2_GlobalEvtReaderCallbacks_SetMpiCollectiveBeginCallback(
00756     OTF2_GlobalEvtReaderCallbacks*                  globalEvtReaderCallbacks,
00757     OTF2_GlobalEvtReaderCallback_MpiCollectiveBegin mpiCollectiveBeginCallback );
00758 
00759 
00786 typedef OTF2_CallbackCode
00787 ( *OTF2_GlobalEvtReaderCallback_MpiCollectiveEnd )( OTF2_LocationRef    locationID,
00788                                                     OTF2_TimeStamp      time,
00789                                                     void*               userData,
00790                                                     OTF2_AttributeList* attributeList,
00791                                                     OTF2_CollectiveOp   collectiveOp,
00792                                                     OTF2_CommRef        communicator,
00793                                                     uint32_t            root,
00794                                                     uint64_t            sizeSent,
00795                                                     uint64_t            sizeReceived );
00796 
00797 
00812 OTF2_ErrorCode
00813 OTF2_GlobalEvtReaderCallbacks_SetMpiCollectiveEndCallback(
00814     OTF2_GlobalEvtReaderCallbacks*                globalEvtReaderCallbacks,
00815     OTF2_GlobalEvtReaderCallback_MpiCollectiveEnd mpiCollectiveEndCallback );
00816 
00817 
00838 typedef OTF2_CallbackCode
00839 ( *OTF2_GlobalEvtReaderCallback_OmpFork )( OTF2_LocationRef    locationID,
00840                                            OTF2_TimeStamp      time,
00841                                            void*               userData,
00842                                            OTF2_AttributeList* attributeList,
00843                                            uint32_t            numberOfRequestedThreads );
00844 
00845 
00860 OTF2_ErrorCode
00861 OTF2_GlobalEvtReaderCallbacks_SetOmpForkCallback(
00862     OTF2_GlobalEvtReaderCallbacks*       globalEvtReaderCallbacks,
00863     OTF2_GlobalEvtReaderCallback_OmpFork ompForkCallback );
00864 
00865 
00886 typedef OTF2_CallbackCode
00887 ( *OTF2_GlobalEvtReaderCallback_OmpJoin )( OTF2_LocationRef    locationID,
00888                                            OTF2_TimeStamp      time,
00889                                            void*               userData,
00890                                            OTF2_AttributeList* attributeList );
00891 
00892 
00907 OTF2_ErrorCode
00908 OTF2_GlobalEvtReaderCallbacks_SetOmpJoinCallback(
00909     OTF2_GlobalEvtReaderCallbacks*       globalEvtReaderCallbacks,
00910     OTF2_GlobalEvtReaderCallback_OmpJoin ompJoinCallback );
00911 
00912 
00938 typedef OTF2_CallbackCode
00939 ( *OTF2_GlobalEvtReaderCallback_OmpAcquireLock )( OTF2_LocationRef    locationID,
00940                                                   OTF2_TimeStamp      time,
00941                                                   void*               userData,
00942                                                   OTF2_AttributeList* attributeList,
00943                                                   uint32_t            lockID,
00944                                                   uint32_t            acquisitionOrder );
00945 
00946 
00961 OTF2_ErrorCode
00962 OTF2_GlobalEvtReaderCallbacks_SetOmpAcquireLockCallback(
00963     OTF2_GlobalEvtReaderCallbacks*              globalEvtReaderCallbacks,
00964     OTF2_GlobalEvtReaderCallback_OmpAcquireLock ompAcquireLockCallback );
00965 
00966 
00992 typedef OTF2_CallbackCode
00993 ( *OTF2_GlobalEvtReaderCallback_OmpReleaseLock )( OTF2_LocationRef    locationID,
00994                                                   OTF2_TimeStamp      time,
00995                                                   void*               userData,
00996                                                   OTF2_AttributeList* attributeList,
00997                                                   uint32_t            lockID,
00998                                                   uint32_t            acquisitionOrder );
00999 
01000 
01015 OTF2_ErrorCode
01016 OTF2_GlobalEvtReaderCallbacks_SetOmpReleaseLockCallback(
01017     OTF2_GlobalEvtReaderCallbacks*              globalEvtReaderCallbacks,
01018     OTF2_GlobalEvtReaderCallback_OmpReleaseLock ompReleaseLockCallback );
01019 
01020 
01042 typedef OTF2_CallbackCode
01043 ( *OTF2_GlobalEvtReaderCallback_OmpTaskCreate )( OTF2_LocationRef    locationID,
01044                                                  OTF2_TimeStamp      time,
01045                                                  void*               userData,
01046                                                  OTF2_AttributeList* attributeList,
01047                                                  uint64_t            taskID );
01048 
01049 
01064 OTF2_ErrorCode
01065 OTF2_GlobalEvtReaderCallbacks_SetOmpTaskCreateCallback(
01066     OTF2_GlobalEvtReaderCallbacks*             globalEvtReaderCallbacks,
01067     OTF2_GlobalEvtReaderCallback_OmpTaskCreate ompTaskCreateCallback );
01068 
01069 
01093 typedef OTF2_CallbackCode
01094 ( *OTF2_GlobalEvtReaderCallback_OmpTaskSwitch )( OTF2_LocationRef    locationID,
01095                                                  OTF2_TimeStamp      time,
01096                                                  void*               userData,
01097                                                  OTF2_AttributeList* attributeList,
01098                                                  uint64_t            taskID );
01099 
01100 
01115 OTF2_ErrorCode
01116 OTF2_GlobalEvtReaderCallbacks_SetOmpTaskSwitchCallback(
01117     OTF2_GlobalEvtReaderCallbacks*             globalEvtReaderCallbacks,
01118     OTF2_GlobalEvtReaderCallback_OmpTaskSwitch ompTaskSwitchCallback );
01119 
01120 
01142 typedef OTF2_CallbackCode
01143 ( *OTF2_GlobalEvtReaderCallback_OmpTaskComplete )( OTF2_LocationRef    locationID,
01144                                                    OTF2_TimeStamp      time,
01145                                                    void*               userData,
01146                                                    OTF2_AttributeList* attributeList,
01147                                                    uint64_t            taskID );
01148 
01149 
01164 OTF2_ErrorCode
01165 OTF2_GlobalEvtReaderCallbacks_SetOmpTaskCompleteCallback(
01166     OTF2_GlobalEvtReaderCallbacks*               globalEvtReaderCallbacks,
01167     OTF2_GlobalEvtReaderCallback_OmpTaskComplete ompTaskCompleteCallback );
01168 
01169 
01198 typedef OTF2_CallbackCode
01199 ( *OTF2_GlobalEvtReaderCallback_Metric )( OTF2_LocationRef        locationID,
01200                                           OTF2_TimeStamp          time,
01201                                           void*                   userData,
01202                                           OTF2_AttributeList*     attributeList,
01203                                           OTF2_MetricRef          metric,
01204                                           uint8_t                 numberOfMetrics,
01205                                           const OTF2_Type*        typeIDs,
01206                                           const OTF2_MetricValue* metricValues );
01207 
01208 
01223 OTF2_ErrorCode
01224 OTF2_GlobalEvtReaderCallbacks_SetMetricCallback(
01225     OTF2_GlobalEvtReaderCallbacks*      globalEvtReaderCallbacks,
01226     OTF2_GlobalEvtReaderCallback_Metric metricCallback );
01227 
01228 
01253 typedef OTF2_CallbackCode
01254 ( *OTF2_GlobalEvtReaderCallback_ParameterString )( OTF2_LocationRef    locationID,
01255                                                    OTF2_TimeStamp      time,
01256                                                    void*               userData,
01257                                                    OTF2_AttributeList* attributeList,
01258                                                    OTF2_ParameterRef   parameter,
01259                                                    OTF2_StringRef      string );
01260 
01261 
01276 OTF2_ErrorCode
01277 OTF2_GlobalEvtReaderCallbacks_SetParameterStringCallback(
01278     OTF2_GlobalEvtReaderCallbacks*               globalEvtReaderCallbacks,
01279     OTF2_GlobalEvtReaderCallback_ParameterString parameterStringCallback );
01280 
01281 
01303 typedef OTF2_CallbackCode
01304 ( *OTF2_GlobalEvtReaderCallback_ParameterInt )( OTF2_LocationRef    locationID,
01305                                                 OTF2_TimeStamp      time,
01306                                                 void*               userData,
01307                                                 OTF2_AttributeList* attributeList,
01308                                                 OTF2_ParameterRef   parameter,
01309                                                 int64_t             value );
01310 
01311 
01326 OTF2_ErrorCode
01327 OTF2_GlobalEvtReaderCallbacks_SetParameterIntCallback(
01328     OTF2_GlobalEvtReaderCallbacks*            globalEvtReaderCallbacks,
01329     OTF2_GlobalEvtReaderCallback_ParameterInt parameterIntCallback );
01330 
01331 
01353 typedef OTF2_CallbackCode
01354 ( *OTF2_GlobalEvtReaderCallback_ParameterUnsignedInt )( OTF2_LocationRef    locationID,
01355                                                         OTF2_TimeStamp      time,
01356                                                         void*               userData,
01357                                                         OTF2_AttributeList* attributeList,
01358                                                         OTF2_ParameterRef   parameter,
01359                                                         uint64_t            value );
01360 
01361 
01376 OTF2_ErrorCode
01377 OTF2_GlobalEvtReaderCallbacks_SetParameterUnsignedIntCallback(
01378     OTF2_GlobalEvtReaderCallbacks*                    globalEvtReaderCallbacks,
01379     OTF2_GlobalEvtReaderCallback_ParameterUnsignedInt parameterUnsignedIntCallback );
01380 
01381 
01400 typedef OTF2_CallbackCode
01401 ( *OTF2_GlobalEvtReaderCallback_RmaWinCreate )( OTF2_LocationRef    locationID,
01402                                                 OTF2_TimeStamp      time,
01403                                                 void*               userData,
01404                                                 OTF2_AttributeList* attributeList,
01405                                                 OTF2_RmaWinRef      win );
01406 
01407 
01422 OTF2_ErrorCode
01423 OTF2_GlobalEvtReaderCallbacks_SetRmaWinCreateCallback(
01424     OTF2_GlobalEvtReaderCallbacks*            globalEvtReaderCallbacks,
01425     OTF2_GlobalEvtReaderCallback_RmaWinCreate rmaWinCreateCallback );
01426 
01427 
01446 typedef OTF2_CallbackCode
01447 ( *OTF2_GlobalEvtReaderCallback_RmaWinDestroy )( OTF2_LocationRef    locationID,
01448                                                  OTF2_TimeStamp      time,
01449                                                  void*               userData,
01450                                                  OTF2_AttributeList* attributeList,
01451                                                  OTF2_RmaWinRef      win );
01452 
01453 
01468 OTF2_ErrorCode
01469 OTF2_GlobalEvtReaderCallbacks_SetRmaWinDestroyCallback(
01470     OTF2_GlobalEvtReaderCallbacks*             globalEvtReaderCallbacks,
01471     OTF2_GlobalEvtReaderCallback_RmaWinDestroy rmaWinDestroyCallback );
01472 
01473 
01490 typedef OTF2_CallbackCode
01491 ( *OTF2_GlobalEvtReaderCallback_RmaCollectiveBegin )( OTF2_LocationRef    locationID,
01492                                                       OTF2_TimeStamp      time,
01493                                                       void*               userData,
01494                                                       OTF2_AttributeList* attributeList );
01495 
01496 
01511 OTF2_ErrorCode
01512 OTF2_GlobalEvtReaderCallbacks_SetRmaCollectiveBeginCallback(
01513     OTF2_GlobalEvtReaderCallbacks*                  globalEvtReaderCallbacks,
01514     OTF2_GlobalEvtReaderCallback_RmaCollectiveBegin rmaCollectiveBeginCallback );
01515 
01516 
01542 typedef OTF2_CallbackCode
01543 ( *OTF2_GlobalEvtReaderCallback_RmaCollectiveEnd )( OTF2_LocationRef    locationID,
01544                                                     OTF2_TimeStamp      time,
01545                                                     void*               userData,
01546                                                     OTF2_AttributeList* attributeList,
01547                                                     OTF2_CollectiveOp   collectiveOp,
01548                                                     OTF2_RmaSyncLevel   syncLevel,
01549                                                     OTF2_RmaWinRef      win,
01550                                                     uint32_t            root,
01551                                                     uint64_t            bytesSent,
01552                                                     uint64_t            bytesReceived );
01553 
01554 
01569 OTF2_ErrorCode
01570 OTF2_GlobalEvtReaderCallbacks_SetRmaCollectiveEndCallback(
01571     OTF2_GlobalEvtReaderCallbacks*                globalEvtReaderCallbacks,
01572     OTF2_GlobalEvtReaderCallback_RmaCollectiveEnd rmaCollectiveEndCallback );
01573 
01574 
01600 typedef OTF2_CallbackCode
01601 ( *OTF2_GlobalEvtReaderCallback_RmaGroupSync )( OTF2_LocationRef    locationID,
01602                                                 OTF2_TimeStamp      time,
01603                                                 void*               userData,
01604                                                 OTF2_AttributeList* attributeList,
01605                                                 OTF2_RmaSyncLevel   syncLevel,
01606                                                 OTF2_RmaWinRef      win,
01607                                                 OTF2_GroupRef       group );
01608 
01609 
01624 OTF2_ErrorCode
01625 OTF2_GlobalEvtReaderCallbacks_SetRmaGroupSyncCallback(
01626     OTF2_GlobalEvtReaderCallbacks*            globalEvtReaderCallbacks,
01627     OTF2_GlobalEvtReaderCallback_RmaGroupSync rmaGroupSyncCallback );
01628 
01629 
01656 typedef OTF2_CallbackCode
01657 ( *OTF2_GlobalEvtReaderCallback_RmaRequestLock )( OTF2_LocationRef    locationID,
01658                                                   OTF2_TimeStamp      time,
01659                                                   void*               userData,
01660                                                   OTF2_AttributeList* attributeList,
01661                                                   OTF2_RmaWinRef      win,
01662                                                   uint32_t            remote,
01663                                                   uint64_t            lockId,
01664                                                   OTF2_LockType       lockType );
01665 
01666 
01681 OTF2_ErrorCode
01682 OTF2_GlobalEvtReaderCallbacks_SetRmaRequestLockCallback(
01683     OTF2_GlobalEvtReaderCallbacks*              globalEvtReaderCallbacks,
01684     OTF2_GlobalEvtReaderCallback_RmaRequestLock rmaRequestLockCallback );
01685 
01686 
01711 typedef OTF2_CallbackCode
01712 ( *OTF2_GlobalEvtReaderCallback_RmaAcquireLock )( OTF2_LocationRef    locationID,
01713                                                   OTF2_TimeStamp      time,
01714                                                   void*               userData,
01715                                                   OTF2_AttributeList* attributeList,
01716                                                   OTF2_RmaWinRef      win,
01717                                                   uint32_t            remote,
01718                                                   uint64_t            lockId,
01719                                                   OTF2_LockType       lockType );
01720 
01721 
01736 OTF2_ErrorCode
01737 OTF2_GlobalEvtReaderCallbacks_SetRmaAcquireLockCallback(
01738     OTF2_GlobalEvtReaderCallbacks*              globalEvtReaderCallbacks,
01739     OTF2_GlobalEvtReaderCallback_RmaAcquireLock rmaAcquireLockCallback );
01740 
01741 
01766 typedef OTF2_CallbackCode
01767 ( *OTF2_GlobalEvtReaderCallback_RmaTryLock )( OTF2_LocationRef    locationID,
01768                                               OTF2_TimeStamp      time,
01769                                               void*               userData,
01770                                               OTF2_AttributeList* attributeList,
01771                                               OTF2_RmaWinRef      win,
01772                                               uint32_t            remote,
01773                                               uint64_t            lockId,
01774                                               OTF2_LockType       lockType );
01775 
01776 
01791 OTF2_ErrorCode
01792 OTF2_GlobalEvtReaderCallbacks_SetRmaTryLockCallback(
01793     OTF2_GlobalEvtReaderCallbacks*          globalEvtReaderCallbacks,
01794     OTF2_GlobalEvtReaderCallback_RmaTryLock rmaTryLockCallback );
01795 
01796 
01819 typedef OTF2_CallbackCode
01820 ( *OTF2_GlobalEvtReaderCallback_RmaReleaseLock )( OTF2_LocationRef    locationID,
01821                                                   OTF2_TimeStamp      time,
01822                                                   void*               userData,
01823                                                   OTF2_AttributeList* attributeList,
01824                                                   OTF2_RmaWinRef      win,
01825                                                   uint32_t            remote,
01826                                                   uint64_t            lockId );
01827 
01828 
01843 OTF2_ErrorCode
01844 OTF2_GlobalEvtReaderCallbacks_SetRmaReleaseLockCallback(
01845     OTF2_GlobalEvtReaderCallbacks*              globalEvtReaderCallbacks,
01846     OTF2_GlobalEvtReaderCallback_RmaReleaseLock rmaReleaseLockCallback );
01847 
01848 
01871 typedef OTF2_CallbackCode
01872 ( *OTF2_GlobalEvtReaderCallback_RmaSync )( OTF2_LocationRef    locationID,
01873                                            OTF2_TimeStamp      time,
01874                                            void*               userData,
01875                                            OTF2_AttributeList* attributeList,
01876                                            OTF2_RmaWinRef      win,
01877                                            uint32_t            remote,
01878                                            OTF2_RmaSyncType    syncType );
01879 
01880 
01895 OTF2_ErrorCode
01896 OTF2_GlobalEvtReaderCallbacks_SetRmaSyncCallback(
01897     OTF2_GlobalEvtReaderCallbacks*       globalEvtReaderCallbacks,
01898     OTF2_GlobalEvtReaderCallback_RmaSync rmaSyncCallback );
01899 
01900 
01921 typedef OTF2_CallbackCode
01922 ( *OTF2_GlobalEvtReaderCallback_RmaWaitChange )( OTF2_LocationRef    locationID,
01923                                                  OTF2_TimeStamp      time,
01924                                                  void*               userData,
01925                                                  OTF2_AttributeList* attributeList,
01926                                                  OTF2_RmaWinRef      win );
01927 
01928 
01943 OTF2_ErrorCode
01944 OTF2_GlobalEvtReaderCallbacks_SetRmaWaitChangeCallback(
01945     OTF2_GlobalEvtReaderCallbacks*             globalEvtReaderCallbacks,
01946     OTF2_GlobalEvtReaderCallback_RmaWaitChange rmaWaitChangeCallback );
01947 
01948 
01971 typedef OTF2_CallbackCode
01972 ( *OTF2_GlobalEvtReaderCallback_RmaPut )( OTF2_LocationRef    locationID,
01973                                           OTF2_TimeStamp      time,
01974                                           void*               userData,
01975                                           OTF2_AttributeList* attributeList,
01976                                           OTF2_RmaWinRef      win,
01977                                           uint32_t            remote,
01978                                           uint64_t            bytes,
01979                                           uint64_t            matchingId );
01980 
01981 
01996 OTF2_ErrorCode
01997 OTF2_GlobalEvtReaderCallbacks_SetRmaPutCallback(
01998     OTF2_GlobalEvtReaderCallbacks*      globalEvtReaderCallbacks,
01999     OTF2_GlobalEvtReaderCallback_RmaPut rmaPutCallback );
02000 
02001 
02024 typedef OTF2_CallbackCode
02025 ( *OTF2_GlobalEvtReaderCallback_RmaGet )( OTF2_LocationRef    locationID,
02026                                           OTF2_TimeStamp      time,
02027                                           void*               userData,
02028                                           OTF2_AttributeList* attributeList,
02029                                           OTF2_RmaWinRef      win,
02030                                           uint32_t            remote,
02031                                           uint64_t            bytes,
02032                                           uint64_t            matchingId );
02033 
02034 
02049 OTF2_ErrorCode
02050 OTF2_GlobalEvtReaderCallbacks_SetRmaGetCallback(
02051     OTF2_GlobalEvtReaderCallbacks*      globalEvtReaderCallbacks,
02052     OTF2_GlobalEvtReaderCallback_RmaGet rmaGetCallback );
02053 
02054 
02079 typedef OTF2_CallbackCode
02080 ( *OTF2_GlobalEvtReaderCallback_RmaAtomic )( OTF2_LocationRef    locationID,
02081                                              OTF2_TimeStamp      time,
02082                                              void*               userData,
02083                                              OTF2_AttributeList* attributeList,
02084                                              OTF2_RmaWinRef      win,
02085                                              uint32_t            remote,
02086                                              OTF2_RmaAtomicType  type,
02087                                              uint64_t            bytesSent,
02088                                              uint64_t            bytesReceived,
02089                                              uint64_t            matchingId );
02090 
02091 
02106 OTF2_ErrorCode
02107 OTF2_GlobalEvtReaderCallbacks_SetRmaAtomicCallback(
02108     OTF2_GlobalEvtReaderCallbacks*         globalEvtReaderCallbacks,
02109     OTF2_GlobalEvtReaderCallback_RmaAtomic rmaAtomicCallback );
02110 
02111 
02133 typedef OTF2_CallbackCode
02134 ( *OTF2_GlobalEvtReaderCallback_RmaOpCompleteBlocking )( OTF2_LocationRef    locationID,
02135                                                          OTF2_TimeStamp      time,
02136                                                          void*               userData,
02137                                                          OTF2_AttributeList* attributeList,
02138                                                          OTF2_RmaWinRef      win,
02139                                                          uint64_t            matchingId );
02140 
02141 
02156 OTF2_ErrorCode
02157 OTF2_GlobalEvtReaderCallbacks_SetRmaOpCompleteBlockingCallback(
02158     OTF2_GlobalEvtReaderCallbacks*                     globalEvtReaderCallbacks,
02159     OTF2_GlobalEvtReaderCallback_RmaOpCompleteBlocking rmaOpCompleteBlockingCallback );
02160 
02161 
02183 typedef OTF2_CallbackCode
02184 ( *OTF2_GlobalEvtReaderCallback_RmaOpCompleteNonBlocking )( OTF2_LocationRef    locationID,
02185                                                             OTF2_TimeStamp      time,
02186                                                             void*               userData,
02187                                                             OTF2_AttributeList* attributeList,
02188                                                             OTF2_RmaWinRef      win,
02189                                                             uint64_t            matchingId );
02190 
02191 
02206 OTF2_ErrorCode
02207 OTF2_GlobalEvtReaderCallbacks_SetRmaOpCompleteNonBlockingCallback(
02208     OTF2_GlobalEvtReaderCallbacks*                        globalEvtReaderCallbacks,
02209     OTF2_GlobalEvtReaderCallback_RmaOpCompleteNonBlocking rmaOpCompleteNonBlockingCallback );
02210 
02211 
02233 typedef OTF2_CallbackCode
02234 ( *OTF2_GlobalEvtReaderCallback_RmaOpTest )( OTF2_LocationRef    locationID,
02235                                              OTF2_TimeStamp      time,
02236                                              void*               userData,
02237                                              OTF2_AttributeList* attributeList,
02238                                              OTF2_RmaWinRef      win,
02239                                              uint64_t            matchingId );
02240 
02241 
02256 OTF2_ErrorCode
02257 OTF2_GlobalEvtReaderCallbacks_SetRmaOpTestCallback(
02258     OTF2_GlobalEvtReaderCallbacks*         globalEvtReaderCallbacks,
02259     OTF2_GlobalEvtReaderCallback_RmaOpTest rmaOpTestCallback );
02260 
02261 
02283 typedef OTF2_CallbackCode
02284 ( *OTF2_GlobalEvtReaderCallback_RmaOpCompleteRemote )( OTF2_LocationRef    locationID,
02285                                                        OTF2_TimeStamp      time,
02286                                                        void*               userData,
02287                                                        OTF2_AttributeList* attributeList,
02288                                                        OTF2_RmaWinRef      win,
02289                                                        uint64_t            matchingId );
02290 
02291 
02306 OTF2_ErrorCode
02307 OTF2_GlobalEvtReaderCallbacks_SetRmaOpCompleteRemoteCallback(
02308     OTF2_GlobalEvtReaderCallbacks*                   globalEvtReaderCallbacks,
02309     OTF2_GlobalEvtReaderCallback_RmaOpCompleteRemote rmaOpCompleteRemoteCallback );
02310 
02311 
02329 typedef OTF2_CallbackCode
02330 ( *OTF2_GlobalEvtReaderCallback_ThreadFork )( OTF2_LocationRef    locationID,
02331                                               OTF2_TimeStamp      time,
02332                                               void*               userData,
02333                                               OTF2_AttributeList* attributeList,
02334                                               OTF2_Paradigm       model,
02335                                               uint32_t            numberOfRequestedThreads );
02336 
02337 
02352 OTF2_ErrorCode
02353 OTF2_GlobalEvtReaderCallbacks_SetThreadForkCallback(
02354     OTF2_GlobalEvtReaderCallbacks*          globalEvtReaderCallbacks,
02355     OTF2_GlobalEvtReaderCallback_ThreadFork threadForkCallback );
02356 
02357 
02375 typedef OTF2_CallbackCode
02376 ( *OTF2_GlobalEvtReaderCallback_ThreadJoin )( OTF2_LocationRef    locationID,
02377                                               OTF2_TimeStamp      time,
02378                                               void*               userData,
02379                                               OTF2_AttributeList* attributeList,
02380                                               OTF2_Paradigm       model );
02381 
02382 
02397 OTF2_ErrorCode
02398 OTF2_GlobalEvtReaderCallbacks_SetThreadJoinCallback(
02399     OTF2_GlobalEvtReaderCallbacks*          globalEvtReaderCallbacks,
02400     OTF2_GlobalEvtReaderCallback_ThreadJoin threadJoinCallback );
02401 
02402 
02421 typedef OTF2_CallbackCode
02422 ( *OTF2_GlobalEvtReaderCallback_ThreadTeamBegin )( OTF2_LocationRef    locationID,
02423                                                    OTF2_TimeStamp      time,
02424                                                    void*               userData,
02425                                                    OTF2_AttributeList* attributeList,
02426                                                    OTF2_CommRef        threadTeam );
02427 
02428 
02443 OTF2_ErrorCode
02444 OTF2_GlobalEvtReaderCallbacks_SetThreadTeamBeginCallback(
02445     OTF2_GlobalEvtReaderCallbacks*               globalEvtReaderCallbacks,
02446     OTF2_GlobalEvtReaderCallback_ThreadTeamBegin threadTeamBeginCallback );
02447 
02448 
02467 typedef OTF2_CallbackCode
02468 ( *OTF2_GlobalEvtReaderCallback_ThreadTeamEnd )( OTF2_LocationRef    locationID,
02469                                                  OTF2_TimeStamp      time,
02470                                                  void*               userData,
02471                                                  OTF2_AttributeList* attributeList,
02472                                                  OTF2_CommRef        threadTeam );
02473 
02474 
02489 OTF2_ErrorCode
02490 OTF2_GlobalEvtReaderCallbacks_SetThreadTeamEndCallback(
02491     OTF2_GlobalEvtReaderCallbacks*             globalEvtReaderCallbacks,
02492     OTF2_GlobalEvtReaderCallback_ThreadTeamEnd threadTeamEndCallback );
02493 
02494 
02517 typedef OTF2_CallbackCode
02518 ( *OTF2_GlobalEvtReaderCallback_ThreadAcquireLock )( OTF2_LocationRef    locationID,
02519                                                      OTF2_TimeStamp      time,
02520                                                      void*               userData,
02521                                                      OTF2_AttributeList* attributeList,
02522                                                      OTF2_Paradigm       model,
02523                                                      uint32_t            lockID,
02524                                                      uint32_t            acquisitionOrder );
02525 
02526 
02541 OTF2_ErrorCode
02542 OTF2_GlobalEvtReaderCallbacks_SetThreadAcquireLockCallback(
02543     OTF2_GlobalEvtReaderCallbacks*                 globalEvtReaderCallbacks,
02544     OTF2_GlobalEvtReaderCallback_ThreadAcquireLock threadAcquireLockCallback );
02545 
02546 
02569 typedef OTF2_CallbackCode
02570 ( *OTF2_GlobalEvtReaderCallback_ThreadReleaseLock )( OTF2_LocationRef    locationID,
02571                                                      OTF2_TimeStamp      time,
02572                                                      void*               userData,
02573                                                      OTF2_AttributeList* attributeList,
02574                                                      OTF2_Paradigm       model,
02575                                                      uint32_t            lockID,
02576                                                      uint32_t            acquisitionOrder );
02577 
02578 
02593 OTF2_ErrorCode
02594 OTF2_GlobalEvtReaderCallbacks_SetThreadReleaseLockCallback(
02595     OTF2_GlobalEvtReaderCallbacks*                 globalEvtReaderCallbacks,
02596     OTF2_GlobalEvtReaderCallback_ThreadReleaseLock threadReleaseLockCallback );
02597 
02598 
02622 typedef OTF2_CallbackCode
02623 ( *OTF2_GlobalEvtReaderCallback_ThreadTaskCreate )( OTF2_LocationRef    locationID,
02624                                                     OTF2_TimeStamp      time,
02625                                                     void*               userData,
02626                                                     OTF2_AttributeList* attributeList,
02627                                                     OTF2_CommRef        threadTeam,
02628                                                     uint32_t            creatingThread,
02629                                                     uint32_t            generationNumber );
02630 
02631 
02646 OTF2_ErrorCode
02647 OTF2_GlobalEvtReaderCallbacks_SetThreadTaskCreateCallback(
02648     OTF2_GlobalEvtReaderCallbacks*                globalEvtReaderCallbacks,
02649     OTF2_GlobalEvtReaderCallback_ThreadTaskCreate threadTaskCreateCallback );
02650 
02651 
02677 typedef OTF2_CallbackCode
02678 ( *OTF2_GlobalEvtReaderCallback_ThreadTaskSwitch )( OTF2_LocationRef    locationID,
02679                                                     OTF2_TimeStamp      time,
02680                                                     void*               userData,
02681                                                     OTF2_AttributeList* attributeList,
02682                                                     OTF2_CommRef        threadTeam,
02683                                                     uint32_t            creatingThread,
02684                                                     uint32_t            generationNumber );
02685 
02686 
02701 OTF2_ErrorCode
02702 OTF2_GlobalEvtReaderCallbacks_SetThreadTaskSwitchCallback(
02703     OTF2_GlobalEvtReaderCallbacks*                globalEvtReaderCallbacks,
02704     OTF2_GlobalEvtReaderCallback_ThreadTaskSwitch threadTaskSwitchCallback );
02705 
02706 
02730 typedef OTF2_CallbackCode
02731 ( *OTF2_GlobalEvtReaderCallback_ThreadTaskComplete )( OTF2_LocationRef    locationID,
02732                                                       OTF2_TimeStamp      time,
02733                                                       void*               userData,
02734                                                       OTF2_AttributeList* attributeList,
02735                                                       OTF2_CommRef        threadTeam,
02736                                                       uint32_t            creatingThread,
02737                                                       uint32_t            generationNumber );
02738 
02739 
02754 OTF2_ErrorCode
02755 OTF2_GlobalEvtReaderCallbacks_SetThreadTaskCompleteCallback(
02756     OTF2_GlobalEvtReaderCallbacks*                  globalEvtReaderCallbacks,
02757     OTF2_GlobalEvtReaderCallback_ThreadTaskComplete threadTaskCompleteCallback );
02758 
02759 
02782 typedef OTF2_CallbackCode
02783 ( *OTF2_GlobalEvtReaderCallback_ThreadCreate )( OTF2_LocationRef    locationID,
02784                                                 OTF2_TimeStamp      time,
02785                                                 void*               userData,
02786                                                 OTF2_AttributeList* attributeList,
02787                                                 OTF2_CommRef        threadContingent,
02788                                                 uint64_t            sequenceCount );
02789 
02790 
02805 OTF2_ErrorCode
02806 OTF2_GlobalEvtReaderCallbacks_SetThreadCreateCallback(
02807     OTF2_GlobalEvtReaderCallbacks*            globalEvtReaderCallbacks,
02808     OTF2_GlobalEvtReaderCallback_ThreadCreate threadCreateCallback );
02809 
02810 
02833 typedef OTF2_CallbackCode
02834 ( *OTF2_GlobalEvtReaderCallback_ThreadBegin )( OTF2_LocationRef    locationID,
02835                                                OTF2_TimeStamp      time,
02836                                                void*               userData,
02837                                                OTF2_AttributeList* attributeList,
02838                                                OTF2_CommRef        threadContingent,
02839                                                uint64_t            sequenceCount );
02840 
02841 
02856 OTF2_ErrorCode
02857 OTF2_GlobalEvtReaderCallbacks_SetThreadBeginCallback(
02858     OTF2_GlobalEvtReaderCallbacks*           globalEvtReaderCallbacks,
02859     OTF2_GlobalEvtReaderCallback_ThreadBegin threadBeginCallback );
02860 
02861 
02884 typedef OTF2_CallbackCode
02885 ( *OTF2_GlobalEvtReaderCallback_ThreadWait )( OTF2_LocationRef    locationID,
02886                                               OTF2_TimeStamp      time,
02887                                               void*               userData,
02888                                               OTF2_AttributeList* attributeList,
02889                                               OTF2_CommRef        threadContingent,
02890                                               uint64_t            sequenceCount );
02891 
02892 
02907 OTF2_ErrorCode
02908 OTF2_GlobalEvtReaderCallbacks_SetThreadWaitCallback(
02909     OTF2_GlobalEvtReaderCallbacks*          globalEvtReaderCallbacks,
02910     OTF2_GlobalEvtReaderCallback_ThreadWait threadWaitCallback );
02911 
02912 
02937 typedef OTF2_CallbackCode
02938 ( *OTF2_GlobalEvtReaderCallback_ThreadEnd )( OTF2_LocationRef    locationID,
02939                                              OTF2_TimeStamp      time,
02940                                              void*               userData,
02941                                              OTF2_AttributeList* attributeList,
02942                                              OTF2_CommRef        threadContingent,
02943                                              uint64_t            sequenceCount );
02944 
02945 
02960 OTF2_ErrorCode
02961 OTF2_GlobalEvtReaderCallbacks_SetThreadEndCallback(
02962     OTF2_GlobalEvtReaderCallbacks*         globalEvtReaderCallbacks,
02963     OTF2_GlobalEvtReaderCallback_ThreadEnd threadEndCallback );
02964 
02965 
02966 #ifdef __cplusplus
02967 }
02968 #endif /* __cplusplus */
02969 
02970 
02971 #endif /* !OTF2_GLOBAL_EVT_READER_CALLBACKS_H */