Define YYOBJ in terms of YYFILES
[deliverable/binutils-gdb.git] / gdb / gdbserver / win32-low.h
index 6e1b8dc6e06bfd6d8bb3b88da71b74c918970330..789f650cbcc152c9ae93f08acb7fc7140888eb48 100644 (file)
@@ -1,5 +1,5 @@
 /* Internal interfaces for the Win32 specific target code for gdbserver.
-   Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2007-2017 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 
 #include <windows.h>
 
+struct target_desc;
+
+/* The inferior's target description.  This is a global because the
+   Windows ports support neither bi-arch nor multi-process.  */
+extern const struct target_desc *win32_tdesc;
+
 /* Thread information structure used to track extra information about
    each thread.  */
 typedef struct win32_thread_info
@@ -41,6 +47,10 @@ typedef struct win32_thread_info
 
   /* The context of the thread, including any manipulations.  */
   CONTEXT context;
+
+  /* Whether debug registers changed since we last set CONTEXT back to
+     the thread.  */
+  int debug_registers_changed;
 } win32_thread_info;
 
 struct win32_target_ops
@@ -55,10 +65,10 @@ struct win32_target_ops
   void (*initial_stuff) (void);
 
   /* Fetch the context from the inferior.  */
-  void (*get_thread_context) (win32_thread_info *th, DEBUG_EVENT *current_event);
+  void (*get_thread_context) (win32_thread_info *th);
 
-  /* Flush the context back to the inferior.  */
-  void (*set_thread_context) (win32_thread_info *th, DEBUG_EVENT *current_event);
+  /* Called just before resuming the thread.  */
+  void (*prepare_to_resume) (win32_thread_info *th);
 
   /* Called when a thread was added.  */
   void (*thread_added) (win32_thread_info *th);
@@ -77,14 +87,20 @@ struct win32_target_ops
   int breakpoint_len;
 
   /* Breakpoint/Watchpoint related functions.  See target.h for comments.  */
-  int (*insert_point) (char type, CORE_ADDR addr, int len);
-  int (*remove_point) (char type, CORE_ADDR addr, int len);
+  int (*supports_z_point_type) (char z_type);
+  int (*insert_point) (enum raw_bkpt_type type, CORE_ADDR addr,
+                      int size, struct raw_breakpoint *bp);
+  int (*remove_point) (enum raw_bkpt_type type, CORE_ADDR addr,
+                      int size, struct raw_breakpoint *bp);
   int (*stopped_by_watchpoint) (void);
   CORE_ADDR (*stopped_data_address) (void);
 };
 
 extern struct win32_target_ops the_low_target;
 
+/* Retrieve the context for this thread, if not already retrieved.  */
+extern void win32_require_context (win32_thread_info *th);
+
 /* Map the Windows error number in ERROR to a locale-dependent error
    message string and return a pointer to it.  Typically, the values
    for ERROR come from GetLastError.
This page took 0.026061 seconds and 4 git commands to generate.