gdb vendor branch: Bring in additional source files
[dragonfly.git] / contrib / gdb-7 / gdb / dcache.h
1 /* Declarations for caching.  Typically used by remote back ends for
2    caching remote memory.
3
4    Copyright (C) 1992-1993, 1995, 1999-2001, 2007-2012 Free Software
5    Foundation, Inc.
6
7    This file is part of GDB.
8
9    This program is free software; you can redistribute it and/or modify
10    it under the terms of the GNU General Public License as published by
11    the Free Software Foundation; either version 3 of the License, or
12    (at your option) any later version.
13
14    This program is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17    GNU General Public License for more details.
18
19    You should have received a copy of the GNU General Public License
20    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
21
22 #ifndef DCACHE_H
23 #define DCACHE_H
24
25 typedef struct dcache_struct DCACHE;
26
27 /* Invalidate DCACHE.  */
28 void dcache_invalidate (DCACHE *dcache);
29
30 /* Initialize DCACHE.  */
31 DCACHE *dcache_init (void);
32
33 /* Free a DCACHE.  */
34 void dcache_free (DCACHE *);
35
36 /* Simple to call from <remote>_xfer_memory.  */
37
38 int dcache_xfer_memory (struct target_ops *ops, DCACHE *cache, CORE_ADDR mem,
39                         gdb_byte *my, int len, int should_write);
40
41 void dcache_update (DCACHE *dcache, CORE_ADDR memaddr, gdb_byte *myaddr,
42                     int len);
43
44 #endif /* DCACHE_H */