2.0 (revision 4611)
OTF2_AttributeList.h
Go to the documentation of this file.
1 /*
2  * This file is part of the Score-P software (http://www.score-p.org)
3  *
4  * Copyright (c) 2009-2012,
5  * RWTH Aachen University, Germany
6  *
7  * Copyright (c) 2009-2012,
8  * Gesellschaft fuer numerische Simulation mbH Braunschweig, Germany
9  *
10  * Copyright (c) 2009-2012,
11  * Technische Universitaet Dresden, Germany
12  *
13  * Copyright (c) 2009-2012,
14  * University of Oregon, Eugene, USA
15  *
16  * Copyright (c) 2009-2012,
17  * Forschungszentrum Juelich GmbH, Germany
18  *
19  * Copyright (c) 2009-2012,
20  * German Research School for Simulation Sciences GmbH, Juelich/Aachen, Germany
21  *
22  * Copyright (c) 2009-2012,
23  * Technische Universitaet Muenchen, Germany
24  *
25  * This software may be modified and distributed under the terms of
26  * a BSD-style license. See the COPYING file in the package base
27  * directory for details.
28  *
29  */
30 
31 
32 #ifndef OTF2_ATTRIBUTE_LIST_H
33 #define OTF2_ATTRIBUTE_LIST_H
34 
35 
85 #include <stdint.h>
86 #ifndef __cplusplus
87 #include <stdbool.h>
88 #endif
89 
90 
91 #include <otf2/OTF2_ErrorCodes.h>
92 
93 
96 
97 
98 #ifdef __cplusplus
99 extern "C" {
100 #endif /* __cplusplus */
101 
102 
104 typedef struct OTF2_AttributeList_struct OTF2_AttributeList;
105 
106 
113 OTF2_AttributeList_New( void );
114 
115 
126 
127 
142  OTF2_AttributeRef attribute,
143  OTF2_Type type,
144  OTF2_AttributeValue attributeValue );
145 
146 
147 
160  OTF2_AttributeRef attribute,
161  uint8_t uint8Value );
162 
163 
176  OTF2_AttributeRef attribute,
177  uint16_t uint16Value );
178 
179 
192  OTF2_AttributeRef attribute,
193  uint32_t uint32Value );
194 
195 
208  OTF2_AttributeRef attribute,
209  uint64_t uint64Value );
210 
211 
224  OTF2_AttributeRef attribute,
225  int8_t int8Value );
226 
227 
240  OTF2_AttributeRef attribute,
241  int16_t int16Value );
242 
243 
256  OTF2_AttributeRef attribute,
257  int32_t int32Value );
258 
259 
272  OTF2_AttributeRef attribute,
273  int64_t int64Value );
274 
275 
288  OTF2_AttributeRef attribute,
289  float float32Value );
290 
291 
304  OTF2_AttributeRef attribute,
305  double float64Value );
306 
307 
320  OTF2_AttributeRef attribute,
321  OTF2_StringRef stringRef );
322 
323 
336  OTF2_AttributeRef attribute,
337  OTF2_AttributeRef attributeRef );
338 
339 
352  OTF2_AttributeRef attribute,
353  OTF2_LocationRef locationRef );
354 
355 
368  OTF2_AttributeRef attribute,
369  OTF2_RegionRef regionRef );
370 
371 
384  OTF2_AttributeRef attribute,
385  OTF2_GroupRef groupRef );
386 
387 
400  OTF2_AttributeRef attribute,
401  OTF2_MetricRef metricRef );
402 
403 
416  OTF2_AttributeRef attribute,
417  OTF2_CommRef commRef );
418 
419 
432  OTF2_AttributeRef attribute,
433  OTF2_ParameterRef parameterRef );
434 
435 
448  OTF2_AttributeRef attribute,
449  OTF2_RmaWinRef rmaWinRef );
450 
451 
465  OTF2_AttributeRef attribute,
466  OTF2_SourceCodeLocationRef sourceCodeLocationRef );
467 
468 
481  OTF2_AttributeRef attribute,
482  OTF2_CallingContextRef callingContextRef );
483 
484 
498  OTF2_AttributeRef attribute,
499  OTF2_InterruptGeneratorRef interruptGeneratorRef );
500 
501 
511  OTF2_AttributeRef attribute );
512 
513 
522 
523 
531 bool
533  OTF2_AttributeRef attribute );
534 
535 
547  OTF2_AttributeRef attribute,
548  OTF2_Type* type,
549  OTF2_AttributeValue* attributeValue );
550 
551 
564 OTF2_AttributeList_GetUint8( const OTF2_AttributeList* attributeList,
565  OTF2_AttributeRef attribute,
566  uint8_t* uint8Value );
567 
568 
582  OTF2_AttributeRef attribute,
583  uint16_t* uint16Value );
584 
585 
599  OTF2_AttributeRef attribute,
600  uint32_t* uint32Value );
601 
602 
616  OTF2_AttributeRef attribute,
617  uint64_t* uint64Value );
618 
619 
632 OTF2_AttributeList_GetInt8( const OTF2_AttributeList* attributeList,
633  OTF2_AttributeRef attribute,
634  int8_t* int8Value );
635 
636 
649 OTF2_AttributeList_GetInt16( const OTF2_AttributeList* attributeList,
650  OTF2_AttributeRef attribute,
651  int16_t* int16Value );
652 
653 
666 OTF2_AttributeList_GetInt32( const OTF2_AttributeList* attributeList,
667  OTF2_AttributeRef attribute,
668  int32_t* int32Value );
669 
670 
683 OTF2_AttributeList_GetInt64( const OTF2_AttributeList* attributeList,
684  OTF2_AttributeRef attribute,
685  int64_t* int64Value );
686 
687 
700 OTF2_AttributeList_GetFloat( const OTF2_AttributeList* attributeList,
701  OTF2_AttributeRef attribute,
702  float* float32Value );
703 
704 
718  OTF2_AttributeRef attribute,
719  double* float64Value );
720 
721 
735  OTF2_AttributeRef attribute,
736  OTF2_StringRef* stringRef );
737 
738 
752  OTF2_AttributeRef attribute,
753  OTF2_AttributeRef* attributeRef );
754 
755 
769  OTF2_AttributeRef attribute,
770  OTF2_LocationRef* locationRef );
771 
772 
786  OTF2_AttributeRef attribute,
787  OTF2_RegionRef* regionRef );
788 
789 
803  OTF2_AttributeRef attribute,
804  OTF2_GroupRef* groupRef );
805 
806 
820  OTF2_AttributeRef attribute,
821  OTF2_MetricRef* metricRef );
822 
823 
837  OTF2_AttributeRef attribute,
838  OTF2_CommRef* commRef );
839 
840 
854  OTF2_AttributeRef attribute,
855  OTF2_ParameterRef* parameterRef );
856 
857 
871  OTF2_AttributeRef attribute,
872  OTF2_RmaWinRef* rmaWinRef );
873 
874 
888  OTF2_AttributeRef attribute,
889  OTF2_SourceCodeLocationRef* sourceCodeLocationRef );
890 
891 
905  OTF2_AttributeRef attribute,
906  OTF2_CallingContextRef* callingContextRef );
907 
908 
922  OTF2_AttributeRef attribute,
923  OTF2_InterruptGeneratorRef* interruptGeneratorRef );
924 
925 
938  uint32_t index,
939  OTF2_AttributeRef* attribute,
940  OTF2_Type* type,
941  OTF2_AttributeValue* attributeValue );
942 
943 
957  OTF2_AttributeRef* attribute,
958  OTF2_Type* type,
959  OTF2_AttributeValue* attributeValue );
960 
961 
969 uint32_t
971 
972 
973 #ifdef __cplusplus
974 }
975 #endif /* __cplusplus */
976 
977 
978 #endif /* !OTF2_ATTRIBUTE_LIST_H */
OTF2_ErrorCode OTF2_AttributeList_GetCallingContextRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_CallingContextRef *callingContextRef)
Get an OTF2_TYPE_CALLING_CONTEXT attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_GetStringRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_StringRef *stringRef)
Get an OTF2_TYPE_STRING attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_AddUint16(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, uint16_t uint16Value)
Add an OTF2_TYPE_UINT16 attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddLocationRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_LocationRef locationRef)
Add an OTF2_TYPE_LOCATION attribute to an attribute list.
uint64_t OTF2_LocationRef
Type used to indicate a reference to a Location definition.
Definition: OTF2_GeneralDefinitions.h:125
OTF2_ErrorCode OTF2_AttributeList_GetDouble(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, double *float64Value)
Get an OTF2_TYPE_DOUBLE attribute from an attribute list by attribute ID.
uint8_t OTF2_Type
Wrapper for enum OTF2_Type_enum.
Definition: OTF2_GeneralDefinitions.h:525
OTF2_ErrorCode OTF2_AttributeList_GetUint32(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, uint32_t *uint32Value)
Get an OTF2_TYPE_UINT32 attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_AddCallingContextRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_CallingContextRef callingContextRef)
Add an OTF2_TYPE_CALLING_CONTEXT attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_RemoveAllAttributes(OTF2_AttributeList *attributeList)
Remove all attributes from an attribute list.
OTF2_ErrorCode OTF2_AttributeList_Delete(OTF2_AttributeList *attributeList)
Delete an attribute list handle.
uint32_t OTF2_StringRef
Type used to indicate a reference to a String definition.
Definition: OTF2_GeneralDefinitions.h:101
OTF2_ErrorCode OTF2_AttributeList_AddUint32(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, uint32_t uint32Value)
Add an OTF2_TYPE_UINT32 attribute to an attribute list.
Declares the OTF2_AttributeValue and provides convenience functions to convert from and to OTF2 enum ...
uint32_t OTF2_ParameterRef
Type used to indicate a reference to a Parameter definition.
Definition: OTF2_GeneralDefinitions.h:173
OTF2_ErrorCode OTF2_AttributeList_GetAttributeRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_AttributeRef *attributeRef)
Get an OTF2_TYPE_ATTRIBUTE attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_GetSourceCodeLocationRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_SourceCodeLocationRef *sourceCodeLocationRef)
Get an OTF2_TYPE_SOURCE_CODE_LOCATION attribute from an attribute list by attribute ID...
OTF2_ErrorCode OTF2_AttributeList_GetCommRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_CommRef *commRef)
Get an OTF2_TYPE_COMM attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_GetMetricRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_MetricRef *metricRef)
Get an OTF2_TYPE_METRIC attribute from an attribute list by attribute ID.
struct OTF2_AttributeList_struct OTF2_AttributeList
Attribute list handle.
Definition: OTF2_AttributeList.h:104
OTF2_ErrorCode
Definition: OTF2_ErrorCodes.h:54
OTF2_ErrorCode OTF2_AttributeList_GetInt32(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, int32_t *int32Value)
Get an OTF2_TYPE_INT32 attribute from an attribute list by attribute ID.
uint32_t OTF2_InterruptGeneratorRef
Type used to indicate a reference to a InterruptGenerator definition.
Definition: OTF2_GeneralDefinitions.h:209
This header file provides general definitions which should be accessible in all internal and external...
uint32_t OTF2_AttributeList_GetNumberOfElements(const OTF2_AttributeList *attributeList)
Get the number of entries in an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddGroupRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_GroupRef groupRef)
Add an OTF2_TYPE_GROUP attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddInt64(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, int64_t int64Value)
Add an OTF2_TYPE_INT64 attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_GetGroupRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_GroupRef *groupRef)
Get an OTF2_TYPE_GROUP attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_AddAttributeRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_AttributeRef attributeRef)
Add an OTF2_TYPE_ATTRIBUTE attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddUint8(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, uint8_t uint8Value)
Add an OTF2_TYPE_UINT8 attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddStringRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_StringRef stringRef)
Add an OTF2_TYPE_STRING attribute to an attribute list.
uint32_t OTF2_MetricRef
Type used to indicate a reference to a MetricClass, or a MetricInstance definition.
Definition: OTF2_GeneralDefinitions.h:161
OTF2_ErrorCode OTF2_AttributeList_AddParameterRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_ParameterRef parameterRef)
Add an OTF2_TYPE_PARAMETER attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddRmaWinRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_RmaWinRef rmaWinRef)
Add an OTF2_TYPE_RMA_WIN attribute to an attribute list.
uint32_t OTF2_CallingContextRef
Type used to indicate a reference to a CallingContext definition.
Definition: OTF2_GeneralDefinitions.h:203
OTF2_ErrorCode OTF2_AttributeList_AddDouble(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, double float64Value)
Add an OTF2_TYPE_DOUBLE attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddCommRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_CommRef commRef)
Add an OTF2_TYPE_COMM attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddSourceCodeLocationRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_SourceCodeLocationRef sourceCodeLocationRef)
Add an OTF2_TYPE_SOURCE_CODE_LOCATION attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddRegionRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_RegionRef regionRef)
Add an OTF2_TYPE_REGION attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddInt32(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, int32_t int32Value)
Add an OTF2_TYPE_INT32 attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddInterruptGeneratorRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_InterruptGeneratorRef interruptGeneratorRef)
Add an OTF2_TYPE_INTERRUPT_GENERATOR attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_AddInt16(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, int16_t int16Value)
Add an OTF2_TYPE_INT16 attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_GetInt64(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, int64_t *int64Value)
Get an OTF2_TYPE_INT64 attribute from an attribute list by attribute ID.
uint32_t OTF2_SourceCodeLocationRef
Type used to indicate a reference to a SourceCodeLocation definition.
Definition: OTF2_GeneralDefinitions.h:197
OTF2_ErrorCode OTF2_AttributeList_GetLocationRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_LocationRef *locationRef)
Get an OTF2_TYPE_LOCATION attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_GetParameterRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_ParameterRef *parameterRef)
Get an OTF2_TYPE_PARAMETER attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_GetAttributeByID(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_Type *type, OTF2_AttributeValue *attributeValue)
Get an attribute from an attribute list by attribute ID.
uint32_t OTF2_CommRef
Type used to indicate a reference to a Comm definition.
Definition: OTF2_GeneralDefinitions.h:167
OTF2_ErrorCode OTF2_AttributeList_AddFloat(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, float float32Value)
Add an OTF2_TYPE_FLOAT attribute to an attribute list.
uint32_t OTF2_RegionRef
Type used to indicate a reference to a Region definition.
Definition: OTF2_GeneralDefinitions.h:131
OTF2_ErrorCode OTF2_AttributeList_PopAttribute(OTF2_AttributeList *attributeList, OTF2_AttributeRef *attribute, OTF2_Type *type, OTF2_AttributeValue *attributeValue)
Get first attribute from an attribute list and remove it.
OTF2_ErrorCode OTF2_AttributeList_GetRegionRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_RegionRef *regionRef)
Get an OTF2_TYPE_REGION attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_AddInt8(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, int8_t int8Value)
Add an OTF2_TYPE_INT8 attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_GetFloat(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, float *float32Value)
Get an OTF2_TYPE_FLOAT attribute from an attribute list by attribute ID.
uint32_t OTF2_GroupRef
Type used to indicate a reference to a Group definition.
Definition: OTF2_GeneralDefinitions.h:149
OTF2_ErrorCode OTF2_AttributeList_AddMetricRef(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_MetricRef metricRef)
Add an OTF2_TYPE_METRIC attribute to an attribute list.
OTF2_ErrorCode OTF2_AttributeList_GetRmaWinRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_RmaWinRef *rmaWinRef)
Get an OTF2_TYPE_RMA_WIN attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_GetInt16(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, int16_t *int16Value)
Get an OTF2_TYPE_INT16 attribute from an attribute list by attribute ID.
uint32_t OTF2_AttributeRef
Type used to indicate a reference to a Attribute definition.
Definition: OTF2_GeneralDefinitions.h:107
OTF2_AttributeList * OTF2_AttributeList_New(void)
Create a new attribute list handle.
OTF2_ErrorCode OTF2_AttributeList_GetUint8(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, uint8_t *uint8Value)
Get an OTF2_TYPE_UINT8 attribute from an attribute list by attribute ID.
Error codes and error handling.
OTF2_ErrorCode OTF2_AttributeList_AddUint64(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, uint64_t uint64Value)
Add an OTF2_TYPE_UINT64 attribute to an attribute list.
uint32_t OTF2_RmaWinRef
Type used to indicate a reference to a RmaWin definition.
Definition: OTF2_GeneralDefinitions.h:179
Value container for an attributes.
Definition: OTF2_AttributeValue.h:52
OTF2_ErrorCode OTF2_AttributeList_GetUint16(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, uint16_t *uint16Value)
Get an OTF2_TYPE_UINT16 attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_GetUint64(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, uint64_t *uint64Value)
Get an OTF2_TYPE_UINT64 attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_AddAttribute(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_Type type, OTF2_AttributeValue attributeValue)
Add an attribute to an attribute list.
bool OTF2_AttributeList_TestAttributeByID(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute)
Test if an attribute is in the attribute list.
OTF2_ErrorCode OTF2_AttributeList_GetInterruptGeneratorRef(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, OTF2_InterruptGeneratorRef *interruptGeneratorRef)
Get an OTF2_TYPE_INTERRUPT_GENERATOR attribute from an attribute list by attribute ID...
OTF2_ErrorCode OTF2_AttributeList_RemoveAttribute(OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute)
Remove an attribute from an attribute list.
OTF2_ErrorCode OTF2_AttributeList_GetInt8(const OTF2_AttributeList *attributeList, OTF2_AttributeRef attribute, int8_t *int8Value)
Get an OTF2_TYPE_INT8 attribute from an attribute list by attribute ID.
OTF2_ErrorCode OTF2_AttributeList_GetAttributeByIndex(const OTF2_AttributeList *attributeList, uint32_t index, OTF2_AttributeRef *attribute, OTF2_Type *type, OTF2_AttributeValue *attributeValue)
Get an attribute from an attribute list by attribute index.