:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[reactos.git] / include / ntos / kdbgsyms.h
1
2 #ifndef __KDBGSYMS_H
3 #define __KDBGSYMS_H
4
5 #include <ddk/ntddk.h>
6
7 #define ST_FILENAME     0x00
8 #define ST_FUNCTION     0x01
9 #define ST_LINENUMBER   0x02
10
11 typedef struct _SYMBOL
12 {
13   struct _SYMBOL *Next;
14   /* Address relative to module base address */
15   ULONG RelativeAddress;
16   ULONG SymbolType;
17   ANSI_STRING Name;
18   ULONG LineNumber;
19 } SYMBOL, *PSYMBOL;
20
21 typedef struct _SYMBOL_TABLE
22 {
23   ULONG SymbolCount;
24   PSYMBOL Symbols;
25 } SYMBOL_TABLE, *PSYMBOL_TABLE;
26
27 typedef struct _IMAGE_SYMBOL_INFO
28 {
29   SYMBOL_TABLE FileNameSymbols;
30   SYMBOL_TABLE FunctionSymbols;
31   SYMBOL_TABLE LineNumberSymbols;
32   ULONG_PTR ImageBase;
33   ULONG_PTR ImageSize;
34   PVOID FileBuffer;
35   PVOID SymbolsBase;
36   ULONG SymbolsLength;
37   PVOID SymbolStringsBase;
38   ULONG SymbolStringsLength;
39 } IMAGE_SYMBOL_INFO, *PIMAGE_SYMBOL_INFO;
40
41 #define AreSymbolsParsed(si)((si)->FileNameSymbols.Symbols \
42         || (si)->FunctionSymbols.Symbols \
43         || (si)->LineNumberSymbols.Symbols)
44
45 #endif
46