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 // Forward Declarations
19 namespace lldb {
20 
21 class LLDB_API SBAddress;
22 class LLDB_API SBBlock;
23 class LLDB_API SBBreakpoint;
24 class LLDB_API SBBreakpointLocation;
25 class LLDB_API SBBreakpointName;
26 class LLDB_API SBBreakpointNameImpl;
27 class LLDB_API SBBroadcaster;
28 class LLDB_API SBCommand;
29 class LLDB_API SBCommandInterpreter;
30 class LLDB_API SBCommandInterpreterRunOptions;
31 class LLDB_API SBCommandInterpreterRunResult;
32 class LLDB_API SBCommandPluginInterface;
33 class LLDB_API SBCommandReturnObject;
34 class LLDB_API SBCommunication;
35 class LLDB_API SBCompileUnit;
36 class LLDB_API SBData;
37 class LLDB_API SBDebugger;
38 class LLDB_API SBDeclaration;
39 class LLDB_API SBEnvironment;
40 class LLDB_API SBError;
41 class LLDB_API SBEvent;
42 class LLDB_API SBEventList;
43 class LLDB_API SBExecutionContext;
44 class LLDB_API SBExpressionOptions;
45 class LLDB_API SBFile;
46 class LLDB_API SBFileSpec;
47 class LLDB_API SBFileSpecList;
48 class LLDB_API SBFrame;
49 class LLDB_API SBFunction;
50 class LLDB_API SBHostOS;
51 class LLDB_API SBInstruction;
52 class LLDB_API SBInstructionList;
53 class LLDB_API SBLanguageRuntime;
54 class LLDB_API SBLaunchInfo;
55 class LLDB_API SBLineEntry;
56 class LLDB_API SBListener;
57 class LLDB_API SBMemoryRegionInfo;
58 class LLDB_API SBMemoryRegionInfoList;
59 class LLDB_API SBModule;
60 class LLDB_API SBModuleSpec;
61 class LLDB_API SBModuleSpecList;
62 class LLDB_API SBProcess;
63 class LLDB_API SBProcessInfo;
64 class LLDB_API SBQueue;
65 class LLDB_API SBQueueItem;
66 class LLDB_API SBSection;
67 class LLDB_API SBSourceManager;
68 class LLDB_API SBStream;
69 class LLDB_API SBStringList;
70 class LLDB_API SBStructuredData;
71 class LLDB_API SBSymbol;
72 class LLDB_API SBSymbolContext;
73 class LLDB_API SBSymbolContextList;
74 class LLDB_API SBTarget;
75 class LLDB_API SBThread;
76 class LLDB_API SBThreadCollection;
77 class LLDB_API SBThreadPlan;
78 class LLDB_API SBTrace;
79 class LLDB_API SBTraceOptions;
80 class LLDB_API SBType;
81 class LLDB_API SBTypeCategory;
82 class LLDB_API SBTypeEnumMember;
83 class LLDB_API SBTypeEnumMemberList;
84 class LLDB_API SBTypeFilter;
85 class LLDB_API SBTypeFormat;
86 class LLDB_API SBTypeMemberFunction;
87 class LLDB_API SBTypeNameSpecifier;
88 class LLDB_API SBTypeSummary;
89 class LLDB_API SBTypeSummaryOptions;
90 class LLDB_API SBTypeSynthetic;
91 class LLDB_API SBTypeList;
92 class LLDB_API SBValue;
93 class LLDB_API SBValueList;
94 class LLDB_API SBVariablesOptions;
95 class LLDB_API SBWatchpoint;
96 class LLDB_API SBUnixSignals;
97 
98 typedef bool (*SBBreakpointHitCallback)(void *baton, SBProcess &process,
99                                         SBThread &thread,
100                                         lldb::SBBreakpointLocation &location);
101 }
102 
103 #endif // LLDB_API_SBDEFINES_H
104