GDBserver
tdesc.h
Go to the documentation of this file.
1 /* Target description definitions for remote server for GDB.
2  Copyright (C) 2012-2015 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 TDESC_H
20 #define TDESC_H
21 
22 struct reg;
23 
24 /* A target description. */
25 
27 {
28  /* An array of NUM_REGISTERS elements of register definitions that
29  describe the inferior's register set. */
30  struct reg *reg_defs;
31 
32  /* The number of registers in inferior's register set (and thus in
33  the regcache). */
35 
36  /* The register cache size, in bytes. */
38 
39  /* An array of register names. These are the "expedite" registers:
40  registers whose values are sent along with stop replies. */
41  const char **expedite_regs;
42 
43  /* Defines what to return when looking for the "target.xml" file in
44  response to qXfer:features:read. Its contents can either be
45  verbatim XML code (prefixed with a '@') or else the name of the
46  actual XML file to be used in place of "target.xml". */
47  const char *xmltarget;
48 };
49 
50 /* Copy target description SRC to DEST. */
51 
52 void copy_target_description (struct target_desc *dest,
53  const struct target_desc *src);
54 
55 /* Initialize TDESC. */
56 
57 void init_target_desc (struct target_desc *tdesc);
58 
59 /* Return the current inferior's target description. Never returns
60  NULL. */
61 
62 const struct target_desc *current_target_desc (void);
63 
64 #endif /* TDESC_H */
const char ** expedite_regs
Definition: tdesc.h:41
void init_target_desc(struct target_desc *tdesc)
Definition: tdesc.c:23
const char * xmltarget
Definition: tdesc.h:47
const struct target_desc * current_target_desc(void)
Definition: tdesc.c:57
int num_registers
Definition: tdesc.h:34
int registers_size
Definition: tdesc.h:37
void copy_target_description(struct target_desc *dest, const struct target_desc *src)
Definition: tdesc.c:46
struct reg * reg_defs
Definition: tdesc.h:30