Annotation of 43BSDReno/contrib/emacs-18.55/gdb/frame.h, revision 1.1.1.1

1.1       root        1: /* Definitions for dealing with stack frames, for GDB, the GNU debugger.
                      2:    Copyright (C) 1986 Free Software Foundation, Inc.
                      3: 
                      4: GDB is distributed in the hope that it will be useful, but WITHOUT ANY
                      5: WARRANTY.  No author or distributor accepts responsibility to anyone
                      6: for the consequences of using it or for whether it serves any
                      7: particular purpose or works at all, unless he says so in writing.
                      8: Refer to the GDB General Public License for full details.
                      9: 
                     10: Everyone is granted permission to copy, modify and redistribute GDB,
                     11: but only under the conditions described in the GDB General Public
                     12: License.  A copy of this license is supposed to have been given to you
                     13: along with GDB so you can know your rights and responsibilities.  It
                     14: should be in a file named COPYING.  Among other things, the copyright
                     15: notice and this notice must be preserved on all copies.
                     16: 
                     17: In other words, go ahead and share GDB, but don't try to stop
                     18: anyone else from sharing it farther.  Help stamp out software hoarding!
                     19: */
                     20: 
                     21: /* Note that frame.h requires param.h! */
                     22: 
                     23: #define FRAME CORE_ADDR
                     24: 
                     25: struct frame_info
                     26:   {
                     27:     /* Nominal address of the frame described.  */
                     28:     FRAME frame;
                     29:     /* Address at which execution is occurring in this frame.
                     30:        For the innermost frame, it's the current pc.
                     31:        For other frames, it is a pc saved in the next frame.  */
                     32:     CORE_ADDR pc;
                     33:     /* The frame called by the frame we are describing, or 0.  */
                     34:     FRAME next_frame;
                     35:   };
                     36: 
                     37: /* Describe the saved registers of a frame.  */
                     38: 
                     39: struct frame_saved_regs
                     40:   {
                     41:     /* For each register, address of where it was saved on entry to the frame,
                     42:        or zero if it was not saved on entry to this frame.  */
                     43:     CORE_ADDR regs[NUM_REGS];
                     44:   };
                     45: 
                     46: /* The stack frame that the user has specified for commands to act on.
                     47:    Note that one cannot assume this is the address of valid data.  */
                     48: 
                     49: extern FRAME selected_frame;
                     50: 
                     51: extern struct frame_info get_frame_info ();
                     52: extern struct frame_info get_prev_frame_info ();
                     53: 
                     54: extern void get_frame_saved_regs ();
                     55: 
                     56: extern FRAME get_prev_frame ();
                     57: 
                     58: extern FRAME get_current_frame ();
                     59: 
                     60: extern struct block *get_frame_block ();
                     61: extern struct block *get_current_block ();
                     62: extern struct block *get_selected_block ();
                     63: extern struct symbol *get_frame_function ();
                     64: extern struct symbol *get_pc_function ();

unix.superglobalmegacorp.com

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