mirror of
https://github.com/reactos/reactos.git
synced 2024-11-09 16:20:37 +00:00
1e3d5d70e9
svn path=/trunk/; revision=26033
88 lines
2.3 KiB
C
88 lines
2.3 KiB
C
/*++
|
|
|
|
Copyright (c) 1998-2001 Klaus P. Gerlicher
|
|
|
|
Module Name:
|
|
|
|
symbols.h
|
|
|
|
Abstract:
|
|
|
|
HEADER for symbols.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.
|
|
|
|
--*/
|
|
|
|
typedef struct _LOCAL_VARIABLE
|
|
{
|
|
char type_name[64];
|
|
char name[64];
|
|
ULONG value,offset,line;
|
|
BOOLEAN bRegister;
|
|
}LOCAL_VARIABLE,*PLOCAL_VARIABLE;
|
|
|
|
|
|
struct _DEBUG_MODULE_SYMBOL_
|
|
{
|
|
ULONG value;
|
|
char* name;
|
|
};
|
|
|
|
typedef struct _DEBUG_MODULE_
|
|
{
|
|
struct _DEBUG_MODULE_ *next;
|
|
ULONG size;
|
|
PVOID BaseAddress;
|
|
PVOID EntryPoint;
|
|
WCHAR name[DEBUG_MODULE_NAME_LEN];
|
|
struct _DEBUG_MODULE_SYMBOL_ syms;
|
|
}DEBUG_MODULE, *PDEBUG_MODULE;
|
|
|
|
BOOLEAN InitFakeKernelModule(void);
|
|
BOOLEAN LoadExports(void);
|
|
BOOLEAN SanityCheckExports(void);
|
|
void UnloadExports(void);
|
|
BOOLEAN ScanExports(const char *pFind,PULONG pValue);
|
|
BOOLEAN ScanExportsByAddress(LPSTR *pFind,ULONG ulValue);
|
|
PICE_SYMBOLFILE_HEADER* LoadSymbols(LPSTR filename);
|
|
BOOLEAN LoadSymbolsFromConfig(BOOLEAN bIgnoreBootParams);
|
|
void UnloadSymbols(void);
|
|
BOOLEAN ReloadSymbols(void);
|
|
LPSTR FindFunctionByAddress(ULONG ulValue,PULONG pulstart,PULONG pulend);
|
|
LPSTR FindSourceLineForAddress(ULONG addr,PULONG pulLineNumber,LPSTR* ppSrcStart,LPSTR* ppSrcEnd,LPSTR* ppFilename);
|
|
PLOCAL_VARIABLE FindLocalsByAddress(ULONG addr);
|
|
ULONG FindFunctionInModuleByName(LPSTR szFunctionname, PDEBUG_MODULE pMod);
|
|
PICE_SYMBOLFILE_HEADER* FindModuleSymbolsByModuleName(LPSTR modname);
|
|
BOOLEAN FindAddressForSourceLine(ULONG ulLineNumber,LPSTR pFilename, PDEBUG_MODULE pMod,PULONG pValue);
|
|
ULONG ConvertDecimalToUlong(LPSTR p);
|
|
PDEBUG_MODULE FindModuleFromAddress(ULONG addr);
|
|
PICE_SYMBOLFILE_HEADER* FindModuleSymbols(ULONG addr);
|
|
ULONG ListSymbolStartingAt(PDEBUG_MODULE pMod,PICE_SYMBOLFILE_HEADER* pSymbols,ULONG index,LPSTR pOutput);
|
|
PDEBUG_MODULE FindModuleByName(LPSTR modname);
|
|
void Evaluate(PICE_SYMBOLFILE_HEADER* pSymbols,LPSTR p);
|
|
LONG ExtractNumber(LPSTR p);
|
|
LPSTR ExtractTypeName(LPSTR p);
|
|
PDEBUG_MODULE IsModuleLoaded(LPSTR p);
|
|
|
|
//extern ULONG kernel_end;
|
|
extern PICE_SYMBOLFILE_HEADER* apSymbols[32];
|
|
|
|
//extern struct module fake_kernel_module;
|
|
#define KERNEL_START (0xc0000000)
|
|
|