1.2.1 (revision 3238)
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  *    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 */