use datagrid method functions MetricId and ResourceId
[dyninst.git] / visi / h / visiTypes.h
1 #ifndef _visiTypes_h
2 #define _visiTypes_h
3 /*
4  * Copyright (c) 1993, 1994 Barton P. Miller, Jeff Hollingsworth,
5  *     Bruce Irvin, Jon Cargille, Krishna Kunchithapadam, Karen
6  *     Karavanic, Tia Newhall, Mark Callaghan.  All rights reserved.
7  * 
8  * This software is furnished under the condition that it may not be
9  * provided or otherwise made available to, or used by, any other
10  * person, except as provided for by the terms of applicable license
11  * agreements.  No title to or ownership of the software is hereby
12  * transferred.  The name of the principals may not be used in any
13  * advertising or publicity related to this software without specific,
14  * written prior authorization.  Any use of this software must include
15  * the above copyright notice.
16  *
17  */
18 /* $Log: visiTypes.h,v $
19 /* Revision 1.7  1994/09/25 01:58:15  newhall
20 /* changed interface definitions to work for new version of igen
21 /* changed AddMetricsResources def. to take array of metric/focus pairs
22 /*
23  * Revision 1.6  1994/08/03  20:57:03  newhall
24  * *** empty log message ***
25  *
26  * Revision 1.5  1994/08/03  20:47:46  newhall
27  * removed event type NEWMETRICSRESOURCES
28  *
29  * Revision 1.4  1994/07/30  03:26:56  newhall
30  * added new msgTag type ENABLED
31  *
32  * Revision 1.3  1994/07/28  22:23:19  krisna
33  * changed definition of ERROR to use NaN(X)
34  *
35  * Revision 1.2  1994/05/23  20:55:19  newhall
36  * To visi_GridCellHisto class: added deleted flag, SumValue
37  * method function, and fixed AggregateValue method function
38  *
39  * Revision 1.1  1994/05/11  17:11:08  newhall
40  * changed data values from double to float
41  * */
42
43 #include <stdio.h>
44 #include <math.h>
45 #include <nan.h>
46
47 #define INVALID            0
48 #define VALID              1
49 #define NOVALUE           -1
50 #define OK                 0
51 #define VISI_ERROR_BASE   -19
52 #define ERROR_REALLOC     -20
53 #define ERROR_CREATEGRID  -21
54 #define ERROR_SUBSCRIPT   -22
55 #define ERROR_AGGREGATE   -23
56 #define ERROR_NOELM       -24
57 #define ERROR_MALLOC      -25
58 #define ERROR_STRNCPY     -26
59 #define ERROR_INIT        -27
60 #define VISI_ERROR_MAX    -27
61
62 static double visi_nan = 0;
63 #define ERROR (NaN(visi_nan),visi_nan)
64
65 //
66 // event types associated with events from Paradyn to a visualization
67 // DATAVALUES:  a new set of data has arrived in the datagrid
68 // INVALIDMETRICSRESOURCES:  a metric resource combination has become invalid
69 // ADDMETRICSRESOURCES:  new metrics have become enabled for a resource
70 // PHASENAME:  a new phase has been defined
71 // FOLD:  the histogram has folded; binWidth has doubled
72 //
73 typedef enum {DATAVALUES,INVALIDMETRICSRESOURCES,ADDMETRICSRESOURCES,
74               PHASENAME,FOLD} msgTag;
75
76
77 typedef float sampleType;
78 typedef double timeType;
79
80 struct metricStruct {
81      char *units;    // how units are measured
82      char *name;     // metric name for graph labeling  
83      int     Id;       // unique metric Id
84      int     aggregate;  //either SUM or AVE
85 };
86 typedef struct metricStruct visi_metricType;
87
88
89 struct resourceStruct{
90      char *name;     // resource name for graph labeling
91      int    Id;       // unique resource id
92 };
93 typedef struct resourceStruct visi_resourceType;
94
95
96 struct dataValueStruct{
97      int   metricId;
98      int   resourceId;
99      int   bucketNum;
100      sampleType data;
101 };
102 typedef struct dataValueStruct visi_dataValue;
103
104 extern void visi_ErrorHandler(int errno,const char *msg);
105
106 #endif