![]() |
1.2 (revision 3183)
|
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 * Gesellschaft fuer numerische Simulation mbH Braunschweig, Germany 00007 * Technische Universitaet Dresden, Germany 00008 * University of Oregon, Eugene, USA 00009 * Forschungszentrum Juelich GmbH, Germany 00010 * German Research School for Simulation Sciences GmbH, Juelich/Aachen, Germany 00011 * Technische Universitaet Muenchen, Germany 00012 * 00013 * See the COPYING file in the package base directory for details. 00014 * 00015 */ 00016 00017 00018 #ifndef OTF2_DEF_WRITER_H 00019 #define OTF2_DEF_WRITER_H 00020 00021 00031 #include <stdint.h> 00032 00033 00034 #include <otf2/OTF2_ErrorCodes.h> 00035 00036 00037 #include <otf2/OTF2_Definitions.h> 00038 #include <otf2/OTF2_IdMap.h> 00039 00040 00041 #ifdef __cplusplus 00042 extern "C" { 00043 #endif /* __cplusplus */ 00044 00045 00047 typedef struct OTF2_DefWriter_struct OTF2_DefWriter; 00048 00049 00059 OTF2_ErrorCode 00060 OTF2_DefWriter_GetLocationID( const OTF2_DefWriter* writer, 00061 OTF2_LocationRef* location ); 00062 00063 00080 OTF2_ErrorCode 00081 OTF2_DefWriter_WriteMappingTable( OTF2_DefWriter* writer, 00082 OTF2_MappingType mappingType, 00083 const OTF2_IdMap* idMap ); 00084 00085 00102 OTF2_ErrorCode 00103 OTF2_DefWriter_WriteClockOffset( OTF2_DefWriter* writer, 00104 OTF2_TimeStamp time, 00105 int64_t offset, 00106 double standardDeviation ); 00107 00108 00122 OTF2_ErrorCode 00123 OTF2_DefWriter_WriteString( OTF2_DefWriter* writer, 00124 OTF2_StringRef self, 00125 const char* string ); 00126 00127 00142 OTF2_ErrorCode 00143 OTF2_DefWriter_WriteAttribute( OTF2_DefWriter* writer, 00144 OTF2_AttributeRef self, 00145 OTF2_StringRef name, 00146 OTF2_Type type ); 00147 00148 00170 OTF2_ErrorCode 00171 OTF2_DefWriter_WriteSystemTreeNode( OTF2_DefWriter* writer, 00172 OTF2_SystemTreeNodeRef self, 00173 OTF2_StringRef name, 00174 OTF2_StringRef className, 00175 OTF2_SystemTreeNodeRef parent ); 00176 00177 00196 OTF2_ErrorCode 00197 OTF2_DefWriter_WriteLocationGroup( OTF2_DefWriter* writer, 00198 OTF2_LocationGroupRef self, 00199 OTF2_StringRef name, 00200 OTF2_LocationGroupType locationGroupType, 00201 OTF2_SystemTreeNodeRef systemTreeParent ); 00202 00203 00223 OTF2_ErrorCode 00224 OTF2_DefWriter_WriteLocation( OTF2_DefWriter* writer, 00225 OTF2_LocationRef self, 00226 OTF2_StringRef name, 00227 OTF2_LocationType locationType, 00228 uint64_t numberOfEvents, 00229 OTF2_LocationGroupRef locationGroup ); 00230 00231 00259 OTF2_ErrorCode 00260 OTF2_DefWriter_WriteRegion( OTF2_DefWriter* writer, 00261 OTF2_RegionRef self, 00262 OTF2_StringRef name, 00263 OTF2_StringRef canonicalName, 00264 OTF2_StringRef description, 00265 OTF2_RegionRole regionRole, 00266 OTF2_Paradigm paradigm, 00267 OTF2_RegionFlag regionFlags, 00268 OTF2_StringRef sourceFile, 00269 uint32_t beginLineNumber, 00270 uint32_t endLineNumber ); 00271 00272 00292 OTF2_ErrorCode 00293 OTF2_DefWriter_WriteCallsite( OTF2_DefWriter* writer, 00294 OTF2_CallsiteRef self, 00295 OTF2_StringRef sourceFile, 00296 uint32_t lineNumber, 00297 OTF2_RegionRef enteredRegion, 00298 OTF2_RegionRef leftRegion ); 00299 00300 00315 OTF2_ErrorCode 00316 OTF2_DefWriter_WriteCallpath( OTF2_DefWriter* writer, 00317 OTF2_CallpathRef self, 00318 OTF2_CallpathRef parent, 00319 OTF2_RegionRef region ); 00320 00321 00342 OTF2_ErrorCode 00343 OTF2_DefWriter_WriteGroup( OTF2_DefWriter* writer, 00344 OTF2_GroupRef self, 00345 OTF2_StringRef name, 00346 OTF2_GroupType groupType, 00347 OTF2_Paradigm paradigm, 00348 OTF2_GroupFlag groupFlags, 00349 uint32_t numberOfMembers, 00350 const uint64_t* members ); 00351 00352 00392 OTF2_ErrorCode 00393 OTF2_DefWriter_WriteMetricMember( OTF2_DefWriter* writer, 00394 OTF2_MetricMemberRef self, 00395 OTF2_StringRef name, 00396 OTF2_StringRef description, 00397 OTF2_MetricType metricType, 00398 OTF2_MetricMode metricMode, 00399 OTF2_Type valueType, 00400 OTF2_MetricBase metricBase, 00401 int64_t exponent, 00402 OTF2_StringRef unit ); 00403 00404 00427 OTF2_ErrorCode 00428 OTF2_DefWriter_WriteMetricClass( OTF2_DefWriter* writer, 00429 OTF2_MetricRef self, 00430 uint8_t numberOfMetrics, 00431 const OTF2_MetricMemberRef* metricMembers, 00432 OTF2_MetricOccurrence metricOccurrence, 00433 OTF2_RecorderKind recorderKind ); 00434 00435 00461 OTF2_ErrorCode 00462 OTF2_DefWriter_WriteMetricInstance( OTF2_DefWriter* writer, 00463 OTF2_MetricRef self, 00464 OTF2_MetricRef metricClass, 00465 OTF2_LocationRef recorder, 00466 OTF2_MetricScope metricScope, 00467 uint64_t scope ); 00468 00469 00492 OTF2_ErrorCode 00493 OTF2_DefWriter_WriteComm( OTF2_DefWriter* writer, 00494 OTF2_CommRef self, 00495 OTF2_StringRef name, 00496 OTF2_GroupRef group, 00497 OTF2_CommRef parent ); 00498 00499 00517 OTF2_ErrorCode 00518 OTF2_DefWriter_WriteParameter( OTF2_DefWriter* writer, 00519 OTF2_ParameterRef self, 00520 OTF2_StringRef name, 00521 OTF2_ParameterType parameterType ); 00522 00523 00541 OTF2_ErrorCode 00542 OTF2_DefWriter_WriteRmaWin( OTF2_DefWriter* writer, 00543 OTF2_RmaWinRef self, 00544 OTF2_StringRef name, 00545 OTF2_CommRef comm ); 00546 00547 00564 OTF2_ErrorCode 00565 OTF2_DefWriter_WriteMetricClassRecorder( OTF2_DefWriter* writer, 00566 OTF2_MetricRef metricClass, 00567 OTF2_LocationRef recorder ); 00568 00569 00587 OTF2_ErrorCode 00588 OTF2_DefWriter_WriteSystemTreeNodeProperty( OTF2_DefWriter* writer, 00589 OTF2_SystemTreeNodeRef systemTreeNode, 00590 OTF2_StringRef name, 00591 OTF2_StringRef value ); 00592 00593 00609 OTF2_ErrorCode 00610 OTF2_DefWriter_WriteSystemTreeNodeDomain( OTF2_DefWriter* writer, 00611 OTF2_SystemTreeNodeRef systemTreeNode, 00612 OTF2_SystemTreeDomain systemTreeDomain ); 00613 00614 00615 #ifdef __cplusplus 00616 } 00617 #endif /* __cplusplus */ 00618 00619 00620 #endif /* !OTF2_DEF_WRITER_H */