]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/regset.h
Automatic date update in version.in
[thirdparty/binutils-gdb.git] / gdb / regset.h
CommitLineData
54c84734
MK
1/* Manage register sets.
2
b811d2c2 3 Copyright (C) 2003-2020 Free Software Foundation, Inc.
54c84734
MK
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
a9762ec7 9 the Free Software Foundation; either version 3 of the License, or
54c84734
MK
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
a9762ec7 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
54c84734
MK
19
20#ifndef REGSET_H
21#define REGSET_H 1
22
23struct gdbarch;
24struct regcache;
25
26/* Data structure describing a register set. */
9ea75c57 27
be07a590
JB
28typedef void (supply_regset_ftype) (const struct regset *, struct regcache *,
29 int, const void *, size_t);
30typedef void (collect_regset_ftype) (const struct regset *,
31 const struct regcache *,
2c34abbe 32 int, void *, size_t);
54c84734
MK
33
34struct regset
35{
7fefa8d7
AA
36 /* Pointer to a "register map", for private use by the methods
37 below. Typically describes how the regset's registers are
38 arranged in the buffer collected to or supplied from. */
39 const void *regmap;
54c84734 40
be07a590
JB
41 /* Function supplying values in a register set to a register cache. */
42 supply_regset_ftype *supply_regset;
43
44 /* Function collecting values in a register set from a register cache. */
45 collect_regset_ftype *collect_regset;
f962539a
AA
46
47 unsigned flags;
54c84734
MK
48};
49
f962539a
AA
50/* Values for a regset's 'flags' field. */
51
52#define REGSET_VARIABLE_SIZE 1 /* Accept a larger regset section size
53 in a core file without warning. */
54
54c84734 55#endif /* regset.h */