Home | History | Annotate | Line # | Download | only in gdb
      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