GDBserver
/home/stan/gdb/src/gdb/gdbserver/tdesc.h
Go to the documentation of this file.
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 */
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines