/* Manage register sets.
- Copyright 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003-2019 Free Software Foundation, Inc.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef REGSET_H
#define REGSET_H 1
int, const void *, size_t);
typedef void (collect_regset_ftype) (const struct regset *,
const struct regcache *,
- int, const void *, size_t);
+ int, void *, size_t);
struct regset
{
- /* Data pointer for private use by the methods below, presumably
- providing some sort of description of the register set. */
- struct gdbarch *arch;
+ /* 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;
-};
-/* 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.
+ unsigned flags;
+};
- 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 */