/* Per-frame user registers, for GDB, the GNU debugger.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2007 Free Software Foundation, Inc.
Contributed by Red Hat.
specific registers are present when the architecture is selected.
These registers are assigned register numbers outside the
- architecture's register range [0 .. NUM_REGS + NUM_PSEUDO_REGS).
+ architecture's register range
+ [0 .. gdbarch_num_regs + gdbarch_num_pseudo_regs].
Their values should be constructed using per-frame information. */
/* TODO: cagney/2003-06-27: Need to think more about how these
bytes as, at the time the register is being added, the type needed
to describe the register has not bee initialized. */
-typedef struct value *(user_reg_read_ftype) (struct frame_info *frame);
+typedef struct value *(user_reg_read_ftype) (struct frame_info *frame,
+ const void *baton);
extern struct value *value_of_user_reg (int regnum, struct frame_info *frame);
/* Add a builtin register (present in all architectures). */
extern void user_reg_add_builtin (const char *name,
- user_reg_read_ftype *read);
+ user_reg_read_ftype *read, const void *baton);
/* Add a per-architecture frame register. */
extern void user_reg_add (struct gdbarch *gdbarch, const char *name,
- user_reg_read_ftype *read);
+ user_reg_read_ftype *read, const void *baton);
#endif