Improved support for vm86 mode.
diff --git a/debugger/debugger.h b/debugger/debugger.h
index b5c021e..bf860a7 100644
--- a/debugger/debugger.h
+++ b/debugger/debugger.h
@@ -144,6 +144,11 @@
struct expr * condition;
} DBG_BREAKPOINT;
+enum dbg_mode
+{
+ MODE_INVALID, MODE_16, MODE_32, MODE_VM86
+};
+
typedef struct tagDBG_THREAD {
struct tagDBG_PROCESS* process;
HANDLE handle;
@@ -151,7 +156,7 @@
LPVOID start;
LPVOID teb;
int wait_for_first_exception;
- int dbg_mode;
+ enum dbg_mode dbg_mode;
enum exec_mode dbg_exec_mode;
int dbg_exec_count;
DBG_BREAKPOINT stepOverBP;
@@ -326,12 +331,11 @@
/* debugger/info.c */
extern void DEBUG_PrintBasic( const DBG_VALUE* value, int count, char format );
-extern struct symbol_info DEBUG_PrintAddress( const DBG_ADDR *addr,
- int addrlen, int flag );
+extern struct symbol_info DEBUG_PrintAddress( const DBG_ADDR *addr, enum dbg_mode mode, int flag );
extern void DEBUG_Help(void);
extern void DEBUG_HelpInfo(void);
extern struct symbol_info DEBUG_PrintAddressAndArgs( const DBG_ADDR *addr,
- int addrlen,
+ enum dbg_mode mode,
unsigned int ebp,
int flag );
extern void DEBUG_InfoClass(const char* clsName);
@@ -357,10 +361,9 @@
extern DWORD DEBUG_ToLinear( const DBG_ADDR *address );
extern void DEBUG_GetCurrentAddress( DBG_ADDR * );
extern BOOL DEBUG_GrabAddress( DBG_VALUE* value, BOOL fromCode );
+extern enum dbg_mode DEBUG_GetSelectorType( WORD sel );
#ifdef __i386__
extern void DEBUG_FixAddress( DBG_ADDR *address, DWORD def );
-extern BOOL DEBUG_FixSegment( DBG_ADDR* addr );
-extern int DEBUG_GetSelectorType( WORD sel );
extern int DEBUG_IsSelectorSystem( WORD sel );
#endif