12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /* Register protocol definition structures for the GNU Debugger
- Copyright (C) 2001-2022 Free Software Foundation, Inc.
- This file is part of GDB.
- 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 REGFORMATS_REGDEF_H
- #define REGFORMATS_REGDEF_H
- namespace gdb {
- struct reg
- {
- reg (int _offset)
- : name (""),
- offset (_offset),
- size (0)
- {}
- reg (const char *_name, int _offset, int _size)
- : name (_name),
- offset (_offset),
- size (_size)
- {}
- /* The name of this register - NULL for pad entries. */
- const char *name;
- /* At the moment, both of the following bit counts must be divisible
- by eight (to match the representation as two hex digits) and divisible
- by the size of a byte (to match the layout of each register in
- memory). */
- /* The offset (in bits) of the value of this register in the buffer. */
- int offset;
- /* The size (in bits) of the value of this register, as transmitted. */
- int size;
- bool operator== (const reg &other) const
- {
- return (strcmp (name, other.name) == 0
- && offset == other.offset
- && size == other.size);
- }
- bool operator!= (const reg &other) const
- {
- return !(*this == other);
- }
- };
- } /* namespace gdb */
- #endif /* REGFORMATS_REGDEF_H */
|