1 /* Declarations for caching. Typically used by remote back ends for 2 caching remote memory. 3 4 Copyright (C) 1992-2013 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 typedef struct dcache_struct DCACHE; 25 26 /* Invalidate DCACHE. */ 27 void dcache_invalidate (DCACHE *dcache); 28 29 /* Initialize DCACHE. */ 30 DCACHE *dcache_init (void); 31 32 /* Free a DCACHE. */ 33 void dcache_free (DCACHE *); 34 35 /* Simple to call from <remote>_xfer_memory. */ 36 37 int dcache_xfer_memory (struct target_ops *ops, DCACHE *cache, CORE_ADDR mem, 38 gdb_byte *my, int len, int should_write); 39 40 void dcache_update (DCACHE *dcache, CORE_ADDR memaddr, gdb_byte *myaddr, 41 int len); 42 43 #endif /* DCACHE_H */ 44