|
|
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.