GDBserver
|
00001 /* Target description definitions for remote server for GDB. 00002 Copyright (C) 2012-2013 Free Software Foundation, Inc. 00003 00004 This file is part of GDB. 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00018 00019 #ifndef TDESC_H 00020 #define TDESC_H 00021 00022 struct reg; 00023 00024 /* A target description. */ 00025 00026 struct target_desc 00027 { 00028 /* An array of NUM_REGISTERS elements of register definitions that 00029 describe the inferior's register set. */ 00030 struct reg *reg_defs; 00031 00032 /* The number of registers in inferior's register set (and thus in 00033 the regcache). */ 00034 int num_registers; 00035 00036 /* The register cache size, in bytes. */ 00037 int registers_size; 00038 00039 /* An array of register names. These are the "expedite" registers: 00040 registers whose values are sent along with stop replies. */ 00041 const char **expedite_regs; 00042 00043 /* Defines what to return when looking for the "target.xml" file in 00044 response to qXfer:features:read. Its contents can either be 00045 verbatim XML code (prefixed with a '@') or else the name of the 00046 actual XML file to be used in place of "target.xml". */ 00047 const char *xmltarget; 00048 }; 00049 00050 /* Copy target description SRC to DEST. */ 00051 00052 void copy_target_description (struct target_desc *dest, 00053 const struct target_desc *src); 00054 00055 /* Initialize TDESC. */ 00056 00057 void init_target_desc (struct target_desc *tdesc); 00058 00059 /* Return the current inferior's target description. Never returns 00060 NULL. */ 00061 00062 const struct target_desc *current_target_desc (void); 00063 00064 #endif /* TDESC_H */