![]() |
1.5.1 (revision 4026)
|
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, 2014, 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_DEF_WRITER_H 00033 #define OTF2_DEF_WRITER_H 00034 00035 00045 #include <stdint.h> 00046 00047 00048 #include <otf2/OTF2_ErrorCodes.h> 00049 00050 00051 #include <otf2/OTF2_Definitions.h> 00052 #include <otf2/OTF2_IdMap.h> 00053 00054 00055 #ifdef __cplusplus 00056 extern "C" { 00057 #endif /* __cplusplus */ 00058 00059 00061 typedef struct OTF2_DefWriter_struct OTF2_DefWriter; 00062 00063 00073 OTF2_ErrorCode 00074 OTF2_DefWriter_GetLocationID( const OTF2_DefWriter* writer, 00075 OTF2_LocationRef* location ); 00076 00077 00093 OTF2_ErrorCode 00094 OTF2_DefWriter_WriteMappingTable( OTF2_DefWriter* writer, 00095 OTF2_MappingType mappingType, 00096 const OTF2_IdMap* idMap ); 00097 00098 00114 OTF2_ErrorCode 00115 OTF2_DefWriter_WriteClockOffset( OTF2_DefWriter* writer, 00116 OTF2_TimeStamp time, 00117 int64_t offset, 00118 double standardDeviation ); 00119 00120 00133 OTF2_ErrorCode 00134 OTF2_DefWriter_WriteString( OTF2_DefWriter* writer, 00135 OTF2_StringRef self, 00136 const char* string ); 00137 00138 00156 OTF2_ErrorCode 00157 OTF2_DefWriter_WriteAttribute( OTF2_DefWriter* writer, 00158 OTF2_AttributeRef self, 00159 OTF2_StringRef name, 00160 OTF2_StringRef description, 00161 OTF2_Type type ); 00162 00163 00184 OTF2_ErrorCode 00185 OTF2_DefWriter_WriteSystemTreeNode( OTF2_DefWriter* writer, 00186 OTF2_SystemTreeNodeRef self, 00187 OTF2_StringRef name, 00188 OTF2_StringRef className, 00189 OTF2_SystemTreeNodeRef parent ); 00190 00191 00209 OTF2_ErrorCode 00210 OTF2_DefWriter_WriteLocationGroup( OTF2_DefWriter* writer, 00211 OTF2_LocationGroupRef self, 00212 OTF2_StringRef name, 00213 OTF2_LocationGroupType locationGroupType, 00214 OTF2_SystemTreeNodeRef systemTreeParent ); 00215 00216 00235 OTF2_ErrorCode 00236 OTF2_DefWriter_WriteLocation( OTF2_DefWriter* writer, 00237 OTF2_LocationRef self, 00238 OTF2_StringRef name, 00239 OTF2_LocationType locationType, 00240 uint64_t numberOfEvents, 00241 OTF2_LocationGroupRef locationGroup ); 00242 00243 00271 OTF2_ErrorCode 00272 OTF2_DefWriter_WriteRegion( OTF2_DefWriter* writer, 00273 OTF2_RegionRef self, 00274 OTF2_StringRef name, 00275 OTF2_StringRef canonicalName, 00276 OTF2_StringRef description, 00277 OTF2_RegionRole regionRole, 00278 OTF2_Paradigm paradigm, 00279 OTF2_RegionFlag regionFlags, 00280 OTF2_StringRef sourceFile, 00281 uint32_t beginLineNumber, 00282 uint32_t endLineNumber ); 00283 00284 00304 OTF2_ErrorCode 00305 OTF2_DefWriter_WriteCallsite( OTF2_DefWriter* writer, 00306 OTF2_CallsiteRef self, 00307 OTF2_StringRef sourceFile, 00308 uint32_t lineNumber, 00309 OTF2_RegionRef enteredRegion, 00310 OTF2_RegionRef leftRegion ); 00311 00312 00328 OTF2_ErrorCode 00329 OTF2_DefWriter_WriteCallpath( OTF2_DefWriter* writer, 00330 OTF2_CallpathRef self, 00331 OTF2_CallpathRef parent, 00332 OTF2_RegionRef region ); 00333 00334 00355 OTF2_ErrorCode 00356 OTF2_DefWriter_WriteGroup( OTF2_DefWriter* writer, 00357 OTF2_GroupRef self, 00358 OTF2_StringRef name, 00359 OTF2_GroupType groupType, 00360 OTF2_Paradigm paradigm, 00361 OTF2_GroupFlag groupFlags, 00362 uint32_t numberOfMembers, 00363 const uint64_t* members ); 00364 00365 00408 OTF2_ErrorCode 00409 OTF2_DefWriter_WriteMetricMember( OTF2_DefWriter* writer, 00410 OTF2_MetricMemberRef self, 00411 OTF2_StringRef name, 00412 OTF2_StringRef description, 00413 OTF2_MetricType metricType, 00414 OTF2_MetricMode metricMode, 00415 OTF2_Type valueType, 00416 OTF2_MetricBase metricBase, 00417 int64_t exponent, 00418 OTF2_StringRef unit ); 00419 00420 00442 OTF2_ErrorCode 00443 OTF2_DefWriter_WriteMetricClass( OTF2_DefWriter* writer, 00444 OTF2_MetricRef self, 00445 uint8_t numberOfMetrics, 00446 const OTF2_MetricMemberRef* metricMembers, 00447 OTF2_MetricOccurrence metricOccurrence, 00448 OTF2_RecorderKind recorderKind ); 00449 00450 00475 OTF2_ErrorCode 00476 OTF2_DefWriter_WriteMetricInstance( OTF2_DefWriter* writer, 00477 OTF2_MetricRef self, 00478 OTF2_MetricRef metricClass, 00479 OTF2_LocationRef recorder, 00480 OTF2_MetricScope metricScope, 00481 uint64_t scope ); 00482 00483 00505 OTF2_ErrorCode 00506 OTF2_DefWriter_WriteComm( OTF2_DefWriter* writer, 00507 OTF2_CommRef self, 00508 OTF2_StringRef name, 00509 OTF2_GroupRef group, 00510 OTF2_CommRef parent ); 00511 00512 00529 OTF2_ErrorCode 00530 OTF2_DefWriter_WriteParameter( OTF2_DefWriter* writer, 00531 OTF2_ParameterRef self, 00532 OTF2_StringRef name, 00533 OTF2_ParameterType parameterType ); 00534 00535 00552 OTF2_ErrorCode 00553 OTF2_DefWriter_WriteRmaWin( OTF2_DefWriter* writer, 00554 OTF2_RmaWinRef self, 00555 OTF2_StringRef name, 00556 OTF2_CommRef comm ); 00557 00558 00574 OTF2_ErrorCode 00575 OTF2_DefWriter_WriteMetricClassRecorder( OTF2_DefWriter* writer, 00576 OTF2_MetricRef metricClass, 00577 OTF2_LocationRef recorder ); 00578 00579 00597 OTF2_ErrorCode 00598 OTF2_DefWriter_WriteSystemTreeNodeProperty( OTF2_DefWriter* writer, 00599 OTF2_SystemTreeNodeRef systemTreeNode, 00600 OTF2_StringRef name, 00601 OTF2_StringRef value ); 00602 00603 00619 OTF2_ErrorCode 00620 OTF2_DefWriter_WriteSystemTreeNodeDomain( OTF2_DefWriter* writer, 00621 OTF2_SystemTreeNodeRef systemTreeNode, 00622 OTF2_SystemTreeDomain systemTreeDomain ); 00623 00624 00641 OTF2_ErrorCode 00642 OTF2_DefWriter_WriteLocationGroupProperty( OTF2_DefWriter* writer, 00643 OTF2_LocationGroupRef locationGroup, 00644 OTF2_StringRef name, 00645 OTF2_StringRef value ); 00646 00647 00663 OTF2_ErrorCode 00664 OTF2_DefWriter_WriteLocationProperty( OTF2_DefWriter* writer, 00665 OTF2_LocationRef location, 00666 OTF2_StringRef name, 00667 OTF2_StringRef value ); 00668 00669 00687 OTF2_ErrorCode 00688 OTF2_DefWriter_WriteCartDimension( OTF2_DefWriter* writer, 00689 OTF2_CartDimensionRef self, 00690 OTF2_StringRef name, 00691 uint32_t size, 00692 OTF2_CartPeriodicity cartPeriodicity ); 00693 00694 00718 OTF2_ErrorCode 00719 OTF2_DefWriter_WriteCartTopology( OTF2_DefWriter* writer, 00720 OTF2_CartTopologyRef self, 00721 OTF2_StringRef name, 00722 OTF2_CommRef communicator, 00723 uint8_t numberOfDimensions, 00724 const OTF2_CartDimensionRef* cartDimensions ); 00725 00726 00746 OTF2_ErrorCode 00747 OTF2_DefWriter_WriteCartCoordinate( OTF2_DefWriter* writer, 00748 OTF2_CartTopologyRef cartTopology, 00749 uint32_t rank, 00750 uint8_t numberOfDimensions, 00751 const uint32_t* coordinates ); 00752 00753 00775 OTF2_ErrorCode 00776 OTF2_DefWriter_WriteSourceCodeLocation( OTF2_DefWriter* writer, 00777 OTF2_SourceCodeLocationRef self, 00778 OTF2_StringRef file, 00779 uint32_t lineNumber ); 00780 00781 00800 OTF2_ErrorCode 00801 OTF2_DefWriter_WriteCallingContext( OTF2_DefWriter* writer, 00802 OTF2_CallingContextRef self, 00803 uint64_t ip, 00804 OTF2_RegionRef region, 00805 uint32_t offsetLineNumber, 00806 OTF2_CallingContextRef parent ); 00807 00808 00826 OTF2_ErrorCode 00827 OTF2_DefWriter_WriteInterruptGenerator( OTF2_DefWriter* writer, 00828 OTF2_InterruptGeneratorRef self, 00829 OTF2_StringRef name, 00830 OTF2_StringRef unit, 00831 uint64_t period ); 00832 00833 00834 #ifdef __cplusplus 00835 } 00836 #endif /* __cplusplus */ 00837 00838 00839 #endif /* !OTF2_DEF_WRITER_H */