Switch the license of all .c files to GPLv3.
[deliverable/binutils-gdb.git] / gdb / regset.h
CommitLineData
54c84734
MK
1/* Manage register sets.
2
6aba47ca 3 Copyright (C) 2003, 2004, 2007 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{
36 /* Data pointer for private use by the methods below, presumably
37 providing some sort of description of the register set. */
368702b1 38 const void *descr;
54c84734 39
be07a590
JB
40 /* Function supplying values in a register set to a register cache. */
41 supply_regset_ftype *supply_regset;
42
43 /* Function collecting values in a register set from a register cache. */
44 collect_regset_ftype *collect_regset;
368702b1
MK
45
46 /* Architecture associated with the register set. */
47 struct gdbarch *arch;
54c84734
MK
48};
49
9ea75c57
MK
50/* Allocate a fresh 'struct regset' whose supply_regset function is
51 SUPPLY_REGSET, and whose collect_regset function is COLLECT_REGSET.
52 If the regset has no collect_regset function, pass NULL for
53 COLLECT_REGSET.
be07a590 54
617a4cba 55 The object returned is allocated on ARCH's obstack. */
9ea75c57 56
617a4cba 57extern struct regset *regset_alloc (struct gdbarch *arch,
617a4cba
JB
58 supply_regset_ftype *supply_regset,
59 collect_regset_ftype *collect_regset);
be07a590 60
54c84734 61#endif /* regset.h */
This page took 0.44559 seconds and 4 git commands to generate.