1.5.1 (revision 4026)
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 
00246 OTF2_ErrorCode
00247 OTF2_Reader_SetHint( OTF2_Reader* reader,
00248                      OTF2_Hint    hint,
00249                      void*        value );
00250 
00251 
00270 OTF2_ErrorCode
00271 OTF2_Reader_SetCollectiveCallbacks( OTF2_Reader*                    reader,
00272                                     const OTF2_CollectiveCallbacks* collectiveCallbacks,
00273                                     void*                           collectiveData,
00274                                     OTF2_CollectiveContext*         globalCommContext,
00275                                     OTF2_CollectiveContext*         localCommContext );
00276 
00277 
00285 OTF2_ErrorCode
00286 OTF2_Reader_SetSerialCollectiveCallbacks( OTF2_Reader* reader );
00287 
00288 
00308 OTF2_ErrorCode
00309 OTF2_Reader_SetLockingCallbacks( OTF2_Reader*                 reader,
00310                                  const OTF2_LockingCallbacks* lockingCallbacks,
00311                                  void*                        lockingData );
00312 
00313 
00323 OTF2_ErrorCode
00324 OTF2_Reader_RegisterEvtCallbacks( OTF2_Reader*                   reader,
00325                                   OTF2_EvtReader*                evtReader,
00326                                   const OTF2_EvtReaderCallbacks* callbacks,
00327                                   void*                          userData );
00328 
00329 
00340 OTF2_ErrorCode
00341 OTF2_Reader_RegisterGlobalEvtCallbacks( OTF2_Reader*                         reader,
00342                                         OTF2_GlobalEvtReader*                evtReader,
00343                                         const OTF2_GlobalEvtReaderCallbacks* callbacks,
00344                                         void*                                userData );
00345 
00346 
00356 OTF2_ErrorCode
00357 OTF2_Reader_RegisterDefCallbacks( OTF2_Reader*                   reader,
00358                                   OTF2_DefReader*                defReader,
00359                                   const OTF2_DefReaderCallbacks* callbacks,
00360                                   void*                          userData );
00361 
00362 
00372 OTF2_ErrorCode
00373 OTF2_Reader_RegisterGlobalDefCallbacks( OTF2_Reader*                         reader,
00374                                         OTF2_GlobalDefReader*                defReader,
00375                                         const OTF2_GlobalDefReaderCallbacks* callbacks,
00376                                         void*                                userData );
00377 
00378 
00390 OTF2_ErrorCode
00391 OTF2_Reader_RegisterSnapCallbacks( OTF2_Reader*                    reader,
00392                                    OTF2_SnapReader*                snapReader,
00393                                    const OTF2_SnapReaderCallbacks* callbacks,
00394                                    void*                           userData );
00395 
00396 
00409 OTF2_ErrorCode
00410 OTF2_Reader_RegisterGlobalSnapCallbacks( OTF2_Reader*                          reader,
00411                                          OTF2_GlobalSnapReader*                evtReader,
00412                                          const OTF2_GlobalSnapReaderCallbacks* callbacks,
00413                                          void*                                 userData );
00414 
00415 
00427 OTF2_ErrorCode
00428 OTF2_Reader_RegisterMarkerCallbacks( OTF2_Reader*                      reader,
00429                                      OTF2_MarkerReader*                markerReader,
00430                                      const OTF2_MarkerReaderCallbacks* callbacks,
00431                                      void*                             userData );
00432 
00433 
00443 OTF2_ErrorCode
00444 OTF2_Reader_ReadLocalEvents( OTF2_Reader*    reader,
00445                              OTF2_EvtReader* evtReader,
00446                              uint64_t        eventsToRead,
00447                              uint64_t*       eventsRead );
00448 
00449 
00458 OTF2_ErrorCode
00459 OTF2_Reader_ReadAllLocalEvents( OTF2_Reader*    reader,
00460                                 OTF2_EvtReader* evtReader,
00461                                 uint64_t*       eventsRead );
00462 
00463 
00473 OTF2_ErrorCode
00474 OTF2_Reader_ReadLocalEventsBackward( OTF2_Reader*    reader,
00475                                      OTF2_EvtReader* evtReader,
00476                                      uint64_t        eventsToRead,
00477                                      uint64_t*       eventsRead );
00478 
00479 
00487 OTF2_ErrorCode
00488 OTF2_Reader_ReadGlobalEvent( OTF2_Reader*          reader,
00489                              OTF2_GlobalEvtReader* evtReader );
00490 
00491 
00502 OTF2_ErrorCode
00503 OTF2_Reader_HasGlobalEvent( OTF2_Reader*          reader,
00504                             OTF2_GlobalEvtReader* evtReader,
00505                             int*                  flag );
00506 
00507 
00517 OTF2_ErrorCode
00518 OTF2_Reader_ReadGlobalEvents( OTF2_Reader*          reader,
00519                               OTF2_GlobalEvtReader* evtReader,
00520                               uint64_t              eventsToRead,
00521                               uint64_t*             eventsRead );
00522 
00523 
00532 OTF2_ErrorCode
00533 OTF2_Reader_ReadAllGlobalEvents( OTF2_Reader*          reader,
00534                                  OTF2_GlobalEvtReader* evtReader,
00535                                  uint64_t*             eventsRead );
00536 
00537 
00555 OTF2_ErrorCode
00556 OTF2_Reader_ReadLocalDefinitions( OTF2_Reader*    reader,
00557                                   OTF2_DefReader* defReader,
00558                                   uint64_t        definitionsToRead,
00559                                   uint64_t*       definitionsRead );
00560 
00561 
00578 OTF2_ErrorCode
00579 OTF2_Reader_ReadAllLocalDefinitions( OTF2_Reader*    reader,
00580                                      OTF2_DefReader* defReader,
00581                                      uint64_t*       definitionsRead );
00582 
00583 
00594 OTF2_ErrorCode
00595 OTF2_Reader_ReadGlobalDefinitions( OTF2_Reader*          reader,
00596                                    OTF2_GlobalDefReader* defReader,
00597                                    uint64_t              definitionsToRead,
00598                                    uint64_t*             definitionsRead );
00599 
00600 
00610 OTF2_ErrorCode
00611 OTF2_Reader_ReadAllGlobalDefinitions( OTF2_Reader*          reader,
00612                                       OTF2_GlobalDefReader* defReader,
00613                                       uint64_t*             definitionsRead );
00614 
00615 
00627 OTF2_ErrorCode
00628 OTF2_Reader_ReadLocalSnapshots( OTF2_Reader*     reader,
00629                                 OTF2_SnapReader* snapReader,
00630                                 uint64_t         recordsToRead,
00631                                 uint64_t*        recordsRead );
00632 
00633 
00644 OTF2_ErrorCode
00645 OTF2_Reader_ReadAllLocalSnapshots( OTF2_Reader*     reader,
00646                                    OTF2_SnapReader* snapReader,
00647                                    uint64_t*        recordsRead );
00648 
00649 
00662 OTF2_ErrorCode
00663 OTF2_Reader_ReadGlobalSnapshots( OTF2_Reader*           reader,
00664                                  OTF2_GlobalSnapReader* snapReader,
00665                                  uint64_t               recordsToRead,
00666                                  uint64_t*              recordsRead );
00667 
00668 
00679 OTF2_ErrorCode
00680 OTF2_Reader_ReadAllGlobalSnapshots( OTF2_Reader*           reader,
00681                                     OTF2_GlobalSnapReader* snapReader,
00682                                     uint64_t*              recordsRead );
00683 
00684 
00697 OTF2_ErrorCode
00698 OTF2_Reader_ReadMarkers( OTF2_Reader*       reader,
00699                          OTF2_MarkerReader* markerReader,
00700                          uint64_t           markersToRead,
00701                          uint64_t*          markersRead );
00702 
00703 
00715 OTF2_ErrorCode
00716 OTF2_Reader_ReadAllMarkers( OTF2_Reader*       reader,
00717                             OTF2_MarkerReader* markerReader,
00718                             uint64_t*          markersRead );
00719 
00720 
00729 OTF2_EvtReader*
00730 OTF2_Reader_GetEvtReader( OTF2_Reader*     reader,
00731                           OTF2_LocationRef location );
00732 
00733 
00741 OTF2_GlobalEvtReader*
00742 OTF2_Reader_GetGlobalEvtReader( OTF2_Reader* reader );
00743 
00744 
00753 OTF2_DefReader*
00754 OTF2_Reader_GetDefReader( OTF2_Reader*     reader,
00755                           OTF2_LocationRef location );
00756 
00757 
00765 OTF2_GlobalDefReader*
00766 OTF2_Reader_GetGlobalDefReader( OTF2_Reader* reader );
00767 
00768 
00778 OTF2_SnapReader*
00779 OTF2_Reader_GetSnapReader( OTF2_Reader*     reader,
00780                            OTF2_LocationRef location );
00781 
00782 
00791 OTF2_GlobalSnapReader*
00792 OTF2_Reader_GetGlobalSnapReader( OTF2_Reader* reader );
00793 
00794 
00805 OTF2_ThumbReader*
00806 OTF2_Reader_GetThumbReader( OTF2_Reader* reader,
00807                             uint32_t     number );
00808 
00809 
00819 OTF2_MarkerReader*
00820 OTF2_Reader_GetMarkerReader( OTF2_Reader* reader );
00821 
00822 
00832 OTF2_MarkerWriter*
00833 OTF2_Reader_GetMarkerWriter( OTF2_Reader* reader );
00834 
00835 
00843 OTF2_ErrorCode
00844 OTF2_Reader_CloseEvtReader( OTF2_Reader*    reader,
00845                             OTF2_EvtReader* evtReader );
00846 
00847 
00857 OTF2_ErrorCode
00858 OTF2_Reader_CloseGlobalEvtReader( OTF2_Reader*          reader,
00859                                   OTF2_GlobalEvtReader* globalEvtReader );
00860 
00861 
00869 OTF2_ErrorCode
00870 OTF2_Reader_CloseDefReader( OTF2_Reader*    reader,
00871                             OTF2_DefReader* defReader );
00872 
00873 
00881 OTF2_ErrorCode
00882 OTF2_Reader_CloseGlobalDefReader( OTF2_Reader*          reader,
00883                                   OTF2_GlobalDefReader* globalDefReader );
00884 
00885 
00895 OTF2_ErrorCode
00896 OTF2_Reader_CloseSnapReader( OTF2_Reader*     reader,
00897                              OTF2_SnapReader* snapReader );
00898 
00899 
00909 OTF2_ErrorCode
00910 OTF2_Reader_CloseGlobalSnapReader( OTF2_Reader*           reader,
00911                                    OTF2_GlobalSnapReader* globalSnapReader );
00912 
00913 
00923 OTF2_ErrorCode
00924 OTF2_Reader_CloseThumbReader( OTF2_Reader*      reader,
00925                               OTF2_ThumbReader* thumbReader );
00926 
00927 
00937 OTF2_ErrorCode
00938 OTF2_Reader_CloseMarkerReader( OTF2_Reader*       reader,
00939                                OTF2_MarkerReader* markerReader );
00940 
00941 
00951 OTF2_ErrorCode
00952 OTF2_Reader_CloseMarkerWriter( OTF2_Reader*       reader,
00953                                OTF2_MarkerWriter* markerWriter );
00954 
00955 
00965 OTF2_ErrorCode
00966 OTF2_Reader_GetVersion( OTF2_Reader* reader,
00967                         uint8_t*     major,
00968                         uint8_t*     minor,
00969                         uint8_t*     bugfix );
00970 
00971 
00980 OTF2_ErrorCode
00981 OTF2_Reader_GetChunkSize( OTF2_Reader* reader,
00982                           uint64_t*    chunkSizeEvents,
00983                           uint64_t*    chunkSizeDefinitions );
00984 
00985 
00993 OTF2_ErrorCode
00994 OTF2_Reader_GetFileSubstrate( OTF2_Reader*        reader,
00995                               OTF2_FileSubstrate* substrate );
00996 
00997 
01005 OTF2_ErrorCode
01006 OTF2_Reader_GetCompression( OTF2_Reader*      reader,
01007                             OTF2_Compression* compression );
01008 
01009 
01017 OTF2_ErrorCode
01018 OTF2_Reader_GetNumberOfLocations( OTF2_Reader* reader,
01019                                   uint64_t*    numberOfLocations );
01020 
01021 
01029 OTF2_ErrorCode
01030 OTF2_Reader_GetNumberOfGlobalDefinitions( OTF2_Reader* reader,
01031                                           uint64_t*    numberOfDefinitions );
01032 
01033 
01041 OTF2_ErrorCode
01042 OTF2_Reader_GetMachineName( OTF2_Reader* reader,
01043                             char**       machineName );
01044 
01045 
01053 OTF2_ErrorCode
01054 OTF2_Reader_GetCreator( OTF2_Reader* reader,
01055                         char**       creator );
01056 
01057 
01065 OTF2_ErrorCode
01066 OTF2_Reader_GetDescription( OTF2_Reader* reader,
01067                             char**       description );
01068 
01069 
01080 OTF2_ErrorCode
01081 OTF2_Reader_GetPropertyNames( OTF2_Reader* reader,
01082                               uint32_t*    numberOfProperties,
01083                               char***      names );
01084 
01085 
01099 OTF2_ErrorCode
01100 OTF2_Reader_GetProperty( OTF2_Reader* reader,
01101                          const char*  name,
01102                          char**       value );
01103 
01104 
01119 OTF2_ErrorCode
01120 OTF2_Reader_GetBoolProperty( OTF2_Reader* reader,
01121                              const char*  name,
01122                              bool*        value );
01123 
01124 
01132 OTF2_ErrorCode
01133 OTF2_Reader_GetTraceId( OTF2_Reader* reader,
01134                         uint64_t*    id );
01135 
01136 
01146 OTF2_ErrorCode
01147 OTF2_Reader_GetNumberOfSnapshots( OTF2_Reader* reader,
01148                                   uint32_t*    number );
01149 
01150 
01160 OTF2_ErrorCode
01161 OTF2_Reader_GetNumberOfThumbnails( OTF2_Reader* reader,
01162                                    uint32_t*    number );
01163 
01164 
01176 OTF2_ErrorCode
01177 OTF2_Reader_OpenEvtFiles( OTF2_Reader* reader );
01178 
01179 
01193 OTF2_ErrorCode
01194 OTF2_Reader_CloseEvtFiles( OTF2_Reader* reader );
01195 
01196 
01208 OTF2_ErrorCode
01209 OTF2_Reader_OpenDefFiles( OTF2_Reader* reader );
01210 
01211 
01225 OTF2_ErrorCode
01226 OTF2_Reader_CloseDefFiles( OTF2_Reader* reader );
01227 
01228 
01240 OTF2_ErrorCode
01241 OTF2_Reader_OpenSnapFiles( OTF2_Reader* reader );
01242 
01243 
01257 OTF2_ErrorCode
01258 OTF2_Reader_CloseSnapFiles( OTF2_Reader* reader );
01259 
01260 
01271 OTF2_ErrorCode
01272 OTF2_Reader_SelectLocation( OTF2_Reader*     reader,
01273                             OTF2_LocationRef location );
01274 
01275 
01276 #ifdef __cplusplus
01277 }
01278 #endif /* __cplusplus */
01279 
01280 
01281 #endif /* !OTF2_READER_H */