Annotation of 43BSDReno/pgrm/pascal/pdx/runtime/frame.rep, revision 1.1.1.1

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 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.