#define FRAME_FP(fi) ((fi)->frame)
+/* Level of the frame: 0 for innermost, 1 for its caller, ...; or -1
+ for an invalid frame. */
+
+extern int frame_relative_level (struct frame_info *fi);
+
/* Define a default FRAME_CHAIN_VALID, in the form that is suitable for most
targets. If FRAME_CHAIN_VALID returns zero it means that the given frame
is the outermost one and has no caller.
0 for innermost, 1 for its caller, ...
or -1 for frame specified by address with no defined level. */
-extern int selected_frame_level;
-
extern struct frame_info *create_new_frame (CORE_ADDR, CORE_ADDR);
extern void flush_cached_frames (void);
extern void show_stack_frame (struct frame_info *);
-extern void select_frame (struct frame_info *, int);
+extern void select_frame (struct frame_info *);
extern void record_selected_frame (CORE_ADDR *, int *);
-extern void select_and_print_frame (struct frame_info *, int);
-
extern void print_frame_info (struct frame_info *, int, int, int);
extern void show_frame_info (struct frame_info *, int, int, int);
struct frame_info *, int,
enum lval_type *);
+extern void generic_save_call_dummy_addr (CORE_ADDR lo, CORE_ADDR hi);
+
extern void get_saved_register (char *raw_buffer, int *optimized,
CORE_ADDR * addrp,
struct frame_info *frame,