gdb/dcache.h - gdb

Data types defined

Macros defined

Source code

  1. /* Declarations for caching.  Typically used by remote back ends for
  2.    caching remote memory.

  3.    Copyright (C) 1992-2015 Free Software Foundation, Inc.

  4.    This file is part of GDB.

  5.    This program is free software; you can redistribute it and/or modify
  6.    it under the terms of the GNU General Public License as published by
  7.    the Free Software Foundation; either version 3 of the License, or
  8.    (at your option) any later version.

  9.    This program is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.    GNU General Public License for more details.

  13.    You should have received a copy of the GNU General Public License
  14.    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

  15. #ifndef DCACHE_H
  16. #define DCACHE_H

  17. #include "target.h"        /* for enum target_xfer_status */

  18. typedef struct dcache_struct DCACHE;

  19. /* Invalidate DCACHE.  */
  20. void dcache_invalidate (DCACHE *dcache);

  21. /* Initialize DCACHE.  */
  22. DCACHE *dcache_init (void);

  23. /* Free a DCACHE.  */
  24. void dcache_free (DCACHE *);

  25. enum target_xfer_status
  26.   dcache_read_memory_partial (struct target_ops *ops, DCACHE *dcache,
  27.                               CORE_ADDR memaddr, gdb_byte *myaddr,
  28.                               ULONGEST len, ULONGEST *xfered_len);

  29. void dcache_update (DCACHE *dcache, enum target_xfer_status status,
  30.                     CORE_ADDR memaddr, const gdb_byte *myaddr,
  31.                     ULONGEST len);

  32. #endif /* DCACHE_H */