/* Cache and manage the values of registers for GDB, the GNU debugger.
- Copyright 1986, 87, 89, 91, 94, 95, 96, 1998, 2000, 2001
+ Copyright 1986, 1987, 1989, 1991, 1994, 1995, 1996, 1998, 2000, 2001
Free Software Foundation, Inc.
This file is part of GDB.
#ifndef REGCACHE_H
#define REGCACHE_H
-/* Character array containing an image of the inferior programs'
- registers. */
+/* Transfer a raw register [0..NUM_REGS) between core-gdb and the
+ regcache. */
+
+void regcache_read (int rawnum, char *buf);
+void regcache_write (int rawnum, char *buf);
+
+/* Transfer a raw register [0..NUM_REGS) between the regcache and the
+ target. These functions are called by the target in response to a
+ target_fetch_registers() or target_store_registers(). */
+
+extern void supply_register (int regnum, char *val);
+extern void regcache_collect (int regnum, void *buf);
+
+
+/* DEPRECATED: Character array containing an image of the inferior
+ programs' registers for the most recently referenced thread. */
extern char *registers;
-/* Character array containing the current state of each register
- (unavailable<0, invalid=0, valid>0). */
+/* DEPRECATED: Character array containing the current state of each
+ register (unavailable<0, invalid=0, valid>0) for the most recently
+ referenced thread. */
extern signed char *register_valid;
extern void register_changed (int regnum);
-extern char *register_buffer (int regnum);
-
extern void registers_changed (void);
extern void registers_fetched (void);
extern ULONGEST read_register (int regnum);
/* Rename to read_unsigned_register_pid()? */
-extern ULONGEST read_register_pid (int regnum, int pid);
+extern ULONGEST read_register_pid (int regnum, ptid_t ptid);
extern LONGEST read_signed_register (int regnum);
-extern LONGEST read_signed_register_pid (int regnum, int pid);
+extern LONGEST read_signed_register_pid (int regnum, ptid_t ptid);
extern void write_register (int regnum, LONGEST val);
-extern void write_register_pid (int regnum, CORE_ADDR val, int pid);
-
-extern void supply_register (int regnum, char *val);
+extern void write_register_pid (int regnum, CORE_ADDR val, ptid_t ptid);
#endif /* REGCACHE_H */