Commit | Line | Data |
---|---|---|
99cf6da6 KR |
1 | /* Internal interfaces for the NetBSD code. |
2 | ||
3666a048 | 3 | Copyright (C) 2006-2021 Free Software Foundation, Inc. |
99cf6da6 KR |
4 | |
5 | This file is part of GDB. | |
6 | ||
7 | This program is free software; you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License as published by | |
9 | the Free Software Foundation; either version 3 of the License, or | |
10 | (at your option) any later version. | |
11 | ||
12 | This program is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | |
19 | ||
20 | #ifndef NAT_NETBSD_NAT_H | |
21 | #define NAT_NETBSD_NAT_H | |
22 | ||
c489f8c6 KR |
23 | #include "gdbsupport/function-view.h" |
24 | ||
330662f6 KR |
25 | #include <unistd.h> |
26 | ||
99cf6da6 KR |
27 | namespace netbsd_nat |
28 | { | |
330662f6 KR |
29 | |
30 | /* Return the executable file name of a process specified by PID. Returns the | |
31 | string in a static buffer. */ | |
32 | ||
33 | extern const char *pid_to_exec_file (pid_t pid); | |
34 | ||
c489f8c6 KR |
35 | /* Return true if PTID is still active in the inferior. */ |
36 | ||
37 | extern bool thread_alive (ptid_t ptid); | |
38 | ||
39 | /* Return the name assigned to a thread by an application. Returns | |
40 | the string in a static buffer. | |
41 | ||
42 | This function assumes internally that the queried process is stopped. */ | |
43 | ||
44 | extern const char *thread_name (ptid_t ptid); | |
45 | ||
46 | /* A generic thread lister within a specific PID. The CALLBACK parameter | |
47 | is a C++ function that is called for each detected thread. | |
48 | ||
49 | This function assumes internally that the queried process is stopped. */ | |
50 | ||
51 | extern void for_each_thread (pid_t pid, | |
52 | gdb::function_view<void (ptid_t)> callback); | |
feedfcc7 KR |
53 | |
54 | /* Enable additional event reporting in a new process specified by PID. | |
55 | ||
56 | This function assumes internally that the queried process is stopped and | |
57 | traced. */ | |
58 | ||
59 | extern void enable_proc_events (pid_t pid); | |
1ccb2c17 KR |
60 | |
61 | /* Implement reading and writing of inferior's siginfo_t specified by PID. | |
62 | Returns -1 on failure and the number of bytes on a successful transfer. | |
63 | ||
64 | This function assumes internally that the queried process is stopped and | |
65 | traced. */ | |
66 | ||
67 | extern int qxfer_siginfo (pid_t pid, const char *annex, unsigned char *readbuf, | |
68 | unsigned const char *writebuf, CORE_ADDR offset, | |
69 | int len); | |
91e5e8db KR |
70 | |
71 | /* Write gdb's LEN bytes from WRITEBUF and copy it to OFFSET in inferior | |
72 | process' address space. The inferior is specified by PID. | |
73 | Returns 0 on success or errno on failure and the number of bytes | |
74 | on a successful transfer in XFERED_LEN. | |
75 | ||
76 | This function assumes internally that the queried process is stopped and | |
77 | traced. */ | |
78 | ||
79 | extern int write_memory (pid_t pid, unsigned const char *writebuf, | |
80 | CORE_ADDR offset, size_t len, size_t *xfered_len); | |
81 | ||
82 | /* Read inferior process's LEN bytes from OFFSET and copy it to WRITEBUF in | |
83 | gdb's address space. | |
84 | Returns 0 on success or errno on failure and the number of bytes | |
85 | on a successful transfer in XFERED_LEN. | |
86 | ||
87 | This function assumes internally that the queried process is stopped and | |
88 | traced. */ | |
89 | ||
90 | extern int read_memory (pid_t pid, unsigned char *readbuf, CORE_ADDR offset, | |
91 | size_t len, size_t *xfered_len); | |
99cf6da6 KR |
92 | } |
93 | ||
94 | #endif |