![]() |
1.4 (revision 3771)
|
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 */