/* Header file for simulator memory argument handling.
   Copyright (C) 1997-2025 Free Software Foundation, Inc.
   Contributed by Cygnus Support.

This file is part of GDB, the GNU debugger.

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

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

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

#ifndef SIM_MEMOPT_H
#define SIM_MEMOPT_H

/* Provides a command line interface for manipulating the memory core */

typedef struct _sim_memopt sim_memopt;
struct _sim_memopt {
  int level;
  int space;
  unsigned_word addr;
  unsigned_word nr_bytes;
  unsigned modulo;
  void *buffer;
  unsigned long munmap_length;
  sim_memopt *alias; /* linked list */
  sim_memopt *next;
};


/* Install the "memopt" module.  */

SIM_RC sim_memopt_install (SIM_DESC sd);


/* Was there a memory command? */

#endif
