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