1 1.1 christos /* Native-dependent code for modern i386 BSD's. 2 1.1 christos 3 1.1.1.5 christos Copyright (C) 2004-2024 Free Software Foundation, Inc. 4 1.1 christos 5 1.1 christos This file is part of GDB. 6 1.1 christos 7 1.1 christos This program is free software; you can redistribute it and/or modify 8 1.1 christos it under the terms of the GNU General Public License as published by 9 1.1 christos the Free Software Foundation; either version 3 of the License, or 10 1.1 christos (at your option) any later version. 11 1.1 christos 12 1.1 christos This program is distributed in the hope that it will be useful, 13 1.1 christos but WITHOUT ANY WARRANTY; without even the implied warranty of 14 1.1 christos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 1.1 christos GNU General Public License for more details. 16 1.1 christos 17 1.1 christos You should have received a copy of the GNU General Public License 18 1.1 christos along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 1.1 christos 20 1.1.1.6 christos #ifndef GDB_I386_BSD_NAT_H 21 1.1.1.6 christos #define GDB_I386_BSD_NAT_H 22 1.1 christos 23 1.1.1.2 christos #include "x86-bsd-nat.h" 24 1.1 christos 25 1.1.1.2 christos /* Helper functions. See definitions. */ 26 1.1.1.2 christos extern void i386bsd_fetch_inferior_registers (struct regcache *regcache, 27 1.1.1.2 christos int regnum); 28 1.1.1.2 christos extern void i386bsd_store_inferior_registers (struct regcache *regcache, 29 1.1.1.2 christos int regnum); 30 1.1.1.2 christos 31 1.1.1.2 christos /* A prototype *BSD/i386 target. */ 32 1.1.1.2 christos 33 1.1.1.2 christos template<typename BaseTarget> 34 1.1.1.2 christos class i386_bsd_nat_target : public x86bsd_nat_target<BaseTarget> 35 1.1.1.2 christos { 36 1.1.1.2 christos public: 37 1.1.1.2 christos void fetch_registers (struct regcache *regcache, int regnum) override 38 1.1.1.2 christos { i386bsd_fetch_inferior_registers (regcache, regnum); } 39 1.1.1.2 christos 40 1.1.1.2 christos void store_registers (struct regcache *regcache, int regnum) override 41 1.1.1.2 christos { i386bsd_store_inferior_registers (regcache, regnum); } 42 1.1.1.2 christos }; 43 1.1 christos 44 1.1.1.6 christos #endif /* GDB_I386_BSD_NAT_H */ 45