*** empty log message ***
[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.6  1994/08/03 20:57:03  newhall
20 /* *** empty log message ***
21 /*
22  * Revision 1.5  1994/08/03  20:47:46  newhall
23  * removed event type NEWMETRICSRESOURCES
24  *
25  * Revision 1.4  1994/07/30  03:26:56  newhall
26  * added new msgTag type ENABLED
27  *
28  * Revision 1.3  1994/07/28  22:23:19  krisna
29  * changed definition of ERROR to use NaN(X)
30  *
31  * Revision 1.2  1994/05/23  20:55:19  newhall
32  * To visi_GridCellHisto class: added deleted flag, SumValue
33  * method function, and fixed AggregateValue method function
34  *
35  * Revision 1.1  1994/05/11  17:11:08  newhall
36  * changed data values from double to float
37  * */
38
39 #include <stdio.h>
40 #include <math.h>
41 #include <nan.h>
42
43 #define INVALID            0
44 #define VALID              1
45 #define NOVALUE           -1
46 #define OK                 0
47 #define VISI_ERROR_BASE   -19
48 #define ERROR_REALLOC     -20
49 #define ERROR_CREATEGRID  -21
50 #define ERROR_SUBSCRIPT   -22
51 #define ERROR_AGGREGATE   -23
52 #define ERROR_NOELM       -24
53 #define ERROR_MALLOC      -25
54 #define ERROR_STRNCPY     -26
55 #define ERROR_INIT        -27
56 #define VISI_ERROR_MAX    -27
57
58 static double visi_nan = 0;
59 #define ERROR (NaN(visi_nan),visi_nan)
60
61 //
62 // event types associated with events from Paradyn to a visualization
63 // DATAVALUES:  a new set of data has arrived in the datagrid
64 // INVALIDMETRICSRESOURCES:  a metric resource combination has become invalid
65 // ADDMETRICSRESOURCES:  new metrics have become enabled for a resource
66 // PHASENAME:  a new phase has been defined
67 // FOLD:  the histogram has folded; binWidth has doubled
68 //
69 typedef enum {DATAVALUES,INVALIDMETRICSRESOURCES,ADDMETRICSRESOURCES,
70               PHASENAME,FOLD} msgTag;
71
72
73 typedef float sampleType;
74 typedef double timeType;
75
76 struct metricStruct {
77      char *units;    // how units are measured
78      char *name;     // metric name for graph labeling  
79      int     Id;       // unique metric Id
80      int     aggregate;  //either SUM or AVE
81 };
82 typedef struct metricStruct visi_metricType;
83
84
85 struct resourceStruct{
86      char *name;     // resource name for graph labeling
87      int    Id;       // unique resource id
88 };
89 typedef struct resourceStruct visi_resourceType;
90
91
92 struct dataValueStruct{
93      int   metricId;
94      int   resourceId;
95      int   bucketNum;
96      sampleType data;
97 };
98 typedef struct dataValueStruct visi_dataValue;
99
100 extern void visi_ErrorHandler(int errno,char *msg);
101
102 #endif