?? parse.h
字號:
/****************************************************************************** * * Copyright (c) 2003 Gerhard W. Gruber * * PROJECT: pICE * $Source: /cvsroot/pice/pice/module/parse.h,v $ * $Revision: 1.5 $ * $Date: 2004/02/17 23:07:37 $ * $Author: lightweave $ * $Name: $ * * $Log: parse.h,v $ * Revision 1.5 2004/02/17 23:07:37 lightweave * * Improved the DEBUG facillity and replaced the configuration handler with a * new code which now can read MS Windows INI style files. See CHANGES.txt for * more details. * Also added a macro which prevents compiling for kernels before 2.4.19. * * Revision 1.4 2003/06/18 22:00:22 lightweave * DEBUG and DEBUG_SERIAL added * * *****************************************************************************//*++Copyright (c) 1998-2001 Klaus P. GerlicherModule Name: parse.hAbstract: HEADER for parse.cEnvironment: LINUX 2.2.X Kernel mode onlyAuthor: Klaus P. GerlicherRevision History: 15-Nov-2000: general cleanup of source filesCopyright notice: This file may be distributed under the terms of the GNU Public License.--*/#ifndef _PARSE_H#define _PARSE_Htypedef struct TagArgs{ // IN values ULONG Value[16]; ULONG Count; UCHAR Switch[16]; ULONG CountSwitches; BOOLEAN bNotTranslated[16]; LPSTR pToken[16]; // OUT values BOOLEAN bNotifyToExit;}ARGS,*PARGS;typedef struct tagCPUInfo{ char *Name; PULONG pValue;}CPUINFO;typedef BOOLEAN (*PFN)(EXCEPTION_FRAME* pFrame,PARGS pArgs);#define MAX_ARGS (5)typedef struct _CMDTABLE{ char * Cmd; PFN Handler; char * Help; ULONG Flags; ULONG ParamFlags[MAX_ARGS]; LPSTR pszRecognizedSwitches; ULONG CommandGroup;}CMDTABLE,*PCMDTABLE;typedef struct tagKeyWords{ char* KeyWord; ULONG (*GetValueFunc)(EXCEPTION_FRAME* pFrame); void (*SetValueFunc)(EXCEPTION_FRAME* pFrame,ULONG value); ULONG ulSize;}KEYWORDS;typedef struct tagSETGETREGS{ char *RegName; PULONG RegAddr;}SETGETREGS;typedef struct tag_BP{ ULONG LinearAddress; ULONG Segment,Offset; BOOLEAN Used; BOOLEAN Active; BOOLEAN Virtual; char ModName[256]; char SymName[256];}BP;extern BOOLEAN bNeedToFillBuffer;extern BOOLEAN bCodeOn;extern BOOLEAN bShowSrc;extern BP Bp[];extern BOOLEAN bInt3Here;extern BOOLEAN bStepping;extern char szCurrentFile[256];extern struct module* pCurrentMod;extern PICE_SYMBOLFILE_HEADER* pCurrentSymbols;extern LONG ulCurrentlyDisplayedLineNumber;BOOLEAN AsciiToHex(LPSTR p,PULONG pValue);BOOLEAN Parse(EXCEPTION_FRAME* pFrame,LPSTR pCmdLine,BOOLEAN bInvokedByFkey);LPSTR FindCommand(LPSTR p);ULONG StrLenUpToWhiteChar(LPSTR p,LPSTR lpszWhiteChars);BOOLEAN WaitForKey(void);BOOLEAN ConvertTokenToHex(LPSTR p,PULONG pValue);void DisplaySourceFile(LPSTR pSrcLine,LPSTR pSrcEnd,ULONG ulLineNumber,ULONG ulLineNumberToInvert);BOOLEAN ConvertTokenToSrcFile(LPSTR p,PULONG pValue);void RepaintDesktop(EXCEPTION_FRAME* pFrame);void PutStatusText(LPSTR p);void UnassembleOneLineDown(EXCEPTION_FRAME* pFrame);void UnassembleOnePageDown(EXCEPTION_FRAME* pFrame,ULONG page);void UnassembleOneLineUp(EXCEPTION_FRAME* pFrame);void UnassembleOnePageUp(EXCEPTION_FRAME* pFrame,ULONG page);extern BOOLEAN (*DisplayMemory)(EXCEPTION_FRAME* pFrame,PARGS pArgs);#define COMMAND_PROTOTYPE(arg) BOOLEAN arg(EXCEPTION_FRAME *pFrame,PARGS pArgs)#define COMMAND_RET return TRUE// available commandsCOMMAND_PROTOTYPE(ShowGdt);COMMAND_PROTOTYPE(LeaveIce);COMMAND_PROTOTYPE(SingleStep);COMMAND_PROTOTYPE(ShowHelp);COMMAND_PROTOTYPE(ShowPageDirs);COMMAND_PROTOTYPE(ShowProcesses);COMMAND_PROTOTYPE(DisplayMemoryDword);COMMAND_PROTOTYPE(DisplayMemoryByte);COMMAND_PROTOTYPE(DisplayPhysMemDword);COMMAND_PROTOTYPE(Unassemble);COMMAND_PROTOTYPE(ShowSymbols);COMMAND_PROTOTYPE(ShowModules);COMMAND_PROTOTYPE(SetBreakpoint);COMMAND_PROTOTYPE(ListBreakpoints);COMMAND_PROTOTYPE(ClearBreakpoints);COMMAND_PROTOTYPE(Ver);COMMAND_PROTOTYPE(Hboot);COMMAND_PROTOTYPE(I3here);COMMAND_PROTOTYPE(I1here);COMMAND_PROTOTYPE(SetSrcDisplay);COMMAND_PROTOTYPE(ShowIdt);COMMAND_PROTOTYPE(StepOver);COMMAND_PROTOTYPE(StepInto);COMMAND_PROTOTYPE(SetGetRegisters);COMMAND_PROTOTYPE(SetCodeDisplay);COMMAND_PROTOTYPE(NextInstr);COMMAND_PROTOTYPE(ShowCPU);COMMAND_PROTOTYPE(ShowTables);COMMAND_PROTOTYPE(WalkStack);COMMAND_PROTOTYPE(ShowVirtualMemory);COMMAND_PROTOTYPE(UnassembleAtCurrentEIP);COMMAND_PROTOTYPE(PokeMemory);COMMAND_PROTOTYPE(PeekMemory);COMMAND_PROTOTYPE(ShowLocals);COMMAND_PROTOTYPE(SwitchTables);COMMAND_PROTOTYPE(SwitchFiles);COMMAND_PROTOTYPE(EvaluateExpression);COMMAND_PROTOTYPE(SizeCodeWindow);COMMAND_PROTOTYPE(SizeDataWindow);COMMAND_PROTOTYPE(ClearScreen);COMMAND_PROTOTYPE(ShowMappings);COMMAND_PROTOTYPE(ShowTimers);COMMAND_PROTOTYPE(ShowPCI);COMMAND_PROTOTYPE(SetKeyboardLayout);COMMAND_PROTOTYPE(ShowSysCallTable);COMMAND_PROTOTYPE(SetAltKey);COMMAND_PROTOTYPE(ShowContext);COMMAND_PROTOTYPE(DumpHeap);COMMAND_PROTOTYPE(ZapBreakpoint);COMMAND_PROTOTYPE(ReadMSR);COMMAND_PROTOTYPE(InportByte);COMMAND_PROTOTYPE(OutportByte);COMMAND_PROTOTYPE(ShowRegisters);#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -