1.5.1 (revision 4026)
otf2/OTF2_DefWriter.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-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 */