reorginization of visiLib
[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 #include <stdio.h>
19 #include <math.h>
20
21 // 
22 // note: add new event types before FOLD (ie. FOLD is always last type)
23 // event types associated with events from Paradyn to a visualization
24 // DATAVALUES:  a new set of data has arrived in the datagrid
25 // INVALIDMETRICSRESOURCES:  a metric resource combination has become invalid
26 // ADDMETRICSRESOURCES:  new metrics have become enabled for a resource
27 // PHASESTART:  a new phase has been defined
28 // PHASEEND:    a phase has ended
29 // PHASEDATA:  data about the current set of phases has arrived
30 // PARADYNEXITED: the paradyn process has exited
31 // FOLD:  the histogram has folded; binWidth has doubled
32 //
33 typedef enum {DATAVALUES,INVALIDMETRICSRESOURCES,ADDMETRICSRESOURCES,
34               PHASESTART,PHASEEND,PHASEDATA,PARADYNEXITED,FOLD} visi_msgTag;
35
36 typedef float visi_sampleType;
37 typedef double visi_timeType;
38 typedef enum {UnNormalized, Normalized, Sampled} visi_unitsType;
39
40 struct metricStruct {
41      const char *units;    // how units are measured
42      const char *name;     // metric name for graph labeling  
43      unsigned  Id;       // unique metric Id
44      int    aggregate;  //either SUM or AVE
45      visi_unitsType    unitstype;  // specifies units type
46 };
47 typedef struct metricStruct visi_metricType;
48
49
50 struct resourceStruct{
51      const char *name;     // resource name for graph labeling
52      unsigned  Id;       // unique resource id
53 };
54 typedef struct resourceStruct visi_resourceType;
55
56
57 struct dataValueStruct{
58      unsigned metricId;
59      unsigned resourceId;
60      int   bucketNum;
61      visi_sampleType data;
62 };
63 typedef struct dataValueStruct visi_dataValue;
64
65 #endif