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) 06/07/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
20struct 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
31FRAME *curframe();		/* get the currently active frame */
32FRAME *nextframe();		/* go up the stack */
33FRAME *findframe();		/* find the frame for a given function */
34ADDRESS entry();		/* get the entry address for a frame */
35ADDRESS *dispval();		/* display associated with a given block */
36ADDRESS *curdp();		/* return current display pointer */
37ADDRESS *contents();		/* return the contents of display pointer */
38ADDRESS stkaddr();		/* stack address associated with a frame */
39