3 * This file contains the standard insrumentation functions that are provied
4 * by the instrumentation layer.
11 /* We sometimes include this into assembly files, so guard the struct defs. */
12 #if !defined(__ASSEMBLER__)
14 /* If we must make up a boolean type, we should make it unique */
15 #define RT_Boolean unsigned char
19 typedef void (*instFunc)(void *cdata, int type, char *eventData);
21 typedef struct intCounterRec intCounter;
23 /* parameters to a instremented function */
24 typedef struct _parameteters parameters;
25 typedef enum { processTime, wallTime } timerType;
27 /* 64 bit time values */
28 typedef long long int time64;
29 typedef long long int int64;
32 unsigned int aggregate:1;
50 typedef struct sampleIdRec sampleId;
53 struct intCounterRec {
54 int value; /* this field must be first for setValue to work -jkh */
59 typedef struct floatCounterRec floatCounter;
60 struct floatCounterRec {
66 typedef struct tTimerRec tTimer;
68 int counter; /* must be 0 to start/stop */
72 time64 snapShot; /* used to get consistant value during st/stp */
73 int normalize; /* value to divide total by to get seconds */
77 volatile char sampled;
80 typedef int (*filterFunc)(void *cdata, parameters *params);
81 typedef int traceStream;
86 * Define the size of the per process data area.
88 * This should be a power of two to reduce paging and chacing shifts.
90 #if defined(hppa1_1_hp_hpux)
91 #define SYN_INST_BUF_SIZE 1024*32 // cannot support larger jumps
93 #define SYN_INST_BUF_SIZE 1024*1024