|
|
1.1 root 1: /*
2: * Copyright (c) 1982 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: *
6: * @(#)frame.rep 5.2 (Berkeley) 6/7/85
7: */
8:
9: /*
10: * Definitions for accessing stack frames.
11: */
12:
13: #define MAINBLK 1
14:
15: /*
16: * Structure of an activation record's block mark. See the
17: * PX implementation notes for more details.
18: */
19:
20: struct frame {
21: ADDRESS stackref; /* for px self-checking */
22: ADDRESS file; /* current file information */
23: ADDRESS blockp; /* pointer to current block name */
24: ADDRESS *save_loc; /* saved local variable pointer */
25: ADDRESS *save_disp; /* saved dp contents */
26: ADDRESS *save_dp; /* saved dp */
27: ADDRESS save_pc; /* saved location counter */
28: int save_lino; /* saved source line number (never used) */
29: };
30:
31: FRAME *curframe(); /* get the currently active frame */
32: FRAME *nextframe(); /* go up the stack */
33: FRAME *findframe(); /* find the frame for a given function */
34: ADDRESS entry(); /* get the entry address for a frame */
35: ADDRESS *dispval(); /* display associated with a given block */
36: ADDRESS *curdp(); /* return current display pointer */
37: ADDRESS *contents(); /* return the contents of display pointer */
38: ADDRESS stkaddr(); /* stack address associated with a frame */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.