merge ROS Shell without integrated explorer part into trunk
[reactos.git] / reactos / apps / utils / pice / module / symbols.h
1 /*++
2
3 Copyright (c) 1998-2001 Klaus P. Gerlicher
4
5 Module Name:
6
7 symbols.h
8
9 Abstract:
10
11 HEADER for symbols.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
32 typedef struct _LOCAL_VARIABLE
33 {
34 char type_name[64];
35 char name[64];
36 ULONG value,offset,line;
37 BOOLEAN bRegister;
38 }LOCAL_VARIABLE,*PLOCAL_VARIABLE;
39
40
41 struct _DEBUG_MODULE_SYMBOL_
42 {
43 ULONG value;
44 char* name;
45 };
46
47 typedef struct _DEBUG_MODULE_
48 {
49 struct _DEBUG_MODULE_ *next;
50 ULONG size;
51 PVOID BaseAddress;
52 PVOID EntryPoint;
53 WCHAR name[DEBUG_MODULE_NAME_LEN];
54 struct _DEBUG_MODULE_SYMBOL_ syms;
55 }DEBUG_MODULE, *PDEBUG_MODULE;
56
57 BOOLEAN InitFakeKernelModule(void);
58 BOOLEAN LoadExports(void);
59 BOOLEAN SanityCheckExports(void);
60 void UnloadExports(void);
61 BOOLEAN ScanExports(const char *pFind,PULONG pValue);
62 BOOLEAN ScanExportsByAddress(LPSTR *pFind,ULONG ulValue);
63 PICE_SYMBOLFILE_HEADER* LoadSymbols(LPSTR filename);
64 BOOLEAN LoadSymbolsFromConfig(BOOLEAN bIgnoreBootParams);
65 void UnloadSymbols(void);
66 BOOLEAN ReloadSymbols(void);
67 LPSTR FindFunctionByAddress(ULONG ulValue,PULONG pulstart,PULONG pulend);
68 LPSTR FindSourceLineForAddress(ULONG addr,PULONG pulLineNumber,LPSTR* ppSrcStart,LPSTR* ppSrcEnd,LPSTR* ppFilename);
69 PLOCAL_VARIABLE FindLocalsByAddress(ULONG addr);
70 ULONG FindFunctionInModuleByName(LPSTR szFunctionname, PDEBUG_MODULE pMod);
71 PICE_SYMBOLFILE_HEADER* FindModuleSymbolsByModuleName(LPSTR modname);
72 BOOLEAN FindAddressForSourceLine(ULONG ulLineNumber,LPSTR pFilename, PDEBUG_MODULE pMod,PULONG pValue);
73 ULONG ConvertDecimalToUlong(LPSTR p);
74 PDEBUG_MODULE FindModuleFromAddress(ULONG addr);
75 PICE_SYMBOLFILE_HEADER* FindModuleSymbols(ULONG addr);
76 ULONG ListSymbolStartingAt(PDEBUG_MODULE pMod,PICE_SYMBOLFILE_HEADER* pSymbols,ULONG index,LPSTR pOutput);
77 PDEBUG_MODULE FindModuleByName(LPSTR modname);
78 void Evaluate(PICE_SYMBOLFILE_HEADER* pSymbols,LPSTR p);
79 LONG ExtractNumber(LPSTR p);
80 LPSTR ExtractTypeName(LPSTR p);
81 PDEBUG_MODULE IsModuleLoaded(LPSTR p);
82
83 //extern ULONG kernel_end;
84 extern PICE_SYMBOLFILE_HEADER* apSymbols[32];
85
86 //extern struct module fake_kernel_module;
87 #define KERNEL_START (0xc0000000)
88