X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdbserver%2Fwin32-low.h;h=917f72756229d9648bc4434abc7a255f7d646a78;hb=a816ba1897ae6939518d628cb58d6281c9b64a4f;hp=9d2f0b4fbecca96d94d62fe0ce122e1194c288dd;hpb=52405d85ec748e4566b7893fa3cb9ff21c8a1bc4;p=deliverable%2Fbinutils-gdb.git diff --git a/gdbserver/win32-low.h b/gdbserver/win32-low.h index 9d2f0b4fbe..917f727562 100644 --- a/gdbserver/win32-low.h +++ b/gdbserver/win32-low.h @@ -20,6 +20,7 @@ #define GDBSERVER_WIN32_LOW_H #include +#include "nat/windows-nat.h" struct target_desc; @@ -27,35 +28,6 @@ struct target_desc; 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 -{ - /* The Win32 thread identifier. */ - DWORD tid; - - /* The handle to the thread. */ - HANDLE h; - - /* Thread Information Block address. */ - CORE_ADDR thread_local_base; - - /* Non zero if SuspendThread was called on this thread. */ - int suspended; - -#ifdef _WIN32_WCE - /* The context as retrieved right after suspending the thread. */ - CONTEXT base_context; -#endif - - /* 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 { /* Architecture-specific setup. */ @@ -68,23 +40,25 @@ struct win32_target_ops void (*initial_stuff) (void); /* Fetch the context from the inferior. */ - void (*get_thread_context) (win32_thread_info *th); + void (*get_thread_context) (windows_nat::windows_thread_info *th); /* Called just before resuming the thread. */ - void (*prepare_to_resume) (win32_thread_info *th); + void (*prepare_to_resume) (windows_nat::windows_thread_info *th); /* Called when a thread was added. */ - void (*thread_added) (win32_thread_info *th); + void (*thread_added) (windows_nat::windows_thread_info *th); /* Fetch register from gdbserver regcache data. */ void (*fetch_inferior_register) (struct regcache *regcache, - win32_thread_info *th, int r); + windows_nat::windows_thread_info *th, + int r); /* Store a new register value into the thread context of TH. */ void (*store_inferior_register) (struct regcache *regcache, - win32_thread_info *th, int r); + windows_nat::windows_thread_info *th, + int r); - void (*single_step) (win32_thread_info *th); + void (*single_step) (windows_nat::windows_thread_info *th); const unsigned char *breakpoint; int breakpoint_len; @@ -171,7 +145,7 @@ public: }; /* Retrieve the context for this thread, if not already retrieved. */ -extern void win32_require_context (win32_thread_info *th); +extern void win32_require_context (windows_nat::windows_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