1 | //===-- SBDefines.h ---------------------------------------------*- C++ -*-===// |
---|---|
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | |
9 | #ifndef LLDB_API_SBDEFINES_H |
10 | #define LLDB_API_SBDEFINES_H |
11 | |
12 | #include "lldb/lldb-defines.h" |
13 | #include "lldb/lldb-enumerations.h" |
14 | #include "lldb/lldb-forward.h" |
15 | #include "lldb/lldb-types.h" |
16 | #include "lldb/lldb-versioning.h" |
17 | |
18 | #include <cstdio> // For FILE * |
19 | |
20 | #ifndef LLDB_API |
21 | #if defined(_WIN32) |
22 | #if defined(LLDB_IN_LIBLLDB) |
23 | #define LLDB_API __declspec(dllexport) |
24 | #else |
25 | #define LLDB_API __declspec(dllimport) |
26 | #endif |
27 | #else // defined (_WIN32) |
28 | #define LLDB_API |
29 | #endif |
30 | #endif |
31 | |
32 | // Don't add the deprecated attribute when generating the bindings or when |
33 | // building for anything older than C++14 which is the first version that |
34 | // supports the attribute. |
35 | #if defined(SWIG) || _cplusplus < 201402L |
36 | #undef LLDB_DEPRECATED |
37 | #undef LLDB_DEPRECATED_FIXME |
38 | #define LLDB_DEPRECATED(MSG) |
39 | #define LLDB_DEPRECATED_FIXME(MSG, FIX) |
40 | #endif |
41 | |
42 | // Forward Declarations |
43 | namespace lldb { |
44 | |
45 | class LLDB_API SBAddress; |
46 | class LLDB_API SBAttachInfo; |
47 | class LLDB_API SBBlock; |
48 | class LLDB_API SBBreakpoint; |
49 | class LLDB_API SBBreakpointList; |
50 | class LLDB_API SBBreakpointLocation; |
51 | class LLDB_API SBBreakpointName; |
52 | class LLDB_API SBBreakpointNameImpl; |
53 | class LLDB_API SBBroadcaster; |
54 | class LLDB_API SBCommand; |
55 | class LLDB_API SBCommandInterpreter; |
56 | class LLDB_API SBCommandInterpreterRunOptions; |
57 | class LLDB_API SBCommandInterpreterRunResult; |
58 | class LLDB_API SBCommandPluginInterface; |
59 | class LLDB_API SBCommandReturnObject; |
60 | class LLDB_API SBCommunication; |
61 | class LLDB_API SBCompileUnit; |
62 | class LLDB_API SBData; |
63 | class LLDB_API SBDebugger; |
64 | class LLDB_API SBDeclaration; |
65 | class LLDB_API SBEnvironment; |
66 | class LLDB_API SBError; |
67 | class LLDB_API SBEvent; |
68 | class LLDB_API SBEventList; |
69 | class LLDB_API SBExecutionContext; |
70 | class LLDB_API SBExpressionOptions; |
71 | class LLDB_API SBFile; |
72 | class LLDB_API SBFileSpec; |
73 | class LLDB_API SBFileSpecList; |
74 | class LLDB_API SBFormat; |
75 | class LLDB_API SBFrame; |
76 | class LLDB_API SBFunction; |
77 | class LLDB_API SBHostOS; |
78 | class LLDB_API SBInstruction; |
79 | class LLDB_API SBInstructionList; |
80 | class LLDB_API SBLanguageRuntime; |
81 | class LLDB_API SBLaunchInfo; |
82 | class LLDB_API SBLineEntry; |
83 | class LLDB_API SBListener; |
84 | class LLDB_API SBMemoryRegionInfo; |
85 | class LLDB_API SBMemoryRegionInfoList; |
86 | class LLDB_API SBModule; |
87 | class LLDB_API SBModuleSpec; |
88 | class LLDB_API SBModuleSpecList; |
89 | class LLDB_API SBPlatform; |
90 | class LLDB_API SBPlatformConnectOptions; |
91 | class LLDB_API SBPlatformShellCommand; |
92 | class LLDB_API SBProcess; |
93 | class LLDB_API SBProcessInfo; |
94 | class LLDB_API SBProcessInfoList; |
95 | class LLDB_API SBQueue; |
96 | class LLDB_API SBQueueItem; |
97 | class LLDB_API SBReplayOptions; |
98 | class LLDB_API SBReproducer; |
99 | class LLDB_API SBScriptObject; |
100 | class LLDB_API SBSection; |
101 | class LLDB_API SBSourceManager; |
102 | class LLDB_API SBStatisticsOptions; |
103 | class LLDB_API SBStream; |
104 | class LLDB_API SBStringList; |
105 | class LLDB_API SBStructuredData; |
106 | class LLDB_API SBSymbol; |
107 | class LLDB_API SBSymbolContext; |
108 | class LLDB_API SBSymbolContextList; |
109 | class LLDB_API SBTarget; |
110 | class LLDB_API SBThread; |
111 | class LLDB_API SBThreadCollection; |
112 | class LLDB_API SBThreadPlan; |
113 | class LLDB_API SBTrace; |
114 | class LLDB_API SBTraceCursor; |
115 | class LLDB_API SBType; |
116 | class LLDB_API SBTypeCategory; |
117 | class LLDB_API SBTypeEnumMember; |
118 | class LLDB_API SBTypeEnumMemberList; |
119 | class LLDB_API SBTypeFilter; |
120 | class LLDB_API SBTypeFormat; |
121 | class LLDB_API SBTypeMember; |
122 | class LLDB_API SBTypeMemberFunction; |
123 | class LLDB_API SBTypeNameSpecifier; |
124 | class LLDB_API SBTypeSummary; |
125 | class LLDB_API SBTypeSummaryOptions; |
126 | class LLDB_API SBTypeSynthetic; |
127 | class LLDB_API SBTypeList; |
128 | class LLDB_API SBValue; |
129 | class LLDB_API SBValueList; |
130 | class LLDB_API SBVariablesOptions; |
131 | class LLDB_API SBWatchpoint; |
132 | class LLDB_API SBWatchpointOptions; |
133 | class LLDB_API SBUnixSignals; |
134 | |
135 | typedef bool (*SBBreakpointHitCallback)(void *baton, SBProcess &process, |
136 | SBThread &thread, |
137 | lldb::SBBreakpointLocation &location); |
138 | |
139 | typedef void (*SBDebuggerDestroyCallback)(lldb::user_id_t debugger_id, |
140 | void *baton); |
141 | |
142 | typedef SBError (*SBPlatformLocateModuleCallback)( |
143 | void *baton, const SBModuleSpec &module_spec, SBFileSpec &module_file_spec, |
144 | SBFileSpec &symbol_file_spec); |
145 | } |
146 | |
147 | #endif // LLDB_API_SBDEFINES_H |
148 |