ReactOS
0.4.15-dev-2100-g9e32854
|
Go to the source code of this file.
Macros | |
#define | LINES_IN_COMMAND_BUFFER (64) |
Functions | |
ULONG | GetLinesInCommandHistory (void) |
void | AddToCommandLineHistory (LPSTR s) |
LPSTR | GetFromCommandLineHistory (ULONG ulCurrentCommandPos) |
void | ShowStatusLine (void) |
void | ProcessBootParams (void) |
BOOLEAN __inline | bNoCtrlKeys (void) |
void | DebuggerShell (void) |
void | RealIsr (ULONG dwReasonForBreak) |
__asm__ (".global NewInt31Handler\n\t \ NewInt31Handler:\n\t \ cli\n\t \ cld\n\t \ \n\t \ pushl %eax\n\t \ pushl %ds\n\t \ \n\t \ movw %ss,%ax\n\t \ mov %ax,%ds\n\t \ \n\t \ mov 0x4(%esp),%eax\n\t \ movl %eax,_CurrentEAX\n\t \ movl %ebx,_CurrentEBX\n\t \ movl %ecx,_CurrentECX\n\t \ movl %edx,_CurrentEDX\n\t \ movl %esi,_CurrentESI\n\t \ movl %edi,_CurrentEDI\n\t \ movl %ebp,_CurrentEBP\n\t \ movl (%esp),%eax\n\t \ movw %ax,_CurrentDS\n\t \ \n\t \ // test for V86 mode\n\t \ testl $0x20000,5*4(%esp)\n\t \ jz notV86\n\t \ \n\t \ int $0x03\n\t \ \n\t \ notV86:\n\t \ // test if stack switched (ring3->ring0 transition)\n\t \ // stack is switched if orig. SS is not global kernel code segment\n\t \ movl 4*4(%esp),%eax\n\t \ cmpw $" STR(GLOBAL_CODE_SEGMENT) ",%ax\n\t \ je notswitched\n\t \ \n\t \ // switched stack\n\t \ movl 6*4(%esp),%eax\n\t \ mov %eax,_CurrentESP\n\t \ mov 7*4(%esp),%eax\n\t \ movzwl %ax,%eax\n\t \ mov %ax,_CurrentSS\n\t \ jmp afterswitch\n\t \ \n\t \ notswitched:\n\t \ // didn't switch stack\n\t \ movl %esp,_CurrentESP\n\t \ addl $24,_CurrentESP\n\t \ movw %ss,%ax\n\t \ movzwl %ax,%eax\n\t \ mov %ax,_CurrentSS\n\t \ \n\t \ afterswitch:\n\t \ // save EIP\n\t \ mov 3*4(%esp),%eax\n\t \ mov %eax,_CurrentEIP\n\t \ //save CS\n\t \ mov 4*4(%esp),%eax\n\t \ movzwl %ax,%eax\n\t \ movw %ax,_CurrentCS\n\t \ // save flags\n\t \ movl 5*4(%esp),%eax\n\t \ andl $0xFFFFFEFF,%eax\n\t \ movl %eax,_CurrentEFL\n\t \ \n\t \ pushal\n\t \ \n\t \ // get reason code\n\t \ mov 0x28(%esp),%ebx\n\t \ \n\t \ /*\n\t \ * Load the PCR selector.\n\t \ */\n\t \ \n\t \ movl %fs, %eax\n\t \ movl %eax, _OLD_PCR\n\t \ movl _PCR_SEL, %eax\n\t \ movl %eax, %fs\n\t \ \n\t \ // setup a large work stack\n\t \ movl %esp,%eax\n\t \ movl %eax,_ulRealStackPtr\n\t \ \n\t \ pushl %ebx\n\t \ call _RealIsr\n\t \ addl $4,%esp\n\t \ \n\t \ pushl %eax\n\t \ movl _OLD_PCR, %eax\n\t \ movl %eax, %fs\n\t \ popl %eax\n\t \ \n\t \ // restore all regs\n\t \ popal\n\t \ \n\t \ // do an EOI to IRQ controller (because we definitely pressed some key)\n\t \ // TODO: SMP APIC support\n\t \ movb $0x20,%al\n\t \ outb %al,$0x20\n\t \ \n\t \ popl %ds\n\t \ popl %eax\n\t \ \n\t \ // remove reason code\n\t \ addl $4,%esp\n\t \ \n\t \ // make EAX available\n\t \ pushl %eax\n\t \ \n\t \ // modify or restore EFLAGS\n\t \ .byte 0x2e\n\t \ mov _CurrentEFL,%eax\n\t \ mov %eax,3*4(%esp)\n\t \ .byte 0x2e\n\t \ movzwl _CurrentCS,%eax\n\t \ mov %eax,2*4(%esp)\n\t \ .byte 0x2e\n\t \ mov _CurrentEIP,%eax\n\t \ mov %eax,1*4(%esp)\n\t \ \n\t \ // restore EAX\n\t \ popl %eax\n\t \ \n\t \ // do we need to call old INT1 handler\n\t \ .byte 0x2e\n\t \ cmp $0,_dwCallOldInt1Handler\n\t \ je do_iret2\n\t \ \n\t \ // call INT3 handler\n\t \ .byte 0x2e\n\t \ jmp *_OldInt1Handler\n\t \ \n\t \ do_iret2:\n\t \ // do we need to call old INT3 handler\n\t \ .byte 0x2e\n\t \ cmp $0,_dwCallOldInt3Handler\n\t \ je do_iret1\n\t \ \n\t \ // call INT3 handler\n\t \ .byte 0x2e\n\t \ jmp *_OldInt3Handler\n\t \ \n\t \ do_iret1:\n\t \ // do we need to call old pagefault handler\n\t \ .byte 0x2e\n\t \ cmp $0,_dwCallOldIntEHandler\n\t \ je do_iret3\n\t \ \n\t \ // call old pagefault handler\n\t \ .byte 0x2e\n\t \ pushl _error_code\n\t \ .byte 0x2e\n\t \ jmp *_OldIntEHandler\n\t \ \n\t \ do_iret3:\n\t \ // do we need to call old general protection fault handler\n\t \ .byte 0x2e\n\t \ cmp $0,_dwCallOldGPFaultHandler\n\t \ je do_iret\n\t \ \n\t \ // call old pagefault handler\n\t \ .byte 0x2e\n\t \ pushl _error_code\n\t \ .byte 0x2e\n\t \ jmp *_OldGPFaultHandler\n\t \ \n\t \ do_iret:\n\t \ //ei\n\t \ //int3\n\t \ iretl ") | |
__asm__ ("\n\t \ NewGlobalInt31Handler:\n\t \ .byte 0x2e\n\t \ cmpb $0,_bEnterNow\n\t \ jne dotheenter\n\t \ \n\t \ // chain to old handler\n\t \ .byte 0x2e\n\t \ jmp *_OldGlobalInt31Handler\n\t \ \n\t \ dotheenter:\n\t \ pushl $" STR(REASON_CTRLF) "\n\t \ jmp NewInt31Handler ") | |
void | InstallGlobalKeyboardHook (void) |
void | DeInstallGlobalKeyboardHook (void) |
__asm__ | ( | ".global NewInt31Handler\n\t \NewInt31Handler:\n\t \ cli\n\t \ cld\n\t \\n\t \ pushl %eax\n\t \ pushl %ds\n\t \\n\t \ movw % | ss, |
%ax\n\t \ mov % | ax, | ||
%ds\n\t \\n\t \ mov | 0x4%esp, | ||
%eax\n\t \ movl % | eax, | ||
_CurrentEAX\n\t \ movl % | ebx, | ||
_CurrentEBX\n\t \ movl % | ecx, | ||
_CurrentECX\n\t \ movl % | edx, | ||
_CurrentEDX\n\t \ movl % | esi, | ||
_CurrentESI\n\t \ movl % | edi, | ||
_CurrentEDI\n\t \ movl % | ebp, | ||
_CurrentEBP\n\t \ | movl%esp, | ||
%eax\n\t \ movw % | ax, | ||
_CurrentDS\n\t \\n\t \//test for V86 mode\n\t \ testl | $0x20000, | ||
5 * | 4%esp)\n\t \ jz notV86\n\t \\n\t \ int $0x03\n\t \\n\t \notV86:\n\t \//test if stack switched(ring3->ring0 transition)\n\t \//stack is switched if orig. SS is not global kernel code segment\n\t \ movl 4 *4(%esp, | ||
%eax\n\t \ cmpw $" STR(GLOBAL_CODE_SEGMENT) " | , | ||
%ax\n\t \ je notswitched\n\t \\n\t \//switched stack\n\t \ movl 6 * | 4%esp, | ||
%eax\n\t \ mov % | eax, | ||
_CurrentESP\n\t \ mov 7 * | 4%esp, | ||
%eax\n\t \ movzwl % | ax, | ||
%eax\n\t \ mov % | ax, | ||
_CurrentSS\n\t \ jmp afterswitch\n\t \\n\t \notswitched:\n\t \//didn 't switch stack\n\t \ movl % | esp, | ||
_CurrentESP\n\t \ addl | $24, | ||
_CurrentESP\n\t \ movw % | ss, | ||
%ax\n\t \ movzwl % | ax, | ||
%eax\n\t \ mov % | ax, | ||
_CurrentSS\n\t \\n\t \afterswitch:\n\t \//save EIP\n\t \ mov 3 * | 4%esp, | ||
%eax\n\t \ mov % | eax, | ||
_CurrentEIP\n\t \//save CS\n\t \ mov 4 * | 4%esp, | ||
%eax\n\t \ movzwl % | ax, | ||
%eax\n\t \ movw % | ax, | ||
_CurrentCS\n\t \//save flags\n\t \ movl 5 * | 4%esp, | ||
%eax\n\t \ andl | $0xFFFFFEFF, | ||
%eax\n\t \ movl % | eax, | ||
_CurrentEFL\n\t \\n\t \ pushal\n\t \\n\t \//get reason code\n\t \ mov | 0x28%esp, | ||
%ebx\n\t \\n\t \/*\n\t \ *Load the PCR selector.\n\t \ */\n\t \\n\t \ movl % | fs, | ||
%eax\n\t \ movl % | eax, | ||
_OLD_PCR\n\t \ movl | _PCR_SEL, | ||
%eax\n\t \ movl % | eax, | ||
%fs\n\t \\n\t \//setup a large work stack\n\t \ movl % | esp, | ||
%eax\n\t \ movl % | eax, | ||
_ulRealStackPtr\n\t \\n\t \ pushl %ebx\n\t \ call _RealIsr\n\t \ addl | $4, | ||
%esp\n\t \\n\t \ pushl %eax\n\t \ movl | _OLD_PCR, | ||
%eax\n\t \ movl % | eax, | ||
%fs\n\t \ popl %eax\n\t \\n\t \//restore all regs\n\t \ popal\n\t \\n\t \//do an EOI to IRQ controller(because we definitely pressed some key)\n\t \//TODO:SMP APIC support\n\t \ movb | $0x20, | ||
%al\n\t \ outb % | al, | ||
$0x20\n\t \\n\t \ popl %ds\n\t \ popl %eax\n\t \\n\t \//remove reason code\n\t \ addl, | |||
%esp\n\t \\n\t \//make EAX available\n\t \ pushl %eax\n\t \\n\t \//modify or restore EFLAGS\n\t \ .byte 0x2e\n\t \ mov | _CurrentEFL, | ||
%eax\n\t \ mov % | eax, | ||
3 *4(%esp)\n\t \ .byte 0x2e\n\t \ movzwl | _CurrentCS, | ||
%eax\n\t \ mov % | eax, | ||
2 *4(%esp)\n\t \ .byte 0x2e\n\t \ mov | _CurrentEIP, | ||
%eax\n\t \ mov % | eax, | ||
1 *4(%esp)\n\t \\n\t \//restore EAX\n\t \ popl %eax\n\t \\n\t \//do we need to call old INT1 handler\n\t \ .byte 0x2e\n\t \ cmp | $0, | ||
_dwCallOldInt1Handler\n\t \ je do_iret2\n\t \\n\t \//call INT3 handler\n\t \ .byte 0x2e\n\t \ jmp *_OldInt1Handler\n\t \\n\t \do_iret2:\n\t \//do we need to call old INT3 handler\n\t \ .byte 0x2e\n\t \ cmp | $0, | ||
_dwCallOldInt3Handler\n\t \ je do_iret1\n\t \\n\t \//call INT3 handler\n\t \ .byte 0x2e\n\t \ jmp *_OldInt3Handler\n\t \\n\t \do_iret1:\n\t \//do we need to call old pagefault handler\n\t \ .byte 0x2e\n\t \ cmp | $0, | ||
_dwCallOldIntEHandler\n\t \ je do_iret3\n\t \\n\t \//call old pagefault handler\n\t \ .byte 0x2e\n\t \ pushl _error_code\n\t \ .byte 0x2e\n\t \ jmp *_OldIntEHandler\n\t \\n\t \do_iret3:\n\t \//do we need to call old general protection fault handler\n\t \ .byte 0x2e\n\t \ cmp | $0, | ||
_dwCallOldGPFaultHandler\n\t \ je do_iret\n\t \\n\t \//call old pagefault handler\n\t \ .byte 0x2e\n\t \ pushl _error_code\n\t \ .byte 0x2e\n\t \ jmp *_OldGPFaultHandler\n\t \\n\t \do_iret:\n\t \//ei\n\t \//int3\n\t \ iretl " | |||
) |
Referenced by DebuggerShell(), InstallGlobalKeyboardHook(), and RealIsr().
__asm__ | ( | "\n\t \NewGlobalInt31Handler:\n\t \ .byte 0x2e\n\t \ cmpb | $0, |
_bEnterNow\n\t \ jne dotheenter\n\t \\n\t \//chain to old handler\n\t \ .byte 0x2e\n\t \ jmp *_OldGlobalInt31Handler\n\t \\n\t \dotheenter:\n\t \ pushl $" STR(REASON_CTRLF) "\n\t \ jmp NewInt31Handler " | |||
) |
Definition at line 160 of file shell.c.
Referenced by DebuggerShell().
Definition at line 307 of file shell.c.
Referenced by RealIsr().
Definition at line 194 of file shell.c.
Referenced by DebuggerShell().
Definition at line 143 of file shell.c.
Referenced by DebuggerShell().
Definition at line 1657 of file shell.c.
Referenced by InitPICE().
Definition at line 1016 of file shell.c.
Referenced by InitPICE().
Definition at line 216 of file shell.c.
Referenced by DebuggerShell(), Parse(), and RepaintDesktop().
char aszCommandLines[LINES_IN_COMMAND_BUFFER][sizeof(ucCommandBuffer)+2] |
Definition at line 132 of file shell.c.
Referenced by AddToCommandLineHistory(), and GetFromCommandLineHistory().
Definition at line 72 of file shell.c.
Referenced by AsciiFromScan(), AsciiToScan(), bNoCtrlKeys(), DebuggerShell(), and KeyboardGetKeyPolled().
Definition at line 70 of file shell.c.
Referenced by bNoCtrlKeys(), DebuggerShell(), KeyboardGetKeyPolled(), PiceKbdIsr(), and RealIsr().
Definition at line 75 of file shell.c.
Referenced by PiceKbdIsr(), and RealIsr().
Definition at line 79 of file shell.c.
Referenced by HandlePageFault(), and RealIsr().
Definition at line 76 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), DebuggerShell(), and RealIsr().
Definition at line 71 of file shell.c.
Referenced by AsciiFromScan(), AsciiToScan(), bNoCtrlKeys(), DebuggerShell(), CSendToMenu::DoDrop(), KeyboardGetKeyPolled(), and RotateTasks().
Definition at line 129 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), and RealIsr().
Definition at line 65 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), and RealIsr().
Definition at line 64 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), and RealIsr().
USHORT CurrentCS |
Definition at line 116 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), DebuggerShell(), Disasm(), DisplayRegs(), InitPICE(), IsCallInstrAtEIP(), IsRetAtEIP(), RealIsr(), and SaveOldRegs().
USHORT CurrentDS =0 |
Definition at line 116 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), DisplayRegs(), InitPICE(), and SaveOldRegs().
ULONG CurrentEAX |
Definition at line 114 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG CurrentEBP |
Definition at line 115 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), DisplayRegs(), FindGlobalStabSymbol(), FindLocalsByAddress(), HandleInDebuggerFault(), and SaveOldRegs().
ULONG CurrentEBX |
Definition at line 114 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG CurrentECX |
Definition at line 114 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG CurrentEDI |
Definition at line 115 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG CurrentEDX |
Definition at line 114 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG CurrentEFL |
Definition at line 113 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), DisplayRegs(), RealIsr(), and SaveOldRegs().
ULONG CurrentEIP |
Definition at line 113 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), DebuggerShell(), DisplayRegs(), InitPICE(), IsCallInstrAtEIP(), IsRetAtEIP(), PrintkCallback(), RealIsr(), and SaveOldRegs().
USHORT CurrentES |
Definition at line 116 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG CurrentESI |
Definition at line 115 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG CurrentESP |
Definition at line 115 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), DisplayRegs(), PrintkCallback(), RealIsr(), and SaveOldRegs().
USHORT CurrentFS |
Definition at line 116 of file shell.c.
Referenced by DisplayRegs(), RealIsr(), and SaveOldRegs().
USHORT CurrentGS |
Definition at line 116 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG CurrentProcess |
Definition at line 125 of file shell.c.
Referenced by _IRQL_requires_max_(), CSR_API(), CsrCreateProcess(), CsrCreateThread(), CsrLockProcessByClientId(), DebuggerShell(), KdbpOverwriteInstruction(), KdbpSymFindModule(), Ke386SetIoAccessMap(), KeUpdateRunTime(), KsecGetKeyData(), main(), MiDeleteVirtualAddresses(), MiGetPageProtection(), MiInitializeWorkingSetList(), MiInsertVadEx(), MiLockVirtualMemory(), MiMakeSystemAddressValid(), MiRemoveMappedView(), MiResolvePageFileFault(), MiResolveTransitionFault(), MiSessionRemoveProcess(), MiUnlockVirtualMemory(), MiUnmapViewOfSection(), MmArmAccessFault(), MmDeletePageTable(), MmFreeMemoryArea(), MmFreePageTable(), MmGetExecuteOptions(), MmProbeAndLockPages(), MmSetExecuteOptions(), NtAllocateVirtualMemory(), NtCreateJobObject(), NtFreeVirtualMemory(), NtLockVirtualMemory(), NtProtectVirtualMemory(), NtQueryInformationJobObject(), NtTerminateProcess(), NtUnlockVirtualMemory(), ObpSetCurrentProcessDeviceMap(), ObReferenceObjectByHandle(), PsaWalkFirstThread(), PsaWalkNextProcess(), PspCreateProcess(), PspExitThread(), PspRunCreateProcessNotifyRoutines(), UserCreateMenu(), and WSAStartup().
USHORT CurrentSS |
Definition at line 116 of file shell.c.
Referenced by DisplayRegs(), InitPICE(), PrintkCallback(), and SaveOldRegs().
ULONG g_ulLineNumberStart =0 |
Definition at line 62 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), and RealIsr().
ULONG KeyboardIRQL |
Definition at line 50 of file init.c.
Referenced by DeInstallGlobalKeyboardHook(), InitPICE(), and InstallGlobalKeyboardHook().
USHORT OldCS =0 |
Definition at line 123 of file shell.c.
Referenced by DisplayRegs(), RealIsr(), and SaveOldRegs().
USHORT OldDS |
Definition at line 123 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldEAX |
Definition at line 121 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldEBP |
Definition at line 122 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldEBX |
Definition at line 121 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldECX |
Definition at line 121 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldEDI |
Definition at line 122 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldEDX |
Definition at line 121 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldEFL |
Definition at line 120 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldEIP =0 |
Definition at line 120 of file shell.c.
Referenced by DisplayRegs(), RealIsr(), and SaveOldRegs().
USHORT OldES |
Definition at line 123 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldESI |
Definition at line 122 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldESP |
Definition at line 122 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
USHORT OldFS |
Definition at line 123 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
Definition at line 74 of file shell.c.
Referenced by DeInstallGlobalKeyboardHook(), and InstallGlobalKeyboardHook().
USHORT OldGS |
Definition at line 123 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
ULONG OldOffset =0 |
Definition at line 90 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), DebuggerShell(), CPortPinWaveCyclic::GeneratePositionEvents(), Ke386CallBios(), KeUpdateSystemTime(), and RepaintDesktop().
USHORT OldSelector =0 |
Definition at line 89 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), DebuggerShell(), and RepaintDesktop().
USHORT OldSS |
Definition at line 123 of file shell.c.
Referenced by DisplayRegs(), and SaveOldRegs().
char* szFunctionKeys[10] |
Definition at line 95 of file shell.c.
Referenced by DebuggerShell().
char tempShell[256] |
Definition at line 86 of file shell.c.
Referenced by DebuggerShell(), RealIsr(), and ShowStatusLine().
UCHAR ucCommandBuffer[256] |
Definition at line 127 of file shell.c.
Referenced by DebuggerShell(), and ProcessBootParams().
UCHAR ucConverted |
Definition at line 68 of file shell.c.
Referenced by DebuggerShell().
Definition at line 78 of file shell.c.
Referenced by DebuggerShell(), and WaitForKey().
ULONG ulCommandCurrentPos =0 |
Definition at line 134 of file shell.c.
Referenced by AddToCommandLineHistory(), and DebuggerShell().
ULONG ulCommandInPos =0 |
Definition at line 133 of file shell.c.
Referenced by AddToCommandLineHistory(), and GetLinesInCommandHistory().
ULONG ulCommandLastPos =0 |
Definition at line 133 of file shell.c.
Referenced by AddToCommandLineHistory(), and GetLinesInCommandHistory().
ULONG ulLastLineDisplayedOffset = 0 |
Definition at line 92 of file shell.c.
Referenced by DebuggerShell().
ULONG ulOldStack |
Definition at line 110 of file shell.c.
Referenced by DebuggerShell().
ULONG ulRealStackPtr |
Definition at line 82 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), and HandleInDebuggerFault().
ULONG ulWindowOffset = 0 |
Definition at line 63 of file shell.c.
Referenced by COMMAND_PROTOTYPE(), and DebuggerShell().
USHORT usCurrentPosInInputBuffer =0 |
Definition at line 128 of file shell.c.
Referenced by DebuggerShell().