/***************************************************************/ /* mgdb: midipix-specific bits for gdb */ /* Copyright (C) 2019 Z. Gilboa */ /* Released under GPLv2 and GPLv3; see COPYING.MGDB. */ /***************************************************************/ #ifndef WINNT_NAT_H #define WINNT_NAT_H #include #include #include #include #include #define WINNT_DR_STATE_DIRTY (0x1) #define WINNT_THREAD_CONTEXT_READY (0X0) #define WINNT_THREAD_CONTEXT_DIRTY (0Xffffffff) struct regcache; struct winnt_process; struct winnt_thread; struct winnt_process { int pfd; pid_t pid; pid_t syspid; pid_t systid; pid_t flags; int nmodules; struct __dbg_module_info * modules; struct __dbg_event event; char * solibs; uintptr_t dr_cache[8]; uint32_t dr_state; struct winnt_thread * threads; }; struct winnt_thread { struct winnt_thread * next; struct winnt_process * process; pid_t tid; uint32_t state; mcontext_t regctx; }; void amd64_winnt_fetch_registers( struct regcache *, int regnum, struct winnt_thread *); void i386_winnt_fetch_registers( struct regcache *, int regnum, struct winnt_thread *); #endif