GDBserver self tests
[deliverable/binutils-gdb.git] / gdb / common / agent.h
index 296521579ca153befd65707822bbda13d3abe47e..f24f4826f35d6ef8c1ce06b78c242ff0b46aaeb9 100644 (file)
@@ -1,6 +1,6 @@
 /* Shared utility routines for GDB to interact with agent.
 
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-int agent_run_command (int pid, const char *cmd);
+#ifndef COMMON_AGENT_H
+#define COMMON_AGENT_H
 
-int agent_look_up_symbols (void);
+#include "common/preprocessor.h"
 
-#define STRINGIZE_1(STR) #STR
-#define STRINGIZE(STR) STRINGIZE_1(STR)
+int agent_run_command (int pid, const char *cmd, int len);
+
+int agent_look_up_symbols (void *);
+
+#define IPA_SYM_EXPORTED_NAME(SYM) gdb_agent_ ## SYM
 #define IPA_SYM(SYM)                                   \
   {                                                    \
-    STRINGIZE (gdb_agent_ ## SYM),                     \
+    STRINGIFY (IPA_SYM_EXPORTED_NAME (SYM)),           \
     offsetof (struct ipa_sym_addresses, addr_ ## SYM)  \
   }
 
@@ -33,6 +37,27 @@ int agent_look_up_symbols (void);
    thread.  */
 #define IPA_CMD_BUF_SIZE 1024
 
+int agent_loaded_p (void);
+
 extern int debug_agent;
 
 extern int use_agent;
+
+/* Capability of agent.  Different agents may have different capabilities,
+   such as installing fast tracepoint or evaluating breakpoint conditions.
+   Capabilities are represented by bit-maps, and each capability occupies one
+   bit.  */
+
+enum agent_capa
+{
+  /* Capability to install fast tracepoint.  */
+  AGENT_CAPA_FAST_TRACE = 0x1,
+  /* Capability to install static tracepoint.  */
+  AGENT_CAPA_STATIC_TRACE = (0x1 << 1),
+};
+
+int agent_capability_check (enum agent_capa);
+
+void agent_capability_invalidate (void);
+
+#endif /* COMMON_AGENT_H */
This page took 0.044515 seconds and 4 git commands to generate.