GDB (API)
|
00001 /* Native-dependent code for AMD64. 00002 00003 Copyright (C) 2003-2013 Free Software Foundation, Inc. 00004 00005 This file is part of GDB. 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 3 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00019 00020 #ifndef AMD64_NAT_H 00021 #define AMD64_NAT_H 1 00022 00023 struct regcache; 00024 00025 /* General-purpose register set description for native 32-bit code. */ 00026 extern int *amd64_native_gregset32_reg_offset; 00027 extern int amd64_native_gregset32_num_regs; 00028 00029 /* General-purpose register set description for native 64-bit code. */ 00030 extern int *amd64_native_gregset64_reg_offset; 00031 extern int amd64_native_gregset64_num_regs; 00032 00033 /* Return whether the native general-purpose register set supplies 00034 register REGNUM. */ 00035 00036 extern int amd64_native_gregset_supplies_p (struct gdbarch *gdbarch, 00037 int regnum); 00038 00039 /* Supply register REGNUM, whose contents are store in BUF, to 00040 REGCACHE. If REGNUM is -1, supply all appropriate registers. */ 00041 00042 extern void amd64_supply_native_gregset (struct regcache *regcache, 00043 const void *gregs, int regnum); 00044 00045 /* Collect register REGNUM from REGCACHE and store its contents in 00046 GREGS. If REGNUM is -1, collect and store all appropriate 00047 registers. */ 00048 00049 extern void amd64_collect_native_gregset (const struct regcache *regcache, 00050 void *gregs, int regnum); 00051 00052 /* Create a prototype *BSD/amd64 target. The client can override it 00053 with local methods. */ 00054 00055 extern struct target_ops *amd64bsd_target (void); 00056 00057 #endif /* amd64-nat.h */