1/*-
2 * Copyright (c) 1980, 1993
3 *	The Regents of the University of California.  All rights reserved.
4 *
5 * %sccs.include.redist.c%
6 *
7 *	@(#)frame.rep	8.1 (Berkeley) 06/06/93
8 */
9
10/*
11 * Definitions for accessing stack frames.
12 */
13
14#define MAINBLK		1
15
16/*
17 * Structure of an activation record's block mark.  See the
18 * PX implementation notes for more details.
19 */
20
21struct frame {
22	ADDRESS stackref;	/* for px self-checking */
23	ADDRESS file;		/* current file information */
24	ADDRESS blockp;		/* pointer to current block name */
25	ADDRESS *save_loc;	/* saved local variable pointer */
26	ADDRESS *save_disp;	/* saved dp contents */
27	ADDRESS *save_dp;	/* saved dp */
28	ADDRESS save_pc;	/* saved location counter */
29	int save_lino;		/* saved source line number (never used) */
30};
31
32FRAME *curframe();		/* get the currently active frame */
33FRAME *nextframe();		/* go up the stack */
34FRAME *findframe();		/* find the frame for a given function */
35ADDRESS entry();		/* get the entry address for a frame */
36ADDRESS *dispval();		/* display associated with a given block */
37ADDRESS *curdp();		/* return current display pointer */
38ADDRESS *contents();		/* return the contents of display pointer */
39ADDRESS stkaddr();		/* stack address associated with a frame */
40