1 1.1 christos /* Native-dependent code for NetBSD. 2 1.1 christos 3 1.1.1.2 christos Copyright (C) 2006-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.3 christos #ifndef GDB_NETBSD_NAT_H 21 1.1.1.3 christos #define GDB_NETBSD_NAT_H 22 1.1 christos 23 1.1 christos #include "inf-ptrace.h" 24 1.1 christos 25 1.1 christos struct thread_info; 26 1.1 christos 27 1.1 christos /* A prototype NetBSD target. */ 28 1.1 christos 29 1.1 christos struct nbsd_nat_target : public inf_ptrace_target 30 1.1 christos { 31 1.1 christos const char *pid_to_exec_file (int pid) override; 32 1.1 christos 33 1.1 christos bool thread_alive (ptid_t ptid) override; 34 1.1 christos const char *thread_name (struct thread_info *thr) override; 35 1.1 christos void post_attach (int pid) override; 36 1.1 christos void update_thread_list () override; 37 1.1 christos std::string pid_to_str (ptid_t ptid) override; 38 1.1 christos 39 1.1 christos int find_memory_regions (find_memory_region_ftype func, void *data) override; 40 1.1 christos bool info_proc (const char *, enum info_proc_what) override; 41 1.1 christos 42 1.1 christos void resume (ptid_t, int, enum gdb_signal) override; 43 1.1 christos ptid_t wait (ptid_t, struct target_waitstatus *, target_wait_flags) override; 44 1.1 christos int insert_exec_catchpoint (int pid) override; 45 1.1 christos int remove_exec_catchpoint (int pid) override; 46 1.1 christos int set_syscall_catchpoint (int pid, bool needed, int any_count, 47 1.1 christos gdb::array_view<const int> syscall_counts) 48 1.1 christos override; 49 1.1 christos 50 1.1 christos bool supports_multi_process () override; 51 1.1 christos enum target_xfer_status xfer_partial (enum target_object object, 52 1.1 christos const char *annex, 53 1.1 christos gdb_byte *readbuf, 54 1.1 christos const gdb_byte *writebuf, 55 1.1 christos ULONGEST offset, ULONGEST len, 56 1.1 christos ULONGEST *xfered_len) override; 57 1.1 christos bool supports_dumpcore () override; 58 1.1 christos void dumpcore (const char *filename) override; 59 1.1 christos 60 1.1 christos protected: 61 1.1 christos void post_startup_inferior (ptid_t ptid) override; 62 1.1 christos }; 63 1.1 christos 64 1.1.1.3 christos #endif /* GDB_NETBSD_NAT_H */ 65