/*++ Copyright (c) 1998-2001 Klaus P. Gerlicher Module Name: shell.h Abstract: HEADER for shell.c Environment: LINUX 2.2.X Kernel mode only Author: Klaus P. Gerlicher Revision History: 15-Nov-2000: general cleanup of source files Copyright notice: This file may be distributed under the terms of the GNU Public License. --*/ //void InstallKeyboardHook(void); //void DeInstallKeyboardHook(void); void InstallGlobalKeyboardHook(void); void DeInstallGlobalKeyboardHook(void); void RealIsr(ULONG dwReasonForBreak); void NewInt31Handler(void); extern volatile BOOLEAN bNotifyToExit; extern volatile BOOLEAN bSingleStep; extern volatile UCHAR ucKeyPressedWhileIdle; extern volatile BOOLEAN bInDebuggerShell; extern ULONG CurrentEIP,CurrentEFL; extern ULONG CurrentEAX,CurrentEBX,CurrentECX,CurrentEDX; extern ULONG CurrentESP,CurrentEBP,CurrentESI,CurrentEDI; extern ULONG CurrentDR0,CurrentDR1,CurrentDR2,CurrentDR3,CurrentDR6,CurrentDR7; extern ULONG CurrentCR0,CurrentCR2,CurrentCR3; extern USHORT CurrentCS,CurrentDS,CurrentES,CurrentFS,CurrentGS,CurrentSS; extern volatile BOOLEAN bControl; // TRUE when CTRL key was pressed extern volatile BOOLEAN bShift; // TRUE when SHIFT key was pressed extern volatile BOOLEAN bAlt; // TRUE when SHIFT key was pressed // previous context extern ULONG OldEIP,OldEFL; extern ULONG OldEAX,OldEBX,OldECX,OldEDX; extern ULONG OldESP,OldEBP,OldESI,OldEDI; extern USHORT OldCS,OldDS,OldES,OldFS,OldGS,OldSS; extern ULONG CurrentProcess; extern USHORT OldSelector; extern ULONG OldOffset; extern ULONG ulRealStackPtr; // serves as current process pointer too!! extern ULONG g_ulLineNumberStart; extern BOOLEAN bStepThroughSource; extern BOOLEAN bStepInto; #define REASON_INT3 (0) #define REASON_SINGLESTEP (1) #define REASON_CTRLF (2) #define REASON_PAGEFAULT (3) #define REASON_GP_FAULT (4) #define REASON_HARDWARE_BP (5) #define REASON_DOUBLE_FAULT (6) #define REASON_MODULE_LOAD (7) #define REASON_INTERNAL_ERROR (8) extern volatile BOOLEAN bEnterNow; // keyboard controller defines #define I8042_PHYSICAL_BASE 0x60 #define I8042_DATA_REGISTER_OFFSET 0 #define I8042_COMMAND_REGISTER_OFFSET 4 #define I8042_STATUS_REGISTER_OFFSET 4 void ShowStatusLine(void); #define KEYBOARD_IRQ 1