13b290486cd4cd601b20e04340e593c9ed9717e5fsewardj/* Register protocol definition structures for the GNU Debugger 20447bbd096d5b08db6e4483b8138888a9fa0802aphilippe Copyright 2001, 2002, 2012 Free Software Foundation, Inc. 33b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 43b290486cd4cd601b20e04340e593c9ed9717e5fsewardj This file is part of GDB. 53b290486cd4cd601b20e04340e593c9ed9717e5fsewardj It has been modified to integrate it in valgrind 63b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 73b290486cd4cd601b20e04340e593c9ed9717e5fsewardj This program is free software; you can redistribute it and/or modify 83b290486cd4cd601b20e04340e593c9ed9717e5fsewardj it under the terms of the GNU General Public License as published by 93b290486cd4cd601b20e04340e593c9ed9717e5fsewardj the Free Software Foundation; either version 2 of the License, or 103b290486cd4cd601b20e04340e593c9ed9717e5fsewardj (at your option) any later version. 113b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 123b290486cd4cd601b20e04340e593c9ed9717e5fsewardj This program is distributed in the hope that it will be useful, 133b290486cd4cd601b20e04340e593c9ed9717e5fsewardj but WITHOUT ANY WARRANTY; without even the implied warranty of 143b290486cd4cd601b20e04340e593c9ed9717e5fsewardj MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 153b290486cd4cd601b20e04340e593c9ed9717e5fsewardj GNU General Public License for more details. 163b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 173b290486cd4cd601b20e04340e593c9ed9717e5fsewardj You should have received a copy of the GNU General Public License 183b290486cd4cd601b20e04340e593c9ed9717e5fsewardj along with this program; if not, write to the Free Software 193b290486cd4cd601b20e04340e593c9ed9717e5fsewardj Foundation, Inc., 59 Temple Place - Suite 330, 203b290486cd4cd601b20e04340e593c9ed9717e5fsewardj Boston, MA 02111-1307, USA. */ 213b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 223b290486cd4cd601b20e04340e593c9ed9717e5fsewardj#ifndef REGDEF_H 233b290486cd4cd601b20e04340e593c9ed9717e5fsewardj#define REGDEF_H 243b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 253b290486cd4cd601b20e04340e593c9ed9717e5fsewardjstruct reg 263b290486cd4cd601b20e04340e593c9ed9717e5fsewardj{ 273b290486cd4cd601b20e04340e593c9ed9717e5fsewardj /* The name of this register - NULL for pad entries. */ 286bd9dc18c043927c1196caba20a327238a179c42florian const char *name; 293b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 303b290486cd4cd601b20e04340e593c9ed9717e5fsewardj /* At the moment, both of the following bit counts must be divisible 313b290486cd4cd601b20e04340e593c9ed9717e5fsewardj by eight (to match the representation as two hex digits) and divisible 323b290486cd4cd601b20e04340e593c9ed9717e5fsewardj by the size of a byte (to match the layout of each register in 333b290486cd4cd601b20e04340e593c9ed9717e5fsewardj memory). */ 343b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 353b290486cd4cd601b20e04340e593c9ed9717e5fsewardj /* The offset (in bits) of the value of this register in the buffer. */ 363b290486cd4cd601b20e04340e593c9ed9717e5fsewardj int offset; 373b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 383b290486cd4cd601b20e04340e593c9ed9717e5fsewardj /* The size (in bits) of the value of this register, as transmitted. */ 393b290486cd4cd601b20e04340e593c9ed9717e5fsewardj int size; 403b290486cd4cd601b20e04340e593c9ed9717e5fsewardj}; 413b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 423b290486cd4cd601b20e04340e593c9ed9717e5fsewardj/* Set the current remote protocol and register cache according to the array 433b290486cd4cd601b20e04340e593c9ed9717e5fsewardj ``regs'', with ``n'' elements. */ 443b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 453b290486cd4cd601b20e04340e593c9ed9717e5fsewardjvoid set_register_cache (struct reg *regs, int n); 463b290486cd4cd601b20e04340e593c9ed9717e5fsewardj 473b290486cd4cd601b20e04340e593c9ed9717e5fsewardj#endif /* REGDEF_H */ 48