1 /* Register protocol definition structures for the GNU Debugger 2 Copyright 2001, 2002, 2007, 2008, 2009 Free Software Foundation, Inc. 3 4 This file is part of GDB. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18 19 #ifndef REGDEF_H 20 #define REGDEF_H 21 22 struct reg 23 { 24 /* The name of this register - NULL for pad entries. */ 25 const char *name; 26 27 /* At the moment, both of the following bit counts must be divisible 28 by eight (to match the representation as two hex digits) and divisible 29 by the size of a byte (to match the layout of each register in 30 memory). */ 31 32 /* The offset (in bits) of the value of this register in the buffer. */ 33 int offset; 34 35 /* The size (in bits) of the value of this register, as transmitted. */ 36 int size; 37 }; 38 39 /* Set the current remote protocol and register cache according to the array 40 ``regs'', with ``n'' elements. */ 41 42 void set_register_cache (struct reg *regs, int n); 43 44 #endif /* REGDEF_H */ 45