]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSymbol.h
ShellPkg: Add error prompt message in Ifconfig6 command.
[mirror_edk2.git] / MdeModulePkg / Universal / EbcDxe / EbcDebugger / EdbSymbol.h
1 /*++
2
3 Copyright (c) 2007, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 EdbSymbol.h
15
16 Abstract:
17
18
19 --*/
20
21 #ifndef _EFI_EDB_SYMBOL_H_
22 #define _EFI_EDB_SYMBOL_H_
23
24 #include <Uefi.h>
25
26 //
27 // The default base address is 0x10000000
28 //
29 #define EFI_DEBUGGER_DEFAULT_LINK_IMAGEBASE 0x10000000
30
31 #define EFI_DEBUGGER_MAX_SYMBOL_ADDRESS_DELTA_VALUE 0x100000 // 1 M delta
32
33 typedef enum {
34 EdbMatchSymbolTypeSameAdderss,
35 EdbMatchSymbolTypeNearestAddress,
36 EdbMatchSymbolTypeLowerAddress,
37 EdbMatchSymbolTypeUpperAddress,
38 EdbMatchSymbolTypeMax,
39 } EDB_MATCH_SYMBOL_TYPE;
40
41 typedef enum {
42 EdbEbcImageRvaSearchTypeAny,
43 EdbEbcImageRvaSearchTypeFirst,
44 EdbEbcImageRvaSearchTypeLast,
45 EdbEbcImageRvaSearchTypeMax,
46 } EDB_EBC_IMAGE_RVA_SEARCH_TYPE;
47
48 UINTN
49 EbdFindSymbolAddress (
50 IN UINTN Address,
51 IN EDB_MATCH_SYMBOL_TYPE Type,
52 OUT EFI_DEBUGGER_SYMBOL_OBJECT **Object,
53 OUT EFI_DEBUGGER_SYMBOL_ENTRY **Entry
54 );
55
56 EFI_STATUS
57 EdbLoadSymbol (
58 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
59 IN CHAR16 *FileName,
60 IN UINTN BufferSize,
61 IN VOID *Buffer
62 );
63
64 EFI_STATUS
65 EdbUnloadSymbol (
66 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
67 IN CHAR16 *FileName
68 );
69
70 EFI_STATUS
71 EdbPatchSymbolRVA (
72 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
73 IN CHAR16 *FileName,
74 IN EDB_EBC_IMAGE_RVA_SEARCH_TYPE SearchType
75 );
76
77 EFI_STATUS
78 EdbLoadCode (
79 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
80 IN CHAR16 *MapFileName,
81 IN CHAR16 *FileName,
82 IN UINTN BufferSize,
83 IN VOID *Buffer
84 );
85
86 EFI_STATUS
87 EdbUnloadCode (
88 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
89 IN CHAR16 *MapFileName,
90 IN CHAR16 *FileName,
91 OUT VOID **Buffer
92 );
93
94 EFI_STATUS
95 EdbAddCodeBuffer (
96 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
97 IN CHAR16 *MapFileName,
98 IN CHAR16 *CodeFileName,
99 IN UINTN SourceBufferSize,
100 IN VOID *SourceBuffer
101 );
102
103 EFI_STATUS
104 EdbDeleteCodeBuffer (
105 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
106 IN CHAR16 *MapFileName,
107 IN CHAR16 *CodeFileName,
108 IN VOID *SourceBuffer
109 );
110
111 CHAR8 *
112 FindSymbolStr (
113 IN UINTN Address
114 );
115
116 UINTN
117 EdbPrintSource (
118 IN UINTN Address,
119 IN BOOLEAN IsPrint
120 );
121
122 EFI_STATUS
123 Symboltoi (
124 IN CHAR16 *Symbol,
125 OUT UINTN *Address
126 );
127
128 #endif