GDBserver
|
00001 /* Copyright (C) 2010-2013 Free Software Foundation, Inc. 00002 00003 This file is part of GDB. 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation; either version 3 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00017 00018 #include "server.h" 00019 00020 struct regcache; 00021 struct target_desc; 00022 00023 /* Some information relative to a given register set. */ 00024 00025 struct lynx_regset_info 00026 { 00027 /* The ptrace request needed to get/set registers of this set. */ 00028 int get_request, set_request; 00029 /* The size of the register set. */ 00030 int size; 00031 /* Fill the buffer BUF from the contents of the given REGCACHE. */ 00032 void (*fill_function) (struct regcache *regcache, char *buf); 00033 /* Store the register value in BUF in the given REGCACHE. */ 00034 void (*store_function) (struct regcache *regcache, const char *buf); 00035 }; 00036 00037 /* A list of regsets for the target being debugged, terminated by an entry 00038 where the size is negative. 00039 00040 This list should be created by the target-specific code. */ 00041 00042 extern struct lynx_regset_info lynx_target_regsets[]; 00043 00044 /* The target-specific operations for LynxOS support. */ 00045 00046 struct lynx_target_ops 00047 { 00048 /* Architecture-specific setup. */ 00049 void (*arch_setup) (void); 00050 }; 00051 00052 extern struct lynx_target_ops the_low_target; 00053 00054 /* The inferior's target description. This is a global because the 00055 LynxOS ports support neither bi-arch nor multi-process. */ 00056 extern const struct target_desc *lynx_tdesc;