File indexing completed on 2026-05-10 08:42:59
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLDB_LLDB_ENUMERATIONS_H
0010 #define LLDB_LLDB_ENUMERATIONS_H
0011
0012 #include <cstdint>
0013 #include <type_traits>
0014
0015 #ifndef SWIG
0016
0017
0018
0019
0020
0021
0022 #define LLDB_MARK_AS_BITMASK_ENUM(Enum) \
0023 constexpr Enum operator|(Enum a, Enum b) { \
0024 return static_cast<Enum>( \
0025 static_cast<std::underlying_type<Enum>::type>(a) | \
0026 static_cast<std::underlying_type<Enum>::type>(b)); \
0027 } \
0028 constexpr Enum operator&(Enum a, Enum b) { \
0029 return static_cast<Enum>( \
0030 static_cast<std::underlying_type<Enum>::type>(a) & \
0031 static_cast<std::underlying_type<Enum>::type>(b)); \
0032 } \
0033 constexpr Enum operator~(Enum a) { \
0034 return static_cast<Enum>( \
0035 ~static_cast<std::underlying_type<Enum>::type>(a)); \
0036 } \
0037 inline Enum &operator|=(Enum &a, Enum b) { \
0038 a = a | b; \
0039 return a; \
0040 } \
0041 inline Enum &operator&=(Enum &a, Enum b) { \
0042 a = a & b; \
0043 return a; \
0044 }
0045 #else
0046 #define LLDB_MARK_AS_BITMASK_ENUM(Enum)
0047 #endif
0048
0049 #ifndef SWIG
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064 #define FLAGS_ENUM(Name) enum Name : unsigned
0065 #define FLAGS_ANONYMOUS_ENUM() enum : unsigned
0066 #else
0067 #define FLAGS_ENUM(Name) enum Name
0068 #define FLAGS_ANONYMOUS_ENUM() enum
0069 #endif
0070
0071 namespace lldb {
0072
0073
0074 enum StateType {
0075 eStateInvalid = 0,
0076 eStateUnloaded,
0077 eStateConnected,
0078
0079 eStateAttaching,
0080 eStateLaunching,
0081
0082
0083
0084
0085 eStateStopped,
0086 eStateRunning,
0087 eStateStepping,
0088
0089 eStateCrashed,
0090 eStateDetached,
0091 eStateExited,
0092 eStateSuspended,
0093
0094
0095 kLastStateType = eStateSuspended
0096 };
0097
0098
0099 FLAGS_ENUM(LaunchFlags){
0100 eLaunchFlagNone = 0u,
0101 eLaunchFlagExec = (1u << 0),
0102
0103 eLaunchFlagDebug = (1u << 1),
0104
0105 eLaunchFlagStopAtEntry = (1u
0106 << 2),
0107
0108
0109 eLaunchFlagDisableASLR =
0110 (1u << 3),
0111 eLaunchFlagDisableSTDIO =
0112 (1u << 4),
0113 eLaunchFlagLaunchInTTY =
0114 (1u << 5),
0115 eLaunchFlagLaunchInShell =
0116 (1u << 6),
0117 eLaunchFlagLaunchInSeparateProcessGroup =
0118 (1u << 7),
0119
0120
0121 eLaunchFlagDontSetExitStatus = (1u << 8),
0122
0123 eLaunchFlagDetachOnError = (1u << 9),
0124
0125
0126
0127 eLaunchFlagShellExpandArguments =
0128 (1u << 10),
0129 eLaunchFlagCloseTTYOnExit = (1u << 11),
0130 eLaunchFlagInheritTCCFromParent =
0131 (1u << 12),
0132
0133 };
0134
0135
0136 enum RunMode { eOnlyThisThread, eAllThreads, eOnlyDuringStepping };
0137
0138
0139 enum ByteOrder {
0140 eByteOrderInvalid = 0,
0141 eByteOrderBig = 1,
0142 eByteOrderPDP = 2,
0143 eByteOrderLittle = 4
0144 };
0145
0146
0147 enum Encoding {
0148 eEncodingInvalid = 0,
0149 eEncodingUint,
0150 eEncodingSint,
0151 eEncodingIEEE754,
0152 eEncodingVector
0153 };
0154
0155
0156 enum Format {
0157 eFormatDefault = 0,
0158 eFormatInvalid = 0,
0159 eFormatBoolean,
0160 eFormatBinary,
0161 eFormatBytes,
0162 eFormatBytesWithASCII,
0163 eFormatChar,
0164 eFormatCharPrintable,
0165 eFormatComplex,
0166 eFormatComplexFloat = eFormatComplex,
0167 eFormatCString,
0168 eFormatDecimal,
0169 eFormatEnum,
0170 eFormatHex,
0171 eFormatHexUppercase,
0172 eFormatFloat,
0173 eFormatOctal,
0174 eFormatOSType,
0175
0176 eFormatUnicode16,
0177 eFormatUnicode32,
0178 eFormatUnsigned,
0179 eFormatPointer,
0180 eFormatVectorOfChar,
0181 eFormatVectorOfSInt8,
0182 eFormatVectorOfUInt8,
0183 eFormatVectorOfSInt16,
0184 eFormatVectorOfUInt16,
0185 eFormatVectorOfSInt32,
0186 eFormatVectorOfUInt32,
0187 eFormatVectorOfSInt64,
0188 eFormatVectorOfUInt64,
0189 eFormatVectorOfFloat16,
0190 eFormatVectorOfFloat32,
0191 eFormatVectorOfFloat64,
0192 eFormatVectorOfUInt128,
0193 eFormatComplexInteger,
0194 eFormatCharArray,
0195
0196
0197 eFormatAddressInfo,
0198
0199 eFormatHexFloat,
0200 eFormatInstruction,
0201 eFormatVoid,
0202 eFormatUnicode8,
0203 kNumFormats
0204 };
0205
0206
0207
0208 enum DescriptionLevel {
0209 eDescriptionLevelBrief = 0,
0210 eDescriptionLevelFull,
0211 eDescriptionLevelVerbose,
0212 eDescriptionLevelInitial,
0213 kNumDescriptionLevels
0214 };
0215
0216
0217 enum ScriptLanguage {
0218 eScriptLanguageNone = 0,
0219 eScriptLanguagePython,
0220 eScriptLanguageLua,
0221 eScriptLanguageUnknown,
0222 eScriptLanguageDefault = eScriptLanguagePython
0223 };
0224
0225
0226
0227
0228 enum RegisterKind {
0229 eRegisterKindEHFrame = 0,
0230 eRegisterKindDWARF,
0231 eRegisterKindGeneric,
0232
0233 eRegisterKindProcessPlugin,
0234
0235 eRegisterKindLLDB,
0236 kNumRegisterKinds
0237 };
0238
0239
0240 enum StopReason {
0241 eStopReasonInvalid = 0,
0242 eStopReasonNone,
0243 eStopReasonTrace,
0244 eStopReasonBreakpoint,
0245 eStopReasonWatchpoint,
0246 eStopReasonSignal,
0247 eStopReasonException,
0248 eStopReasonExec,
0249 eStopReasonPlanComplete,
0250 eStopReasonThreadExiting,
0251 eStopReasonInstrumentation,
0252 eStopReasonProcessorTrace,
0253 eStopReasonFork,
0254 eStopReasonVFork,
0255 eStopReasonVForkDone,
0256 eStopReasonInterrupt,
0257 };
0258
0259
0260 enum ReturnStatus {
0261 eReturnStatusInvalid,
0262 eReturnStatusSuccessFinishNoResult,
0263 eReturnStatusSuccessFinishResult,
0264 eReturnStatusSuccessContinuingNoResult,
0265 eReturnStatusSuccessContinuingResult,
0266 eReturnStatusStarted,
0267 eReturnStatusFailed,
0268 eReturnStatusQuit
0269 };
0270
0271
0272 enum ExpressionResults {
0273 eExpressionCompleted = 0,
0274 eExpressionSetupError,
0275 eExpressionParseError,
0276 eExpressionDiscarded,
0277 eExpressionInterrupted,
0278 eExpressionHitBreakpoint,
0279 eExpressionTimedOut,
0280 eExpressionResultUnavailable,
0281 eExpressionStoppedForDebug,
0282 eExpressionThreadVanished
0283 };
0284
0285 enum SearchDepth {
0286 eSearchDepthInvalid = 0,
0287 eSearchDepthTarget,
0288 eSearchDepthModule,
0289 eSearchDepthCompUnit,
0290 eSearchDepthFunction,
0291 eSearchDepthBlock,
0292 eSearchDepthAddress,
0293 kLastSearchDepthKind = eSearchDepthAddress
0294 };
0295
0296
0297 enum ConnectionStatus {
0298 eConnectionStatusSuccess,
0299 eConnectionStatusEndOfFile,
0300 eConnectionStatusError,
0301 eConnectionStatusTimedOut,
0302 eConnectionStatusNoConnection,
0303 eConnectionStatusLostConnection,
0304
0305 eConnectionStatusInterrupted
0306 };
0307
0308 enum ErrorType {
0309 eErrorTypeInvalid,
0310 eErrorTypeGeneric,
0311 eErrorTypeMachKernel,
0312 eErrorTypePOSIX,
0313 eErrorTypeExpression,
0314 eErrorTypeWin32
0315 };
0316
0317 enum ValueType {
0318 eValueTypeInvalid = 0,
0319 eValueTypeVariableGlobal = 1,
0320 eValueTypeVariableStatic = 2,
0321 eValueTypeVariableArgument = 3,
0322 eValueTypeVariableLocal = 4,
0323 eValueTypeRegister = 5,
0324 eValueTypeRegisterSet = 6,
0325 eValueTypeConstResult = 7,
0326 eValueTypeVariableThreadLocal = 8,
0327 eValueTypeVTable = 9,
0328 eValueTypeVTableEntry = 10,
0329 };
0330
0331
0332
0333 enum InputReaderGranularity {
0334 eInputReaderGranularityInvalid = 0,
0335 eInputReaderGranularityByte,
0336 eInputReaderGranularityWord,
0337 eInputReaderGranularityLine,
0338 eInputReaderGranularityAll
0339 };
0340
0341
0342
0343
0344
0345
0346
0347
0348
0349 FLAGS_ENUM(SymbolContextItem){
0350
0351
0352 eSymbolContextTarget = (1u << 0),
0353
0354
0355 eSymbolContextModule = (1u << 1),
0356
0357
0358 eSymbolContextCompUnit = (1u << 2),
0359
0360
0361 eSymbolContextFunction = (1u << 3),
0362
0363
0364 eSymbolContextBlock = (1u << 4),
0365
0366
0367 eSymbolContextLineEntry = (1u << 5),
0368
0369
0370 eSymbolContextSymbol = (1u << 6),
0371
0372
0373 eSymbolContextEverything = ((eSymbolContextSymbol << 1) - 1u),
0374
0375
0376
0377
0378
0379
0380 eSymbolContextVariable = (1u << 7),
0381
0382
0383 eSymbolContextLastItem = eSymbolContextVariable,
0384 };
0385 LLDB_MARK_AS_BITMASK_ENUM(SymbolContextItem)
0386
0387 FLAGS_ENUM(Permissions){ePermissionsWritable = (1u << 0),
0388 ePermissionsReadable = (1u << 1),
0389 ePermissionsExecutable = (1u << 2)};
0390 LLDB_MARK_AS_BITMASK_ENUM(Permissions)
0391
0392 enum InputReaderAction {
0393 eInputReaderActivate,
0394 eInputReaderAsynchronousOutputWritten,
0395
0396
0397 eInputReaderReactivate,
0398
0399 eInputReaderDeactivate,
0400 eInputReaderGotToken,
0401 eInputReaderInterrupt,
0402
0403 eInputReaderEndOfFile,
0404
0405 eInputReaderDone
0406 };
0407
0408 FLAGS_ENUM(BreakpointEventType){
0409 eBreakpointEventTypeInvalidType = (1u << 0),
0410 eBreakpointEventTypeAdded = (1u << 1),
0411 eBreakpointEventTypeRemoved = (1u << 2),
0412 eBreakpointEventTypeLocationsAdded = (1u << 3),
0413
0414
0415 eBreakpointEventTypeLocationsRemoved = (1u << 4),
0416 eBreakpointEventTypeLocationsResolved = (1u << 5),
0417 eBreakpointEventTypeEnabled = (1u << 6),
0418 eBreakpointEventTypeDisabled = (1u << 7),
0419 eBreakpointEventTypeCommandChanged = (1u << 8),
0420 eBreakpointEventTypeConditionChanged = (1u << 9),
0421 eBreakpointEventTypeIgnoreChanged = (1u << 10),
0422 eBreakpointEventTypeThreadChanged = (1u << 11),
0423 eBreakpointEventTypeAutoContinueChanged = (1u << 12)};
0424
0425 FLAGS_ENUM(WatchpointEventType){
0426 eWatchpointEventTypeInvalidType = (1u << 0),
0427 eWatchpointEventTypeAdded = (1u << 1),
0428 eWatchpointEventTypeRemoved = (1u << 2),
0429 eWatchpointEventTypeEnabled = (1u << 6),
0430 eWatchpointEventTypeDisabled = (1u << 7),
0431 eWatchpointEventTypeCommandChanged = (1u << 8),
0432 eWatchpointEventTypeConditionChanged = (1u << 9),
0433 eWatchpointEventTypeIgnoreChanged = (1u << 10),
0434 eWatchpointEventTypeThreadChanged = (1u << 11),
0435 eWatchpointEventTypeTypeChanged = (1u << 12)};
0436
0437 enum WatchpointWriteType {
0438
0439 eWatchpointWriteTypeDisabled,
0440
0441
0442
0443
0444 eWatchpointWriteTypeAlways,
0445
0446
0447
0448
0449 eWatchpointWriteTypeOnModify
0450 };
0451
0452
0453
0454
0455
0456
0457
0458
0459
0460
0461 enum LanguageType {
0462 eLanguageTypeUnknown = 0x0000,
0463 eLanguageTypeC89 = 0x0001,
0464 eLanguageTypeC = 0x0002,
0465 eLanguageTypeAda83 = 0x0003,
0466 eLanguageTypeC_plus_plus = 0x0004,
0467 eLanguageTypeCobol74 = 0x0005,
0468 eLanguageTypeCobol85 = 0x0006,
0469 eLanguageTypeFortran77 = 0x0007,
0470 eLanguageTypeFortran90 = 0x0008,
0471 eLanguageTypePascal83 = 0x0009,
0472 eLanguageTypeModula2 = 0x000a,
0473 eLanguageTypeJava = 0x000b,
0474 eLanguageTypeC99 = 0x000c,
0475 eLanguageTypeAda95 = 0x000d,
0476 eLanguageTypeFortran95 = 0x000e,
0477 eLanguageTypePLI = 0x000f,
0478 eLanguageTypeObjC = 0x0010,
0479 eLanguageTypeObjC_plus_plus = 0x0011,
0480 eLanguageTypeUPC = 0x0012,
0481 eLanguageTypeD = 0x0013,
0482 eLanguageTypePython = 0x0014,
0483
0484
0485 eLanguageTypeOpenCL = 0x0015,
0486 eLanguageTypeGo = 0x0016,
0487 eLanguageTypeModula3 = 0x0017,
0488 eLanguageTypeHaskell = 0x0018,
0489 eLanguageTypeC_plus_plus_03 = 0x0019,
0490 eLanguageTypeC_plus_plus_11 = 0x001a,
0491 eLanguageTypeOCaml = 0x001b,
0492 eLanguageTypeRust = 0x001c,
0493 eLanguageTypeC11 = 0x001d,
0494 eLanguageTypeSwift = 0x001e,
0495 eLanguageTypeJulia = 0x001f,
0496 eLanguageTypeDylan = 0x0020,
0497 eLanguageTypeC_plus_plus_14 = 0x0021,
0498 eLanguageTypeFortran03 = 0x0022,
0499 eLanguageTypeFortran08 = 0x0023,
0500 eLanguageTypeRenderScript = 0x0024,
0501 eLanguageTypeBLISS = 0x0025,
0502 eLanguageTypeKotlin = 0x0026,
0503 eLanguageTypeZig = 0x0027,
0504 eLanguageTypeCrystal = 0x0028,
0505 eLanguageTypeC_plus_plus_17 = 0x002a,
0506 eLanguageTypeC_plus_plus_20 = 0x002b,
0507 eLanguageTypeC17 = 0x002c,
0508 eLanguageTypeFortran18 = 0x002d,
0509 eLanguageTypeAda2005 = 0x002e,
0510 eLanguageTypeAda2012 = 0x002f,
0511 eLanguageTypeHIP = 0x0030,
0512 eLanguageTypeAssembly = 0x0031,
0513 eLanguageTypeC_sharp = 0x0032,
0514 eLanguageTypeMojo = 0x0033,
0515
0516
0517
0518
0519
0520
0521 eLanguageTypeMipsAssembler,
0522
0523
0524 eNumLanguageTypes
0525 };
0526
0527 enum InstrumentationRuntimeType {
0528 eInstrumentationRuntimeTypeAddressSanitizer = 0x0000,
0529 eInstrumentationRuntimeTypeThreadSanitizer = 0x0001,
0530 eInstrumentationRuntimeTypeUndefinedBehaviorSanitizer = 0x0002,
0531 eInstrumentationRuntimeTypeMainThreadChecker = 0x0003,
0532 eInstrumentationRuntimeTypeSwiftRuntimeReporting = 0x0004,
0533 eInstrumentationRuntimeTypeLibsanitizersAsan = 0x0005,
0534 eNumInstrumentationRuntimeTypes
0535 };
0536
0537 enum DynamicValueType {
0538 eNoDynamicValues = 0,
0539 eDynamicCanRunTarget = 1,
0540 eDynamicDontRunTarget = 2
0541 };
0542
0543 enum StopShowColumn {
0544 eStopShowColumnAnsiOrCaret = 0,
0545 eStopShowColumnAnsi = 1,
0546 eStopShowColumnCaret = 2,
0547 eStopShowColumnNone = 3
0548 };
0549
0550 enum AccessType {
0551 eAccessNone,
0552 eAccessPublic,
0553 eAccessPrivate,
0554 eAccessProtected,
0555 eAccessPackage
0556 };
0557
0558 enum CommandArgumentType {
0559 eArgTypeAddress = 0,
0560 eArgTypeAddressOrExpression,
0561 eArgTypeAliasName,
0562 eArgTypeAliasOptions,
0563 eArgTypeArchitecture,
0564 eArgTypeBoolean,
0565 eArgTypeBreakpointID,
0566 eArgTypeBreakpointIDRange,
0567 eArgTypeBreakpointName,
0568 eArgTypeByteSize,
0569 eArgTypeClassName,
0570 eArgTypeCommandName,
0571 eArgTypeCount,
0572 eArgTypeDescriptionVerbosity,
0573 eArgTypeDirectoryName,
0574 eArgTypeDisassemblyFlavor,
0575 eArgTypeEndAddress,
0576 eArgTypeExpression,
0577 eArgTypeExpressionPath,
0578 eArgTypeExprFormat,
0579 eArgTypeFileLineColumn,
0580 eArgTypeFilename,
0581 eArgTypeFormat,
0582 eArgTypeFrameIndex,
0583 eArgTypeFullName,
0584 eArgTypeFunctionName,
0585 eArgTypeFunctionOrSymbol,
0586 eArgTypeGDBFormat,
0587 eArgTypeHelpText,
0588 eArgTypeIndex,
0589 eArgTypeLanguage,
0590 eArgTypeLineNum,
0591 eArgTypeLogCategory,
0592 eArgTypeLogChannel,
0593 eArgTypeMethod,
0594 eArgTypeName,
0595 eArgTypeNewPathPrefix,
0596 eArgTypeNumLines,
0597 eArgTypeNumberPerLine,
0598 eArgTypeOffset,
0599 eArgTypeOldPathPrefix,
0600 eArgTypeOneLiner,
0601 eArgTypePath,
0602 eArgTypePermissionsNumber,
0603 eArgTypePermissionsString,
0604 eArgTypePid,
0605 eArgTypePlugin,
0606 eArgTypeProcessName,
0607 eArgTypePythonClass,
0608 eArgTypePythonFunction,
0609 eArgTypePythonScript,
0610 eArgTypeQueueName,
0611 eArgTypeRegisterName,
0612 eArgTypeRegularExpression,
0613 eArgTypeRunArgs,
0614 eArgTypeRunMode,
0615 eArgTypeScriptedCommandSynchronicity,
0616 eArgTypeScriptLang,
0617 eArgTypeSearchWord,
0618 eArgTypeSelector,
0619 eArgTypeSettingIndex,
0620 eArgTypeSettingKey,
0621 eArgTypeSettingPrefix,
0622 eArgTypeSettingVariableName,
0623 eArgTypeShlibName,
0624 eArgTypeSourceFile,
0625 eArgTypeSortOrder,
0626 eArgTypeStartAddress,
0627 eArgTypeSummaryString,
0628 eArgTypeSymbol,
0629 eArgTypeThreadID,
0630 eArgTypeThreadIndex,
0631 eArgTypeThreadName,
0632 eArgTypeTypeName,
0633 eArgTypeUnsignedInteger,
0634 eArgTypeUnixSignal,
0635 eArgTypeVarName,
0636 eArgTypeValue,
0637 eArgTypeWidth,
0638 eArgTypeNone,
0639 eArgTypePlatform,
0640 eArgTypeWatchpointID,
0641 eArgTypeWatchpointIDRange,
0642 eArgTypeWatchType,
0643 eArgRawInput,
0644 eArgTypeCommand,
0645 eArgTypeColumnNum,
0646 eArgTypeModuleUUID,
0647 eArgTypeSaveCoreStyle,
0648 eArgTypeLogHandler,
0649 eArgTypeSEDStylePair,
0650 eArgTypeRecognizerID,
0651 eArgTypeConnectURL,
0652 eArgTypeTargetID,
0653 eArgTypeStopHookID,
0654 eArgTypeCompletionType,
0655 eArgTypeRemotePath,
0656 eArgTypeRemoteFilename,
0657 eArgTypeModule,
0658 eArgTypeCPUName,
0659 eArgTypeCPUFeatures,
0660 eArgTypeLastArg
0661
0662 };
0663
0664
0665
0666
0667 enum SymbolType {
0668 eSymbolTypeAny = 0,
0669 eSymbolTypeInvalid = 0,
0670 eSymbolTypeAbsolute,
0671 eSymbolTypeCode,
0672 eSymbolTypeResolver,
0673 eSymbolTypeData,
0674 eSymbolTypeTrampoline,
0675 eSymbolTypeRuntime,
0676 eSymbolTypeException,
0677 eSymbolTypeSourceFile,
0678 eSymbolTypeHeaderFile,
0679 eSymbolTypeObjectFile,
0680 eSymbolTypeCommonBlock,
0681 eSymbolTypeBlock,
0682 eSymbolTypeLocal,
0683 eSymbolTypeParam,
0684 eSymbolTypeVariable,
0685 eSymbolTypeVariableType,
0686 eSymbolTypeLineEntry,
0687 eSymbolTypeLineHeader,
0688 eSymbolTypeScopeBegin,
0689 eSymbolTypeScopeEnd,
0690 eSymbolTypeAdditional,
0691
0692 eSymbolTypeCompiler,
0693 eSymbolTypeInstrumentation,
0694 eSymbolTypeUndefined,
0695 eSymbolTypeObjCClass,
0696 eSymbolTypeObjCMetaClass,
0697 eSymbolTypeObjCIVar,
0698 eSymbolTypeReExported
0699 };
0700
0701 enum SectionType {
0702 eSectionTypeInvalid,
0703 eSectionTypeCode,
0704 eSectionTypeContainer,
0705 eSectionTypeData,
0706 eSectionTypeDataCString,
0707 eSectionTypeDataCStringPointers,
0708 eSectionTypeDataSymbolAddress,
0709 eSectionTypeData4,
0710 eSectionTypeData8,
0711 eSectionTypeData16,
0712 eSectionTypeDataPointers,
0713 eSectionTypeDebug,
0714 eSectionTypeZeroFill,
0715 eSectionTypeDataObjCMessageRefs,
0716 eSectionTypeDataObjCCFStrings,
0717
0718 eSectionTypeDWARFDebugAbbrev,
0719 eSectionTypeDWARFDebugAddr,
0720 eSectionTypeDWARFDebugAranges,
0721 eSectionTypeDWARFDebugCuIndex,
0722 eSectionTypeDWARFDebugFrame,
0723 eSectionTypeDWARFDebugInfo,
0724 eSectionTypeDWARFDebugLine,
0725 eSectionTypeDWARFDebugLoc,
0726 eSectionTypeDWARFDebugMacInfo,
0727 eSectionTypeDWARFDebugMacro,
0728 eSectionTypeDWARFDebugPubNames,
0729 eSectionTypeDWARFDebugPubTypes,
0730 eSectionTypeDWARFDebugRanges,
0731 eSectionTypeDWARFDebugStr,
0732 eSectionTypeDWARFDebugStrOffsets,
0733 eSectionTypeDWARFAppleNames,
0734 eSectionTypeDWARFAppleTypes,
0735 eSectionTypeDWARFAppleNamespaces,
0736 eSectionTypeDWARFAppleObjC,
0737 eSectionTypeELFSymbolTable,
0738 eSectionTypeELFDynamicSymbols,
0739 eSectionTypeELFRelocationEntries,
0740 eSectionTypeELFDynamicLinkInfo,
0741 eSectionTypeEHFrame,
0742 eSectionTypeARMexidx,
0743 eSectionTypeARMextab,
0744 eSectionTypeCompactUnwind,
0745
0746 eSectionTypeGoSymtab,
0747 eSectionTypeAbsoluteAddress,
0748
0749 eSectionTypeDWARFGNUDebugAltLink,
0750 eSectionTypeDWARFDebugTypes,
0751 eSectionTypeDWARFDebugNames,
0752 eSectionTypeOther,
0753 eSectionTypeDWARFDebugLineStr,
0754 eSectionTypeDWARFDebugRngLists,
0755 eSectionTypeDWARFDebugLocLists,
0756 eSectionTypeDWARFDebugAbbrevDwo,
0757 eSectionTypeDWARFDebugInfoDwo,
0758 eSectionTypeDWARFDebugStrDwo,
0759 eSectionTypeDWARFDebugStrOffsetsDwo,
0760 eSectionTypeDWARFDebugTypesDwo,
0761 eSectionTypeDWARFDebugRngListsDwo,
0762 eSectionTypeDWARFDebugLocDwo,
0763 eSectionTypeDWARFDebugLocListsDwo,
0764 eSectionTypeDWARFDebugTuIndex,
0765 eSectionTypeCTF,
0766 eSectionTypeLLDBTypeSummaries,
0767 eSectionTypeLLDBFormatters,
0768 eSectionTypeSwiftModules,
0769 };
0770
0771 FLAGS_ENUM(EmulateInstructionOptions){
0772 eEmulateInstructionOptionNone = (0u),
0773 eEmulateInstructionOptionAutoAdvancePC = (1u << 0),
0774 eEmulateInstructionOptionIgnoreConditions = (1u << 1)};
0775
0776 FLAGS_ENUM(FunctionNameType){
0777 eFunctionNameTypeNone = 0u,
0778 eFunctionNameTypeAuto =
0779 (1u << 1),
0780
0781 eFunctionNameTypeFull = (1u << 2),
0782
0783
0784
0785
0786 eFunctionNameTypeBase = (1u
0787 << 3),
0788
0789
0790 eFunctionNameTypeMethod = (1u << 4),
0791
0792 eFunctionNameTypeSelector =
0793 (1u << 5),
0794 eFunctionNameTypeAny =
0795 eFunctionNameTypeAuto
0796 };
0797 LLDB_MARK_AS_BITMASK_ENUM(FunctionNameType)
0798
0799
0800 enum BasicType {
0801 eBasicTypeInvalid = 0,
0802 eBasicTypeVoid = 1,
0803 eBasicTypeChar,
0804 eBasicTypeSignedChar,
0805 eBasicTypeUnsignedChar,
0806 eBasicTypeWChar,
0807 eBasicTypeSignedWChar,
0808 eBasicTypeUnsignedWChar,
0809 eBasicTypeChar16,
0810 eBasicTypeChar32,
0811 eBasicTypeChar8,
0812 eBasicTypeShort,
0813 eBasicTypeUnsignedShort,
0814 eBasicTypeInt,
0815 eBasicTypeUnsignedInt,
0816 eBasicTypeLong,
0817 eBasicTypeUnsignedLong,
0818 eBasicTypeLongLong,
0819 eBasicTypeUnsignedLongLong,
0820 eBasicTypeInt128,
0821 eBasicTypeUnsignedInt128,
0822 eBasicTypeBool,
0823 eBasicTypeHalf,
0824 eBasicTypeFloat,
0825 eBasicTypeDouble,
0826 eBasicTypeLongDouble,
0827 eBasicTypeFloatComplex,
0828 eBasicTypeDoubleComplex,
0829 eBasicTypeLongDoubleComplex,
0830 eBasicTypeObjCID,
0831 eBasicTypeObjCClass,
0832 eBasicTypeObjCSel,
0833 eBasicTypeNullPtr,
0834 eBasicTypeOther
0835 };
0836
0837
0838 enum TraceType {
0839 eTraceTypeNone = 0,
0840
0841
0842 eTraceTypeProcessorTrace
0843 };
0844
0845 enum StructuredDataType {
0846 eStructuredDataTypeInvalid = -1,
0847 eStructuredDataTypeNull = 0,
0848 eStructuredDataTypeGeneric,
0849 eStructuredDataTypeArray,
0850 eStructuredDataTypeInteger,
0851 eStructuredDataTypeFloat,
0852 eStructuredDataTypeBoolean,
0853 eStructuredDataTypeString,
0854 eStructuredDataTypeDictionary,
0855 eStructuredDataTypeSignedInteger,
0856 eStructuredDataTypeUnsignedInteger = eStructuredDataTypeInteger,
0857 };
0858
0859 FLAGS_ENUM(TypeClass){
0860 eTypeClassInvalid = (0u), eTypeClassArray = (1u << 0),
0861 eTypeClassBlockPointer = (1u << 1), eTypeClassBuiltin = (1u << 2),
0862 eTypeClassClass = (1u << 3), eTypeClassComplexFloat = (1u << 4),
0863 eTypeClassComplexInteger = (1u << 5), eTypeClassEnumeration = (1u << 6),
0864 eTypeClassFunction = (1u << 7), eTypeClassMemberPointer = (1u << 8),
0865 eTypeClassObjCObject = (1u << 9), eTypeClassObjCInterface = (1u << 10),
0866 eTypeClassObjCObjectPointer = (1u << 11), eTypeClassPointer = (1u << 12),
0867 eTypeClassReference = (1u << 13), eTypeClassStruct = (1u << 14),
0868 eTypeClassTypedef = (1u << 15), eTypeClassUnion = (1u << 16),
0869 eTypeClassVector = (1u << 17),
0870
0871 eTypeClassOther = (1u << 31),
0872
0873 eTypeClassAny = (0xffffffffu)};
0874 LLDB_MARK_AS_BITMASK_ENUM(TypeClass)
0875
0876 enum TemplateArgumentKind {
0877 eTemplateArgumentKindNull = 0,
0878 eTemplateArgumentKindType,
0879 eTemplateArgumentKindDeclaration,
0880 eTemplateArgumentKindIntegral,
0881 eTemplateArgumentKindTemplate,
0882 eTemplateArgumentKindTemplateExpansion,
0883 eTemplateArgumentKindExpression,
0884 eTemplateArgumentKindPack,
0885 eTemplateArgumentKindNullPtr,
0886 eTemplateArgumentKindStructuralValue,
0887 };
0888
0889
0890
0891 enum FormatterMatchType {
0892 eFormatterMatchExact,
0893 eFormatterMatchRegex,
0894 eFormatterMatchCallback,
0895
0896 eLastFormatterMatchType = eFormatterMatchCallback,
0897 };
0898
0899
0900
0901 FLAGS_ENUM(TypeOptions){eTypeOptionNone = (0u),
0902 eTypeOptionCascade = (1u << 0),
0903 eTypeOptionSkipPointers = (1u << 1),
0904 eTypeOptionSkipReferences = (1u << 2),
0905 eTypeOptionHideChildren = (1u << 3),
0906 eTypeOptionHideValue = (1u << 4),
0907 eTypeOptionShowOneLiner = (1u << 5),
0908 eTypeOptionHideNames = (1u << 6),
0909 eTypeOptionNonCacheable = (1u << 7),
0910 eTypeOptionHideEmptyAggregates = (1u << 8),
0911 eTypeOptionFrontEndWantsDereference = (1u << 9)};
0912
0913
0914
0915
0916
0917
0918
0919
0920
0921
0922
0923
0924
0925
0926
0927
0928
0929
0930
0931
0932
0933 enum FrameComparison {
0934 eFrameCompareInvalid,
0935 eFrameCompareUnknown,
0936 eFrameCompareEqual,
0937 eFrameCompareSameParent,
0938 eFrameCompareYounger,
0939 eFrameCompareOlder
0940 };
0941
0942
0943
0944
0945
0946 FLAGS_ENUM(FilePermissions){
0947 eFilePermissionsUserRead = (1u << 8),
0948 eFilePermissionsUserWrite = (1u << 7),
0949 eFilePermissionsUserExecute = (1u << 6),
0950 eFilePermissionsGroupRead = (1u << 5),
0951 eFilePermissionsGroupWrite = (1u << 4),
0952 eFilePermissionsGroupExecute = (1u << 3),
0953 eFilePermissionsWorldRead = (1u << 2),
0954 eFilePermissionsWorldWrite = (1u << 1),
0955 eFilePermissionsWorldExecute = (1u << 0),
0956
0957 eFilePermissionsUserRW = (eFilePermissionsUserRead |
0958 eFilePermissionsUserWrite | 0),
0959 eFileFilePermissionsUserRX = (eFilePermissionsUserRead | 0 |
0960 eFilePermissionsUserExecute),
0961 eFilePermissionsUserRWX = (eFilePermissionsUserRead |
0962 eFilePermissionsUserWrite |
0963 eFilePermissionsUserExecute),
0964
0965 eFilePermissionsGroupRW = (eFilePermissionsGroupRead |
0966 eFilePermissionsGroupWrite | 0),
0967 eFilePermissionsGroupRX = (eFilePermissionsGroupRead | 0 |
0968 eFilePermissionsGroupExecute),
0969 eFilePermissionsGroupRWX = (eFilePermissionsGroupRead |
0970 eFilePermissionsGroupWrite |
0971 eFilePermissionsGroupExecute),
0972
0973 eFilePermissionsWorldRW = (eFilePermissionsWorldRead |
0974 eFilePermissionsWorldWrite | 0),
0975 eFilePermissionsWorldRX = (eFilePermissionsWorldRead | 0 |
0976 eFilePermissionsWorldExecute),
0977 eFilePermissionsWorldRWX = (eFilePermissionsWorldRead |
0978 eFilePermissionsWorldWrite |
0979 eFilePermissionsWorldExecute),
0980
0981 eFilePermissionsEveryoneR = (eFilePermissionsUserRead |
0982 eFilePermissionsGroupRead |
0983 eFilePermissionsWorldRead),
0984 eFilePermissionsEveryoneW = (eFilePermissionsUserWrite |
0985 eFilePermissionsGroupWrite |
0986 eFilePermissionsWorldWrite),
0987 eFilePermissionsEveryoneX = (eFilePermissionsUserExecute |
0988 eFilePermissionsGroupExecute |
0989 eFilePermissionsWorldExecute),
0990
0991 eFilePermissionsEveryoneRW = (eFilePermissionsEveryoneR |
0992 eFilePermissionsEveryoneW | 0),
0993 eFilePermissionsEveryoneRX = (eFilePermissionsEveryoneR | 0 |
0994 eFilePermissionsEveryoneX),
0995 eFilePermissionsEveryoneRWX = (eFilePermissionsEveryoneR |
0996 eFilePermissionsEveryoneW |
0997 eFilePermissionsEveryoneX),
0998 eFilePermissionsFileDefault = eFilePermissionsUserRW,
0999 eFilePermissionsDirectoryDefault = eFilePermissionsUserRWX,
1000 };
1001
1002
1003
1004
1005
1006 enum QueueItemKind {
1007 eQueueItemKindUnknown = 0,
1008 eQueueItemKindFunction,
1009 eQueueItemKindBlock
1010 };
1011
1012
1013
1014
1015
1016
1017 enum QueueKind {
1018 eQueueKindUnknown = 0,
1019 eQueueKindSerial,
1020 eQueueKindConcurrent
1021 };
1022
1023
1024
1025
1026
1027
1028 enum ExpressionEvaluationPhase {
1029 eExpressionEvaluationParse = 0,
1030 eExpressionEvaluationIRGen,
1031 eExpressionEvaluationExecution,
1032 eExpressionEvaluationComplete
1033 };
1034
1035
1036
1037
1038
1039 enum InstructionControlFlowKind {
1040
1041 eInstructionControlFlowKindUnknown = 0,
1042
1043
1044 eInstructionControlFlowKindOther,
1045
1046 eInstructionControlFlowKindCall,
1047
1048 eInstructionControlFlowKindReturn,
1049
1050 eInstructionControlFlowKindJump,
1051
1052 eInstructionControlFlowKindCondJump,
1053
1054
1055 eInstructionControlFlowKindFarCall,
1056
1057
1058 eInstructionControlFlowKindFarReturn,
1059
1060
1061 eInstructionControlFlowKindFarJump
1062 };
1063
1064
1065
1066
1067
1068 FLAGS_ENUM(WatchpointKind){eWatchpointKindWrite = (1u << 0),
1069 eWatchpointKindRead = (1u << 1)};
1070
1071 enum GdbSignal {
1072 eGdbSignalBadAccess = 0x91,
1073 eGdbSignalBadInstruction = 0x92,
1074 eGdbSignalArithmetic = 0x93,
1075 eGdbSignalEmulation = 0x94,
1076 eGdbSignalSoftware = 0x95,
1077 eGdbSignalBreakpoint = 0x96
1078 };
1079
1080
1081
1082
1083 enum PathType {
1084 ePathTypeLLDBShlibDir,
1085
1086 ePathTypeSupportExecutableDir,
1087
1088 ePathTypeHeaderDir,
1089 ePathTypePythonDir,
1090 ePathTypeLLDBSystemPlugins,
1091 ePathTypeLLDBUserPlugins,
1092 ePathTypeLLDBTempSystemDir,
1093
1094 ePathTypeGlobalLLDBTempSystemDir,
1095
1096
1097 ePathTypeClangDir
1098 };
1099
1100
1101
1102
1103 enum MemberFunctionKind {
1104 eMemberFunctionKindUnknown = 0,
1105 eMemberFunctionKindConstructor,
1106 eMemberFunctionKindDestructor,
1107
1108 eMemberFunctionKindInstanceMethod,
1109
1110 eMemberFunctionKindStaticMethod
1111
1112 };
1113
1114
1115 enum MatchType {
1116 eMatchTypeNormal,
1117 eMatchTypeRegex,
1118 eMatchTypeStartsWith,
1119 eMatchTypeRegexInsensitive
1120 };
1121
1122
1123 FLAGS_ENUM(TypeFlags){
1124 eTypeHasChildren = (1u << 0), eTypeHasValue = (1u << 1),
1125 eTypeIsArray = (1u << 2), eTypeIsBlock = (1u << 3),
1126 eTypeIsBuiltIn = (1u << 4), eTypeIsClass = (1u << 5),
1127 eTypeIsCPlusPlus = (1u << 6), eTypeIsEnumeration = (1u << 7),
1128 eTypeIsFuncPrototype = (1u << 8), eTypeIsMember = (1u << 9),
1129 eTypeIsObjC = (1u << 10), eTypeIsPointer = (1u << 11),
1130 eTypeIsReference = (1u << 12), eTypeIsStructUnion = (1u << 13),
1131 eTypeIsTemplate = (1u << 14), eTypeIsTypedef = (1u << 15),
1132 eTypeIsVector = (1u << 16), eTypeIsScalar = (1u << 17),
1133 eTypeIsInteger = (1u << 18), eTypeIsFloat = (1u << 19),
1134 eTypeIsComplex = (1u << 20), eTypeIsSigned = (1u << 21),
1135 eTypeInstanceIsPointer = (1u << 22)};
1136
1137 FLAGS_ENUM(CommandFlags){
1138
1139
1140
1141
1142
1143
1144
1145 eCommandRequiresTarget = (1u << 0),
1146
1147
1148
1149
1150
1151
1152
1153
1154 eCommandRequiresProcess = (1u << 1),
1155
1156
1157
1158
1159
1160
1161
1162 eCommandRequiresThread = (1u << 2),
1163
1164
1165
1166
1167
1168
1169
1170 eCommandRequiresFrame = (1u << 3),
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180 eCommandRequiresRegContext = (1u << 4),
1181
1182
1183
1184
1185
1186 eCommandTryTargetAPILock = (1u << 5),
1187
1188
1189
1190
1191 eCommandProcessMustBeLaunched = (1u << 6),
1192
1193
1194
1195
1196 eCommandProcessMustBePaused = (1u << 7),
1197
1198
1199
1200
1201 eCommandProcessMustBeTraced = (1u << 8)};
1202
1203
1204 enum TypeSummaryCapping {
1205 eTypeSummaryCapped = true,
1206 eTypeSummaryUncapped = false
1207 };
1208
1209
1210 enum CommandInterpreterResult {
1211
1212 eCommandInterpreterResultSuccess,
1213
1214
1215 eCommandInterpreterResultInferiorCrash,
1216
1217
1218 eCommandInterpreterResultCommandError,
1219
1220 eCommandInterpreterResultQuitRequested,
1221 };
1222
1223
1224 enum SaveCoreStyle {
1225 eSaveCoreUnspecified = 0,
1226 eSaveCoreFull = 1,
1227 eSaveCoreDirtyOnly = 2,
1228 eSaveCoreStackOnly = 3,
1229 eSaveCoreCustomOnly = 4,
1230 };
1231
1232
1233 enum TraceEvent {
1234
1235 eTraceEventDisabledSW,
1236
1237 eTraceEventDisabledHW,
1238
1239
1240 eTraceEventCPUChanged,
1241
1242 eTraceEventHWClockTick,
1243
1244
1245 eTraceEventSyncPoint,
1246 };
1247
1248
1249 enum TraceItemKind {
1250 eTraceItemKindError = 0,
1251 eTraceItemKindEvent,
1252 eTraceItemKindInstruction,
1253 };
1254
1255
1256
1257
1258 enum TraceCursorSeekType {
1259
1260 eTraceCursorSeekTypeBeginning = 0,
1261
1262 eTraceCursorSeekTypeCurrent,
1263
1264 eTraceCursorSeekTypeEnd
1265 };
1266
1267
1268 enum DWIMPrintVerbosity {
1269
1270 eDWIMPrintVerbosityNone,
1271
1272 eDWIMPrintVerbosityExpression,
1273
1274
1275 eDWIMPrintVerbosityFull,
1276 };
1277
1278 enum WatchpointValueKind {
1279 eWatchPointValueKindInvalid = 0,
1280
1281 eWatchPointValueKindVariable = 1,
1282
1283
1284 eWatchPointValueKindExpression = 2,
1285 };
1286
1287 enum CompletionType {
1288 eNoCompletion = 0ul,
1289 eSourceFileCompletion = (1ul << 0),
1290 eDiskFileCompletion = (1ul << 1),
1291 eDiskDirectoryCompletion = (1ul << 2),
1292 eSymbolCompletion = (1ul << 3),
1293 eModuleCompletion = (1ul << 4),
1294 eSettingsNameCompletion = (1ul << 5),
1295 ePlatformPluginCompletion = (1ul << 6),
1296 eArchitectureCompletion = (1ul << 7),
1297 eVariablePathCompletion = (1ul << 8),
1298 eRegisterCompletion = (1ul << 9),
1299 eBreakpointCompletion = (1ul << 10),
1300 eProcessPluginCompletion = (1ul << 11),
1301 eDisassemblyFlavorCompletion = (1ul << 12),
1302 eTypeLanguageCompletion = (1ul << 13),
1303 eFrameIndexCompletion = (1ul << 14),
1304 eModuleUUIDCompletion = (1ul << 15),
1305 eStopHookIDCompletion = (1ul << 16),
1306 eThreadIndexCompletion = (1ul << 17),
1307 eWatchpointIDCompletion = (1ul << 18),
1308 eBreakpointNameCompletion = (1ul << 19),
1309 eProcessIDCompletion = (1ul << 20),
1310 eProcessNameCompletion = (1ul << 21),
1311 eRemoteDiskFileCompletion = (1ul << 22),
1312 eRemoteDiskDirectoryCompletion = (1ul << 23),
1313 eTypeCategoryNameCompletion = (1ul << 24),
1314 eCustomCompletion = (1ul << 25),
1315 eThreadIDCompletion = (1ul << 26),
1316
1317
1318
1319 eTerminatorCompletion = (1ul << 27)
1320 };
1321
1322
1323
1324 enum ChildCacheState {
1325 eRefetch = 0,
1326
1327 eReuse = 1,
1328
1329 };
1330
1331 enum SymbolDownload {
1332 eSymbolDownloadOff = 0,
1333 eSymbolDownloadBackground = 1,
1334 eSymbolDownloadForeground = 2,
1335 };
1336
1337
1338 enum AddressMaskType {
1339 eAddressMaskTypeCode = 0,
1340 eAddressMaskTypeData,
1341 eAddressMaskTypeAny,
1342 eAddressMaskTypeAll = eAddressMaskTypeAny
1343 };
1344
1345
1346 enum AddressMaskRange {
1347 eAddressMaskRangeLow = 0,
1348 eAddressMaskRangeHigh,
1349 eAddressMaskRangeAny,
1350 eAddressMaskRangeAll = eAddressMaskRangeAny,
1351 };
1352
1353
1354 enum DebuggerBroadcastBit {
1355 eBroadcastBitProgress = (1 << 0),
1356 eBroadcastBitWarning = (1 << 1),
1357 eBroadcastBitError = (1 << 2),
1358 eBroadcastSymbolChange = (1 << 3),
1359 eBroadcastBitProgressCategory = (1 << 4),
1360 eBroadcastBitExternalProgress = (1 << 5),
1361 eBroadcastBitExternalProgressCategory = (1 << 6),
1362 };
1363
1364
1365 enum Severity {
1366 eSeverityError,
1367 eSeverityWarning,
1368 eSeverityInfo,
1369 };
1370
1371 }
1372
1373 #endif