reactos/rosapps/sysutils/utils/pice/module/shell.h

92 lines
2.3 KiB
C

/*++
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