|
|
1.1 root 1: /* (-lgl
2: * COHERENT 386 Device Driver Kit release 2.0
3: * Copyright (c) 1982, 1992 by Mark Williams Company.
4: * All rights reserved. May not be copied without permission.
5: -lgl) */
6:
7: /*
8: * mon.h
9: * Program profiling (monitor) header.
10: *
11: * A call to monitor() creates a mon.out file structured as follows:
12: * header struct m_hdr
13: * function count array struct m_func[m_nfuncs]
14: * profil buffer short[m_nbins]
15: * The profil data scales the pc as follows:
16: * bin number = (pc - low pc) * (scale/2) / (1<<16)
17: */
18:
19: #ifndef __MON_H__
20: #define __MON_H__
21:
22: #include <sys/types.h>
23: #include <sys/_null.h>
24:
25: struct m_hdr {
26: unsigned short m_nbins; /* number of bins */
27: unsigned short m_scale; /* scale factor */
28: unsigned short m_nfuncs; /* number of function counts */
29: caddr_t m_lowpc; /* lowest pc to monitor */
30: caddr_t m_lowsp; /* lowest sp in scount */
31: caddr_t m_hisp; /* highest sp in scount */
32: };
33:
34: struct m_func {
35: caddr_t m_addr; /* address in function */
36: long m_ncalls; /* number of times function called */
37: };
38:
39: /*
40: * The C compiler allocates an m_flst structure for each function
41: * compiled with the -VPROF option.
42: */
43: struct m_flst {
44: struct m_func m_data; /* data on this function */
45: struct m_flst *m_link; /* link to next function in list */
46: };
47:
48: #endif
49:
50: /* end of mon.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.