- Start rosapps rearrange and cleanup process.
[reactos.git] / rosapps / applications / sysutils / utils / pice / module / shell.h
diff --git a/rosapps/applications/sysutils/utils/pice/module/shell.h b/rosapps/applications/sysutils/utils/pice/module/shell.h
new file mode 100644 (file)
index 0000000..cac7822
--- /dev/null
@@ -0,0 +1,91 @@
+/*++
+
+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