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