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