Incremented the version number because a new version of igen is in place.
[dyninst.git] / visi / h / visi.I
1
2 /*
3  * Copyright (c) 1993, 1994 Barton P. Miller, Jeff Hollingsworth,
4  *     Bruce Irvin, Jon Cargille, Krishna Kunchithapadam, Karen
5  *     Karavanic, Tia Newhall, Mark Callaghan.  All rights reserved.
6  * 
7  * This software is furnished under the condition that it may not be
8  * provided or otherwise made available to, or used by, any other
9  * person, except as provided for by the terms of applicable license
10  * agreements.  No title to or ownership of the software is hereby
11  * transferred.  The name of the principals may not be used in any
12  * advertising or publicity related to this software without specific,
13  * written prior authorization.  Any use of this software must include
14  * the above copyright notice.
15  *
16  */
17
18 /* $Log: visi.I,v $
19 /* Revision 1.6  1994/08/17 18:21:09  markc
20 /* Incremented the version number because a new version of igen is in place.
21 /*
22 # Revision 1.5  1994/08/03  20:47:28  newhall
23 # removed interface routines Enabled and NewMetricsResources
24 #
25 # Revision 1.4  1994/07/30  03:26:18  newhall
26 # added visi interface routines Enabled and BulkDataTransfer
27 #
28 # Revision 1.3  1994/05/11  17:11:07  newhall
29 # changed data values from double to float
30 #
31 # Revision 1.2  1994/04/13  21:23:09  newhall
32 # *** empty log message ***
33 #
34 # Revision 1.1  1994/03/29  02:42:13  newhall
35 # exported services of the visualization process
36 #
37 # Revision 1.3  1994/03/17  05:20:35  newhall
38 # changed bucket width and time value's type to double
39 #
40 # Revision 1.2  1994/03/14  20:28:52  newhall
41 # changed visi subdirectory structure
42 #  */ 
43
44 $remote typedef struct {
45      String  units;    // how units are measured  i.e. "ms" 
46      String  name;     // for y-axis labeling  
47      int     Id;       // unique metric Id
48      int     aggregate;  //either SUM or AVE
49 }metricType;
50
51
52 $remote typedef struct{
53      String name;     // obj. name for graph labeling
54      int    Id;       // unique resource id
55 }resourceType;
56
57 $remote typedef struct{
58   int   metricId;
59   int   resourceId;
60   int   bucketNum;
61   float data;
62 }dataValue;
63
64
65 $remote visualization {
66   $base  7000;
67   $version  4;
68   $async void Data($array dataValue data);  
69   $async void Fold(double newBucketWidth);
70   $async void InvalidMR(int m,int r);
71   $async void AddMetricsResources($array metricType,
72                                 $array resourceType,
73                                 double,int);
74
75   $async void Phase(double begin,
76                     double end,
77                     String name);
78
79   $async void BulkDataTransfer($array float values,
80                                int metricId,
81                                int resourceId);
82
83   $upcall $async void GetMetricResource(String metric,
84                                         String resource,
85                                         int type);
86
87   $upcall $async void StopMetricResource(int metricId,
88                                          int resourceId);
89
90   $upcall $async void PhaseName(double begin,
91                                 double end,
92                                 String name);
93 };