Upgrade GDB from 7.3 to 7.4.1 on the vendor branch
[dragonfly.git] / contrib / gdb-7 / gdb / ravenscar-thread.h
1 /* Ada Ravenscar thread support.
2
3    Copyright 2004, 2010-2012 Free Software Foundation, Inc.
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
9    the Free Software Foundation; either version 3 of the License, or
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
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20 #ifndef RAVENSCAR_THREAD_H
21 #define RAVENSCAR_THREAD_H
22
23 /* Architecture-specific hooks.  */
24
25 struct ravenscar_arch_ops
26 {
27   void (*to_fetch_registers) (struct regcache *, int);
28   void (*to_store_registers) (struct regcache *, int);
29   void (*to_prepare_to_store) (struct regcache *);
30 };
31
32 /* Register implementations for target ops to_store_registers,
33    to_prepare_to_store and to_fetch_registers when the inferior_ptid
34    is different from the running thread.  In that case, the registers
35    are saved in a architecture-specific location.  */
36 /* FIXME: only one architecture can be registered for now.  See
37    implementation.  */
38
39 extern void ravenscar_register_arch_ops (struct ravenscar_arch_ops *ops);
40
41 #endif /* !defined (RAVENSCAR_THREAD_H) */