Annotation of 43BSDReno/pgrm/pascal/pdx/runtime/frame.rep, revision 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.