/* Manage register sets.
- Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2003-2017 Free Software Foundation, Inc.
This file is part of GDB.
struct gdbarch;
struct regcache;
-/* Data structure for the supported register notes in a core file. */
-struct core_regset_section
-{
- const char *sect_name;
- int size;
- const char *human_name;
-};
-
/* Data structure describing a register set. */
typedef void (supply_regset_ftype) (const struct regset *, struct regcache *,
struct regset
{
- /* Data pointer for private use by the methods below, presumably
- providing some sort of description of the register set. */
- const void *descr;
+ /* Pointer to a "register map", for private use by the methods
+ below. Typically describes how the regset's registers are
+ arranged in the buffer collected to or supplied from. */
+ const void *regmap;
/* Function supplying values in a register set to a register cache. */
supply_regset_ftype *supply_regset;
/* Function collecting values in a register set from a register cache. */
collect_regset_ftype *collect_regset;
- /* Architecture associated with the register set. */
- struct gdbarch *arch;
+ unsigned flags;
};
-/* Allocate a fresh 'struct regset' whose supply_regset function is
- SUPPLY_REGSET, and whose collect_regset function is COLLECT_REGSET.
- If the regset has no collect_regset function, pass NULL for
- COLLECT_REGSET.
-
- The object returned is allocated on ARCH's obstack. */
+/* Values for a regset's 'flags' field. */
-extern struct regset *regset_alloc (struct gdbarch *arch,
- supply_regset_ftype *supply_regset,
- collect_regset_ftype *collect_regset);
+#define REGSET_VARIABLE_SIZE 1 /* Accept a larger regset section size
+ in a core file without warning. */
#endif /* regset.h */