- Rearrange reactos.dff according to rosapps rearrange.
[reactos.git] / rosapps / applications / sysutils / utils / pice / module / shell.h
1 /*++
2
3 Copyright (c) 1998-2001 Klaus P. Gerlicher
4
5 Module Name:
6
7 shell.h
8
9 Abstract:
10
11 HEADER for shell.c
12
13 Environment:
14
15 LINUX 2.2.X
16 Kernel mode only
17
18 Author:
19
20 Klaus P. Gerlicher
21
22 Revision History:
23
24 15-Nov-2000: general cleanup of source files
25
26 Copyright notice:
27
28 This file may be distributed under the terms of the GNU Public License.
29
30 --*/
31 //void InstallKeyboardHook(void);
32 //void DeInstallKeyboardHook(void);
33 void InstallGlobalKeyboardHook(void);
34 void DeInstallGlobalKeyboardHook(void);
35
36 void RealIsr(ULONG dwReasonForBreak);
37 void NewInt31Handler(void);
38
39 extern volatile BOOLEAN bNotifyToExit;
40 extern volatile BOOLEAN bSingleStep;
41 extern volatile UCHAR ucKeyPressedWhileIdle;
42 extern volatile BOOLEAN bInDebuggerShell;
43
44 extern ULONG CurrentEIP,CurrentEFL;
45 extern ULONG CurrentEAX,CurrentEBX,CurrentECX,CurrentEDX;
46 extern ULONG CurrentESP,CurrentEBP,CurrentESI,CurrentEDI;
47 extern ULONG CurrentDR0,CurrentDR1,CurrentDR2,CurrentDR3,CurrentDR6,CurrentDR7;
48 extern ULONG CurrentCR0,CurrentCR2,CurrentCR3;
49 extern USHORT CurrentCS,CurrentDS,CurrentES,CurrentFS,CurrentGS,CurrentSS;
50 extern volatile BOOLEAN bControl; // TRUE when CTRL key was pressed
51 extern volatile BOOLEAN bShift; // TRUE when SHIFT key was pressed
52 extern volatile BOOLEAN bAlt; // TRUE when SHIFT key was pressed
53
54 // previous context
55 extern ULONG OldEIP,OldEFL;
56 extern ULONG OldEAX,OldEBX,OldECX,OldEDX;
57 extern ULONG OldESP,OldEBP,OldESI,OldEDI;
58 extern USHORT OldCS,OldDS,OldES,OldFS,OldGS,OldSS;
59
60 extern ULONG CurrentProcess;
61
62 extern USHORT OldSelector;
63 extern ULONG OldOffset;
64
65 extern ULONG ulRealStackPtr; // serves as current process pointer too!!
66
67 extern ULONG g_ulLineNumberStart;
68 extern BOOLEAN bStepThroughSource;
69 extern BOOLEAN bStepInto;
70
71 #define REASON_INT3 (0)
72 #define REASON_SINGLESTEP (1)
73 #define REASON_CTRLF (2)
74 #define REASON_PAGEFAULT (3)
75 #define REASON_GP_FAULT (4)
76 #define REASON_HARDWARE_BP (5)
77 #define REASON_DOUBLE_FAULT (6)
78 #define REASON_MODULE_LOAD (7)
79 #define REASON_INTERNAL_ERROR (8)
80
81 extern volatile BOOLEAN bEnterNow;
82
83 // keyboard controller defines
84 #define I8042_PHYSICAL_BASE 0x60
85 #define I8042_DATA_REGISTER_OFFSET 0
86 #define I8042_COMMAND_REGISTER_OFFSET 4
87 #define I8042_STATUS_REGISTER_OFFSET 4
88
89 void ShowStatusLine(void);
90
91 #define KEYBOARD_IRQ 1