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