netbsd-nat.h revision 1.1.1.2 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 christos #ifndef NBSD_NAT_H
21 1.1 christos #define NBSD_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 christos #endif /* netbsd-nat.h */
65