dcache.h revision 1.5
1/* Declarations for caching.  Typically used by remote back ends for
2   caching remote memory.
3
4   Copyright (C) 1992-2015 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 DCACHE_H
22#define DCACHE_H
23
24#include "target.h"	/* for enum target_xfer_status */
25
26typedef struct dcache_struct DCACHE;
27
28/* Invalidate DCACHE.  */
29void dcache_invalidate (DCACHE *dcache);
30
31/* Initialize DCACHE.  */
32DCACHE *dcache_init (void);
33
34/* Free a DCACHE.  */
35void dcache_free (DCACHE *);
36
37enum target_xfer_status
38  dcache_read_memory_partial (struct target_ops *ops, DCACHE *dcache,
39			      CORE_ADDR memaddr, gdb_byte *myaddr,
40			      ULONGEST len, ULONGEST *xfered_len);
41
42void dcache_update (DCACHE *dcache, enum target_xfer_status status,
43		    CORE_ADDR memaddr, const gdb_byte *myaddr,
44		    ULONGEST len);
45
46#endif /* DCACHE_H */
47