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