PR binutils/11711
[platform/upstream/binutils.git] / gdb / sparc-nat.h
1 /* Native-dependent code for SPARC.
2
3    Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010
4    Free Software Foundation, Inc.
5
6    This file is part of GDB.
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21 #ifndef SPARC_NAT_H
22 #define SPARC_NAT_H 1
23
24 struct sparc_gregset;
25
26 extern const struct sparc_gregset *sparc_gregset;
27 extern void (*sparc_supply_gregset) (const struct sparc_gregset *,
28                                      struct regcache *, int , const void *);
29 extern void (*sparc_collect_gregset) (const struct sparc_gregset *,
30                                       const struct regcache *, int, void *);
31 extern void (*sparc_supply_fpregset) (struct regcache *, int , const void *);
32 extern void (*sparc_collect_fpregset) (const struct regcache *, int , void *);
33 extern int (*sparc_gregset_supplies_p) (struct gdbarch *gdbarch, int);
34 extern int (*sparc_fpregset_supplies_p) (struct gdbarch *gdbarch, int);
35
36 extern int sparc32_gregset_supplies_p (struct gdbarch *gdbarch, int regnum);
37 extern int sparc32_fpregset_supplies_p (struct gdbarch *gdbarch, int regnum);
38
39 /* Create a prototype generic SPARC target.  The client can override
40    it with local methods.  */
41
42 extern struct target_ops *sparc_target (void);
43
44 extern void sparc_fetch_inferior_registers (struct target_ops *,
45                                             struct regcache *, int);
46 extern void sparc_store_inferior_registers (struct target_ops *,
47                                             struct regcache *, int);
48
49 #endif /* sparc-nat.h */