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