1.4 (revision 3771)
otf2/OTF2_Reader.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-2013,
00005  * RWTH Aachen University, Germany
00006  *
00007  * Copyright (c) 2009-2013,
00008  * Gesellschaft fuer numerische Simulation mbH Braunschweig, Germany
00009  *
00010  * Copyright (c) 2009-2014,
00011  * Technische Universitaet Dresden, Germany
00012  *
00013  * Copyright (c) 2009-2013,
00014  * University of Oregon, Eugene, USA
00015  *
00016  * Copyright (c) 2009-2014,
00017  * Forschungszentrum Juelich GmbH, Germany
00018  *
00019  * Copyright (c) 2009-2013,
00020  * German Research School for Simulation Sciences GmbH, Juelich/Aachen, Germany
00021  *
00022  * Copyright (c) 2009-2013,
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_READER_H
00033 #define OTF2_READER_H
00034 
00035 
00175 #include <stdint.h>
00176 
00177 
00178 #include <otf2/OTF2_ErrorCodes.h>
00179 
00180 
00181 #include <otf2/OTF2_Archive.h>
00182 
00183 
00184 #ifdef __cplusplus
00185 extern "C" {
00186 #endif /* __cplusplus */
00187 
00188 
00190 typedef struct OTF2_Reader_struct OTF2_Reader;
00191 
00192 
00204 OTF2_Reader*
00205 OTF2_Reader_Open( const char* anchorFilePath );
00206 
00207 
00217 OTF2_ErrorCode
00218 OTF2_Reader_Close( OTF2_Reader* reader );
00219 
00220 
00239 OTF2_ErrorCode
00240 OTF2_Reader_SetCollectiveCallbacks( OTF2_Reader*                    reader,
00241                                     const OTF2_CollectiveCallbacks* collectiveCallbacks,
00242                                     void*                           collectiveData,
00243                                     OTF2_CollectiveContext*         globalCommContext,
00244                                     OTF2_CollectiveContext*         localCommContext );
00245 
00246 
00254 OTF2_ErrorCode
00255 OTF2_Reader_SetSerialCollectiveCallbacks( OTF2_Reader* reader );
00256 
00257 
00267 OTF2_ErrorCode
00268 OTF2_Reader_RegisterEvtCallbacks( OTF2_Reader*                   reader,
00269                                   OTF2_EvtReader*                evtReader,
00270                                   const OTF2_EvtReaderCallbacks* callbacks,
00271                                   void*                          userData );
00272 
00273 
00284 OTF2_ErrorCode
00285 OTF2_Reader_RegisterGlobalEvtCallbacks( OTF2_Reader*                         reader,
00286                                         OTF2_GlobalEvtReader*                evtReader,
00287                                         const OTF2_GlobalEvtReaderCallbacks* callbacks,
00288                                         void*                                userData );
00289 
00290 
00300 OTF2_ErrorCode
00301 OTF2_Reader_RegisterDefCallbacks( OTF2_Reader*                   reader,
00302                                   OTF2_DefReader*                defReader,
00303                                   const OTF2_DefReaderCallbacks* callbacks,
00304                                   void*                          userData );
00305 
00306 
00316 OTF2_ErrorCode
00317 OTF2_Reader_RegisterGlobalDefCallbacks( OTF2_Reader*                         reader,
00318                                         OTF2_GlobalDefReader*                defReader,
00319                                         const OTF2_GlobalDefReaderCallbacks* callbacks,
00320                                         void*                                userData );
00321 
00322 
00334 OTF2_ErrorCode
00335 OTF2_Reader_RegisterSnapCallbacks( OTF2_Reader*                    reader,
00336                                    OTF2_SnapReader*                snapReader,
00337                                    const OTF2_SnapReaderCallbacks* callbacks,
00338                                    void*                           userData );
00339 
00340 
00353 OTF2_ErrorCode
00354 OTF2_Reader_RegisterGlobalSnapCallbacks( OTF2_Reader*                          reader,
00355                                          OTF2_GlobalSnapReader*                evtReader,
00356                                          const OTF2_GlobalSnapReaderCallbacks* callbacks,
00357                                          void*                                 userData );
00358 
00359 
00371 OTF2_ErrorCode
00372 OTF2_Reader_RegisterMarkerCallbacks( OTF2_Reader*                      reader,
00373                                      OTF2_MarkerReader*                markerReader,
00374                                      const OTF2_MarkerReaderCallbacks* callbacks,
00375                                      void*                             userData );
00376 
00377 
00387 OTF2_ErrorCode
00388 OTF2_Reader_ReadLocalEvents( OTF2_Reader*    reader,
00389                              OTF2_EvtReader* evtReader,
00390                              uint64_t        eventsToRead,
00391                              uint64_t*       eventsRead );
00392 
00393 
00402 OTF2_ErrorCode
00403 OTF2_Reader_ReadAllLocalEvents( OTF2_Reader*    reader,
00404                                 OTF2_EvtReader* evtReader,
00405                                 uint64_t*       eventsRead );
00406 
00407 
00417 OTF2_ErrorCode
00418 OTF2_Reader_ReadLocalEventsBackward( OTF2_Reader*    reader,
00419                                      OTF2_EvtReader* evtReader,
00420                                      uint64_t        eventsToRead,
00421                                      uint64_t*       eventsRead );
00422 
00423 
00431 OTF2_ErrorCode
00432 OTF2_Reader_ReadGlobalEvent( OTF2_Reader*          reader,
00433                              OTF2_GlobalEvtReader* evtReader );
00434 
00435 
00446 OTF2_ErrorCode
00447 OTF2_Reader_HasGlobalEvent( OTF2_Reader*          reader,
00448                             OTF2_GlobalEvtReader* evtReader,
00449                             int*                  flag );
00450 
00451 
00461 OTF2_ErrorCode
00462 OTF2_Reader_ReadGlobalEvents( OTF2_Reader*          reader,
00463                               OTF2_GlobalEvtReader* evtReader,
00464                               uint64_t              eventsToRead,
00465                               uint64_t*             eventsRead );
00466 
00467 
00476 OTF2_ErrorCode
00477 OTF2_Reader_ReadAllGlobalEvents( OTF2_Reader*          reader,
00478                                  OTF2_GlobalEvtReader* evtReader,
00479                                  uint64_t*             eventsRead );
00480 
00481 
00499 OTF2_ErrorCode
00500 OTF2_Reader_ReadLocalDefinitions( OTF2_Reader*    reader,
00501                                   OTF2_DefReader* defReader,
00502                                   uint64_t        definitionsToRead,
00503                                   uint64_t*       definitionsRead );
00504 
00505 
00522 OTF2_ErrorCode
00523 OTF2_Reader_ReadAllLocalDefinitions( OTF2_Reader*    reader,
00524                                      OTF2_DefReader* defReader,
00525                                      uint64_t*       definitionsRead );
00526 
00527 
00538 OTF2_ErrorCode
00539 OTF2_Reader_ReadGlobalDefinitions( OTF2_Reader*          reader,
00540                                    OTF2_GlobalDefReader* defReader,
00541                                    uint64_t              definitionsToRead,
00542                                    uint64_t*             definitionsRead );
00543 
00544 
00554 OTF2_ErrorCode
00555 OTF2_Reader_ReadAllGlobalDefinitions( OTF2_Reader*          reader,
00556                                       OTF2_GlobalDefReader* defReader,
00557                                       uint64_t*             definitionsRead );
00558 
00559 
00571 OTF2_ErrorCode
00572 OTF2_Reader_ReadLocalSnapshots( OTF2_Reader*     reader,
00573                                 OTF2_SnapReader* snapReader,
00574                                 uint64_t         recordsToRead,
00575                                 uint64_t*        recordsRead );
00576 
00577 
00588 OTF2_ErrorCode
00589 OTF2_Reader_ReadAllLocalSnapshots( OTF2_Reader*     reader,
00590                                    OTF2_SnapReader* snapReader,
00591                                    uint64_t*        recordsRead );
00592 
00593 
00606 OTF2_ErrorCode
00607 OTF2_Reader_ReadGlobalSnapshots( OTF2_Reader*           reader,
00608                                  OTF2_GlobalSnapReader* snapReader,
00609                                  uint64_t               recordsToRead,
00610                                  uint64_t*              recordsRead );
00611 
00612 
00623 OTF2_ErrorCode
00624 OTF2_Reader_ReadAllGlobalSnapshots( OTF2_Reader*           reader,
00625                                     OTF2_GlobalSnapReader* snapReader,
00626                                     uint64_t*              recordsRead );
00627 
00628 
00641 OTF2_ErrorCode
00642 OTF2_Reader_ReadMarkers( OTF2_Reader*       reader,
00643                          OTF2_MarkerReader* markerReader,
00644                          uint64_t           markersToRead,
00645                          uint64_t*          markersRead );
00646 
00647 
00659 OTF2_ErrorCode
00660 OTF2_Reader_ReadAllMarkers( OTF2_Reader*       reader,
00661                             OTF2_MarkerReader* markerReader,
00662                             uint64_t*          markersRead );
00663 
00664 
00673 OTF2_EvtReader*
00674 OTF2_Reader_GetEvtReader( OTF2_Reader*     reader,
00675                           OTF2_LocationRef location );
00676 
00677 
00685 OTF2_GlobalEvtReader*
00686 OTF2_Reader_GetGlobalEvtReader( OTF2_Reader* reader );
00687 
00688 
00697 OTF2_DefReader*
00698 OTF2_Reader_GetDefReader( OTF2_Reader*     reader,
00699                           OTF2_LocationRef location );
00700 
00701 
00709 OTF2_GlobalDefReader*
00710 OTF2_Reader_GetGlobalDefReader( OTF2_Reader* reader );
00711 
00712 
00722 OTF2_SnapReader*
00723 OTF2_Reader_GetSnapReader( OTF2_Reader*     reader,
00724                            OTF2_LocationRef location );
00725 
00726 
00735 OTF2_GlobalSnapReader*
00736 OTF2_Reader_GetGlobalSnapReader( OTF2_Reader* reader );
00737 
00738 
00749 OTF2_ThumbReader*
00750 OTF2_Reader_GetThumbReader( OTF2_Reader* reader,
00751                             uint32_t     number );
00752 
00753 
00763 OTF2_MarkerReader*
00764 OTF2_Reader_GetMarkerReader( OTF2_Reader* reader );
00765 
00766 
00776 OTF2_MarkerWriter*
00777 OTF2_Reader_GetMarkerWriter( OTF2_Reader* reader );
00778 
00779 
00787 OTF2_ErrorCode
00788 OTF2_Reader_CloseEvtReader( OTF2_Reader*    reader,
00789                             OTF2_EvtReader* evtReader );
00790 
00791 
00801 OTF2_ErrorCode
00802 OTF2_Reader_CloseGlobalEvtReader( OTF2_Reader*          reader,
00803                                   OTF2_GlobalEvtReader* globalEvtReader );
00804 
00805 
00813 OTF2_ErrorCode
00814 OTF2_Reader_CloseDefReader( OTF2_Reader*    reader,
00815                             OTF2_DefReader* defReader );
00816 
00817 
00825 OTF2_ErrorCode
00826 OTF2_Reader_CloseGlobalDefReader( OTF2_Reader*          reader,
00827                                   OTF2_GlobalDefReader* globalDefReader );
00828 
00829 
00839 OTF2_ErrorCode
00840 OTF2_Reader_CloseSnapReader( OTF2_Reader*     reader,
00841                              OTF2_SnapReader* snapReader );
00842 
00843 
00853 OTF2_ErrorCode
00854 OTF2_Reader_CloseGlobalSnapReader( OTF2_Reader*           reader,
00855                                    OTF2_GlobalSnapReader* globalSnapReader );
00856 
00857 
00867 OTF2_ErrorCode
00868 OTF2_Reader_CloseThumbReader( OTF2_Reader*      reader,
00869                               OTF2_ThumbReader* thumbReader );
00870 
00871 
00881 OTF2_ErrorCode
00882 OTF2_Reader_CloseMarkerReader( OTF2_Reader*       reader,
00883                                OTF2_MarkerReader* markerReader );
00884 
00885 
00895 OTF2_ErrorCode
00896 OTF2_Reader_CloseMarkerWriter( OTF2_Reader*       reader,
00897                                OTF2_MarkerWriter* markerWriter );
00898 
00899 
00909 OTF2_ErrorCode
00910 OTF2_Reader_GetVersion( OTF2_Reader* reader,
00911                         uint8_t*     major,
00912                         uint8_t*     minor,
00913                         uint8_t*     bugfix );
00914 
00915 
00924 OTF2_ErrorCode
00925 OTF2_Reader_GetChunkSize( OTF2_Reader* reader,
00926                           uint64_t*    chunkSizeEvents,
00927                           uint64_t*    chunkSizeDefinitions );
00928 
00929 
00937 OTF2_ErrorCode
00938 OTF2_Reader_GetFileSubstrate( OTF2_Reader*        reader,
00939                               OTF2_FileSubstrate* substrate );
00940 
00941 
00949 OTF2_ErrorCode
00950 OTF2_Reader_GetCompression( OTF2_Reader*      reader,
00951                             OTF2_Compression* compression );
00952 
00953 
00961 OTF2_ErrorCode
00962 OTF2_Reader_GetNumberOfLocations( OTF2_Reader* reader,
00963                                   uint64_t*    numberOfLocations );
00964 
00965 
00973 OTF2_ErrorCode
00974 OTF2_Reader_GetNumberOfGlobalDefinitions( OTF2_Reader* reader,
00975                                           uint64_t*    numberOfDefinitions );
00976 
00977 
00985 OTF2_ErrorCode
00986 OTF2_Reader_GetMachineName( OTF2_Reader* reader,
00987                             char**       machineName );
00988 
00989 
00997 OTF2_ErrorCode
00998 OTF2_Reader_GetCreator( OTF2_Reader* reader,
00999                         char**       creator );
01000 
01001 
01009 OTF2_ErrorCode
01010 OTF2_Reader_GetDescription( OTF2_Reader* reader,
01011                             char**       description );
01012 
01013 
01024 OTF2_ErrorCode
01025 OTF2_Reader_GetPropertyNames( OTF2_Reader* reader,
01026                               uint32_t*    numberOfProperties,
01027                               char***      names );
01028 
01029 
01043 OTF2_ErrorCode
01044 OTF2_Reader_GetProperty( OTF2_Reader* reader,
01045                          const char*  name,
01046                          char**       value );
01047 
01048 
01063 OTF2_ErrorCode
01064 OTF2_Reader_GetBoolProperty( OTF2_Reader* reader,
01065                              const char*  name,
01066                              bool*        value );
01067 
01068 
01076 OTF2_ErrorCode
01077 OTF2_Reader_GetTraceId( OTF2_Reader* reader,
01078                         uint64_t*    id );
01079 
01080 
01090 OTF2_ErrorCode
01091 OTF2_Reader_GetNumberOfSnapshots( OTF2_Reader* reader,
01092                                   uint32_t*    number );
01093 
01094 
01104 OTF2_ErrorCode
01105 OTF2_Reader_GetNumberOfThumbnails( OTF2_Reader* reader,
01106                                    uint32_t*    number );
01107 
01108 
01120 OTF2_ErrorCode
01121 OTF2_Reader_OpenEvtFiles( OTF2_Reader* reader );
01122 
01123 
01137 OTF2_ErrorCode
01138 OTF2_Reader_CloseEvtFiles( OTF2_Reader* reader );
01139 
01140 
01152 OTF2_ErrorCode
01153 OTF2_Reader_OpenDefFiles( OTF2_Reader* reader );
01154 
01155 
01169 OTF2_ErrorCode
01170 OTF2_Reader_CloseDefFiles( OTF2_Reader* reader );
01171 
01172 
01184 OTF2_ErrorCode
01185 OTF2_Reader_OpenSnapFiles( OTF2_Reader* reader );
01186 
01187 
01201 OTF2_ErrorCode
01202 OTF2_Reader_CloseSnapFiles( OTF2_Reader* reader );
01203 
01204 
01215 OTF2_ErrorCode
01216 OTF2_Reader_SelectLocation( OTF2_Reader*     reader,
01217                             OTF2_LocationRef location );
01218 
01219 
01220 #ifdef __cplusplus
01221 }
01222 #endif /* __cplusplus */
01223 
01224 
01225 #endif /* !OTF2_READER_H */