1 //===-- lldb-enumerations.h -------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_lldb_enumerations_h_
11 #define LLDB_lldb_enumerations_h_
15 //----------------------------------------------------------------------
16 // Process and Thread States
17 //----------------------------------------------------------------------
18 typedef enum StateType
21 eStateUnloaded, ///< Process is object is valid, but not currently loaded
22 eStateConnected, ///< Process is connected to remote debug services, but not launched or attached to anything yet
23 eStateAttaching, ///< Process is currently trying to attach
24 eStateLaunching, ///< Process is in the process of launching
25 eStateStopped, ///< Process or thread is stopped and can be examined.
26 eStateRunning, ///< Process or thread is running and can't be examined.
27 eStateStepping, ///< Process or thread is in the process of stepping and can not be examined.
28 eStateCrashed, ///< Process or thread has crashed and can be examined.
29 eStateDetached, ///< Process has been detached and can't be examined.
30 eStateExited, ///< Process has exited and can't be examined.
31 eStateSuspended ///< Process or thread is in a suspended state as far
32 ///< as the debugger is concerned while other processes
33 ///< or threads get the chance to run.
36 //----------------------------------------------------------------------
38 //----------------------------------------------------------------------
39 typedef enum LaunchFlags
42 eLaunchFlagExec = (1u << 0), ///< Exec when launching and turn the calling process into a new process
43 eLaunchFlagDebug = (1u << 1), ///< Stop as soon as the process launches to allow the process to be debugged
44 eLaunchFlagStopAtEntry = (1u << 2), ///< Stop at the program entry point instead of auto-continuing when launching or attaching at entry point
45 eLaunchFlagDisableASLR = (1u << 3), ///< Disable Address Space Layout Randomization
46 eLaunchFlagDisableSTDIO = (1u << 4), ///< Disable stdio for inferior process (e.g. for a GUI app)
47 eLaunchFlagLaunchInTTY = (1u << 5), ///< Launch the process in a new TTY if supported by the host
48 eLaunchFlagLaunchInShell= (1u << 6), ///< Launch the process inside a shell to get shell expansion
49 eLaunchFlagLaunchInSeparateProcessGroup = (1u << 7), ///< Launch the process in a separate process group
50 eLaunchFlagsDontMonitorProcess = (1u << 8) ///< If you are going to hand the process off (e.g. to debugserver)
51 ///< set this flag so lldb & the handee don't race to reap it.
54 //----------------------------------------------------------------------
56 //----------------------------------------------------------------------
57 typedef enum RunMode {
63 //----------------------------------------------------------------------
64 // Byte ordering definitions
65 //----------------------------------------------------------------------
66 typedef enum ByteOrder
68 eByteOrderInvalid = 0,
74 //----------------------------------------------------------------------
75 // Register encoding definitions
76 //----------------------------------------------------------------------
80 eEncodingUint, // unsigned integer
81 eEncodingSint, // signed integer
82 eEncodingIEEE754, // float
83 eEncodingVector // vector registers
86 //----------------------------------------------------------------------
87 // Display format definitions
88 //----------------------------------------------------------------------
96 eFormatBytesWithASCII,
98 eFormatCharPrintable, // Only printable characters, space if not printable
99 eFormatComplex, // Floating point complex type
100 eFormatComplexFloat = eFormatComplex,
101 eFormatCString, // NULL terminated C strings
108 eFormatOSType, // OS character codes encoded into an integer 'PICT' 'text' etc...
114 eFormatVectorOfSInt8,
115 eFormatVectorOfUInt8,
116 eFormatVectorOfSInt16,
117 eFormatVectorOfUInt16,
118 eFormatVectorOfSInt32,
119 eFormatVectorOfUInt32,
120 eFormatVectorOfSInt64,
121 eFormatVectorOfUInt64,
122 eFormatVectorOfFloat32,
123 eFormatVectorOfFloat64,
124 eFormatVectorOfUInt128,
125 eFormatComplexInteger, // Integer complex type
126 eFormatCharArray, // Print characters with no single quotes, used for character arrays that can contain non printable characters
127 eFormatAddressInfo, // Describe what an address points to (func + offset with file/line, symbol + offset, data, etc)
128 eFormatHexFloat, // ISO C99 hex float string
129 eFormatInstruction, // Disassemble an opcode
130 eFormatVoid, // Do not print this
134 //----------------------------------------------------------------------
135 // Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls
136 //----------------------------------------------------------------------
137 typedef enum DescriptionLevel
139 eDescriptionLevelBrief = 0,
140 eDescriptionLevelFull,
141 eDescriptionLevelVerbose,
142 eDescriptionLevelInitial,
143 kNumDescriptionLevels
146 //----------------------------------------------------------------------
147 // Script interpreter types
148 //----------------------------------------------------------------------
149 typedef enum ScriptLanguage
152 eScriptLanguagePython,
153 eScriptLanguageDefault = eScriptLanguagePython
156 //----------------------------------------------------------------------
157 // Register numbering types
158 //----------------------------------------------------------------------
159 typedef enum RegisterKind
161 eRegisterKindGCC = 0, // the register numbers seen in eh_frame
162 eRegisterKindDWARF, // the register numbers seen DWARF
163 eRegisterKindGeneric, // insn ptr reg, stack ptr reg, etc not specific to any particular target
164 eRegisterKindGDB, // the register numbers gdb uses (matches stabs numbers?)
165 eRegisterKindLLDB, // lldb's internal register numbers
169 //----------------------------------------------------------------------
170 // Thread stop reasons
171 //----------------------------------------------------------------------
172 typedef enum StopReason
174 eStopReasonInvalid = 0,
177 eStopReasonBreakpoint,
178 eStopReasonWatchpoint,
180 eStopReasonException,
181 eStopReasonExec, // Program was re-exec'ed
182 eStopReasonPlanComplete,
183 eStopReasonThreadExiting
186 //----------------------------------------------------------------------
187 // Command Return Status Types
188 //----------------------------------------------------------------------
189 typedef enum ReturnStatus
191 eReturnStatusInvalid,
192 eReturnStatusSuccessFinishNoResult,
193 eReturnStatusSuccessFinishResult,
194 eReturnStatusSuccessContinuingNoResult,
195 eReturnStatusSuccessContinuingResult,
196 eReturnStatusStarted,
202 //----------------------------------------------------------------------
203 // Connection Status Types
204 //----------------------------------------------------------------------
205 typedef enum ConnectionStatus
207 eConnectionStatusSuccess, // Success
208 eConnectionStatusEndOfFile, // End-of-file encountered
209 eConnectionStatusError, // Check GetError() for details
210 eConnectionStatusTimedOut, // Request timed out
211 eConnectionStatusNoConnection, // No connection
212 eConnectionStatusLostConnection // Lost connection while connected to a valid connection
215 typedef enum ErrorType
218 eErrorTypeGeneric, ///< Generic errors that can be any value.
219 eErrorTypeMachKernel, ///< Mach kernel error codes.
220 eErrorTypePOSIX ///< POSIX error codes.
224 typedef enum ValueType
226 eValueTypeInvalid = 0,
227 eValueTypeVariableGlobal = 1, // globals variable
228 eValueTypeVariableStatic = 2, // static variable
229 eValueTypeVariableArgument = 3, // function argument variables
230 eValueTypeVariableLocal = 4, // function local variables
231 eValueTypeRegister = 5, // stack frame register value
232 eValueTypeRegisterSet = 6, // A collection of stack frame register values
233 eValueTypeConstResult = 7 // constant result variables
236 //----------------------------------------------------------------------
237 // Token size/granularities for Input Readers
238 //----------------------------------------------------------------------
240 typedef enum InputReaderGranularity
242 eInputReaderGranularityInvalid = 0,
243 eInputReaderGranularityByte,
244 eInputReaderGranularityWord,
245 eInputReaderGranularityLine,
246 eInputReaderGranularityAll
247 } InputReaderGranularity;
249 //------------------------------------------------------------------
250 /// These mask bits allow a common interface for queries that can
251 /// limit the amount of information that gets parsed to only the
252 /// information that is requested. These bits also can indicate what
253 /// actually did get resolved during query function calls.
255 /// Each definition corresponds to a one of the member variables
256 /// in this class, and requests that that item be resolved, or
257 /// indicates that the member did get resolved.
258 //------------------------------------------------------------------
259 typedef enum SymbolContextItem
261 eSymbolContextTarget = (1u << 0), ///< Set when \a target is requested from a query, or was located in query results
262 eSymbolContextModule = (1u << 1), ///< Set when \a module is requested from a query, or was located in query results
263 eSymbolContextCompUnit = (1u << 2), ///< Set when \a comp_unit is requested from a query, or was located in query results
264 eSymbolContextFunction = (1u << 3), ///< Set when \a function is requested from a query, or was located in query results
265 eSymbolContextBlock = (1u << 4), ///< Set when the deepest \a block is requested from a query, or was located in query results
266 eSymbolContextLineEntry = (1u << 5), ///< Set when \a line_entry is requested from a query, or was located in query results
267 eSymbolContextSymbol = (1u << 6), ///< Set when \a symbol is requested from a query, or was located in query results
268 eSymbolContextEverything = ((eSymbolContextSymbol << 1) - 1u) ///< Indicates to try and lookup everything up during a query.
271 typedef enum Permissions
273 ePermissionsWritable = (1u << 0),
274 ePermissionsReadable = (1u << 1),
275 ePermissionsExecutable = (1u << 2)
278 typedef enum InputReaderAction
280 eInputReaderActivate, // reader is newly pushed onto the reader stack
281 eInputReaderAsynchronousOutputWritten, // an async output event occurred; the reader may want to do something
282 eInputReaderReactivate, // reader is on top of the stack again after another reader was popped off
283 eInputReaderDeactivate, // another reader was pushed on the stack
284 eInputReaderGotToken, // reader got one of its tokens (granularity)
285 eInputReaderInterrupt, // reader received an interrupt signal (probably from a control-c)
286 eInputReaderEndOfFile, // reader received an EOF char (probably from a control-d)
287 eInputReaderDone // reader was just popped off the stack and is done
290 typedef enum BreakpointEventType
292 eBreakpointEventTypeInvalidType = (1u << 0),
293 eBreakpointEventTypeAdded = (1u << 1),
294 eBreakpointEventTypeRemoved = (1u << 2),
295 eBreakpointEventTypeLocationsAdded = (1u << 3), // Locations added doesn't get sent when the breakpoint is created
296 eBreakpointEventTypeLocationsRemoved = (1u << 4),
297 eBreakpointEventTypeLocationsResolved = (1u << 5),
298 eBreakpointEventTypeEnabled = (1u << 6),
299 eBreakpointEventTypeDisabled = (1u << 7),
300 eBreakpointEventTypeCommandChanged = (1u << 8),
301 eBreakpointEventTypeConditionChanged = (1u << 9),
302 eBreakpointEventTypeIgnoreChanged = (1u << 10),
303 eBreakpointEventTypeThreadChanged = (1u << 11)
304 } BreakpointEventType;
306 typedef enum WatchpointEventType
308 eWatchpointEventTypeInvalidType = (1u << 0),
309 eWatchpointEventTypeAdded = (1u << 1),
310 eWatchpointEventTypeRemoved = (1u << 2),
311 eWatchpointEventTypeEnabled = (1u << 6),
312 eWatchpointEventTypeDisabled = (1u << 7),
313 eWatchpointEventTypeCommandChanged = (1u << 8),
314 eWatchpointEventTypeConditionChanged = (1u << 9),
315 eWatchpointEventTypeIgnoreChanged = (1u << 10),
316 eWatchpointEventTypeThreadChanged = (1u << 11),
317 eWatchpointEventTypeTypeChanged = (1u << 12)
318 } WatchpointEventType;
321 //----------------------------------------------------------------------
322 /// Programming language type.
324 /// These enumerations use the same language enumerations as the DWARF
325 /// specification for ease of use and consistency.
326 /// The enum -> string code is in LanguageRuntime.cpp, don't change this
327 /// table without updating that code as well.
328 //----------------------------------------------------------------------
329 typedef enum LanguageType
331 eLanguageTypeUnknown = 0x0000, ///< Unknown or invalid language value.
332 eLanguageTypeC89 = 0x0001, ///< ISO C:1989.
333 eLanguageTypeC = 0x0002, ///< Non-standardized C, such as K&R.
334 eLanguageTypeAda83 = 0x0003, ///< ISO Ada:1983.
335 eLanguageTypeC_plus_plus = 0x0004, ///< ISO C++:1998.
336 eLanguageTypeCobol74 = 0x0005, ///< ISO Cobol:1974.
337 eLanguageTypeCobol85 = 0x0006, ///< ISO Cobol:1985.
338 eLanguageTypeFortran77 = 0x0007, ///< ISO Fortran 77.
339 eLanguageTypeFortran90 = 0x0008, ///< ISO Fortran 90.
340 eLanguageTypePascal83 = 0x0009, ///< ISO Pascal:1983.
341 eLanguageTypeModula2 = 0x000a, ///< ISO Modula-2:1996.
342 eLanguageTypeJava = 0x000b, ///< Java.
343 eLanguageTypeC99 = 0x000c, ///< ISO C:1999.
344 eLanguageTypeAda95 = 0x000d, ///< ISO Ada:1995.
345 eLanguageTypeFortran95 = 0x000e, ///< ISO Fortran 95.
346 eLanguageTypePLI = 0x000f, ///< ANSI PL/I:1976.
347 eLanguageTypeObjC = 0x0010, ///< Objective-C.
348 eLanguageTypeObjC_plus_plus = 0x0011, ///< Objective-C++.
349 eLanguageTypeUPC = 0x0012, ///< Unified Parallel C.
350 eLanguageTypeD = 0x0013, ///< D.
351 eLanguageTypePython = 0x0014, ///< Python.
355 typedef enum DynamicValueType
357 eNoDynamicValues = 0,
358 eDynamicCanRunTarget = 1,
359 eDynamicDontRunTarget = 2
362 typedef enum AccessType
371 typedef enum CommandArgumentType
374 eArgTypeAddressOrExpression,
376 eArgTypeAliasOptions,
377 eArgTypeArchitecture,
379 eArgTypeBreakpointID,
380 eArgTypeBreakpointIDRange,
385 eArgTypeDescriptionVerbosity,
386 eArgTypeDirectoryName,
387 eArgTypeDisassemblyFlavor,
390 eArgTypeExpressionPath,
396 eArgTypeFunctionName,
397 eArgTypeFunctionOrSymbol,
406 eArgTypeNewPathPrefix,
408 eArgTypeNumberPerLine,
410 eArgTypeOldPathPrefix,
413 eArgTypePermissionsNumber,
414 eArgTypePermissionsString,
419 eArgTypePythonFunction,
420 eArgTypePythonScript,
422 eArgTypeRegisterName,
423 eArgTypeRegularExpression,
426 eArgTypeScriptedCommandSynchronicity,
430 eArgTypeSettingIndex,
432 eArgTypeSettingPrefix,
433 eArgTypeSettingVariableName,
437 eArgTypeStartAddress,
438 eArgTypeSummaryString,
443 eArgTypeUnsignedInteger,
450 eArgTypeWatchpointID,
451 eArgTypeWatchpointIDRange,
453 eArgTypeLastArg // Always keep this entry as the last entry in this enumeration!!
454 } CommandArgumentType;
456 //----------------------------------------------------------------------
458 //----------------------------------------------------------------------
459 typedef enum SymbolType
462 eSymbolTypeInvalid = 0,
467 eSymbolTypeTrampoline,
469 eSymbolTypeException,
470 eSymbolTypeSourceFile,
471 eSymbolTypeHeaderFile,
472 eSymbolTypeObjectFile,
473 eSymbolTypeCommonBlock,
478 eSymbolTypeVariableType,
479 eSymbolTypeLineEntry,
480 eSymbolTypeLineHeader,
481 eSymbolTypeScopeBegin,
483 eSymbolTypeAdditional, // When symbols take more than one entry, the extra entries get this type
485 eSymbolTypeInstrumentation,
486 eSymbolTypeUndefined,
487 eSymbolTypeObjCClass,
488 eSymbolTypeObjCMetaClass,
490 eSymbolTypeReExported
493 typedef enum SectionType
497 eSectionTypeContainer, // The section contains child sections
499 eSectionTypeDataCString, // Inlined C string data
500 eSectionTypeDataCStringPointers, // Pointers to C string data
501 eSectionTypeDataSymbolAddress, // Address of a symbol in the symbol table
505 eSectionTypeDataPointers,
507 eSectionTypeZeroFill,
508 eSectionTypeDataObjCMessageRefs, // Pointer to function pointer + selector
509 eSectionTypeDataObjCCFStrings, // Objective C const CFString/NSString objects
510 eSectionTypeDWARFDebugAbbrev,
511 eSectionTypeDWARFDebugAranges,
512 eSectionTypeDWARFDebugFrame,
513 eSectionTypeDWARFDebugInfo,
514 eSectionTypeDWARFDebugLine,
515 eSectionTypeDWARFDebugLoc,
516 eSectionTypeDWARFDebugMacInfo,
517 eSectionTypeDWARFDebugPubNames,
518 eSectionTypeDWARFDebugPubTypes,
519 eSectionTypeDWARFDebugRanges,
520 eSectionTypeDWARFDebugStr,
521 eSectionTypeDWARFAppleNames,
522 eSectionTypeDWARFAppleTypes,
523 eSectionTypeDWARFAppleNamespaces,
524 eSectionTypeDWARFAppleObjC,
525 eSectionTypeELFSymbolTable, // Elf SHT_SYMTAB section
526 eSectionTypeELFDynamicSymbols, // Elf SHT_DYNSYM section
527 eSectionTypeELFRelocationEntries, // Elf SHT_REL or SHT_REL section
528 eSectionTypeELFDynamicLinkInfo, // Elf SHT_DYNAMIC section
534 typedef enum EmulateInstructionOptions
536 eEmulateInstructionOptionNone = (0u),
537 eEmulateInstructionOptionAutoAdvancePC = (1u << 0),
538 eEmulateInstructionOptionIgnoreConditions = (1u << 1)
539 } EmulateInstructionOptions;
541 typedef enum FunctionNameType
543 eFunctionNameTypeNone = 0u,
544 eFunctionNameTypeAuto = (1u << 1), // Automatically figure out which FunctionNameType
545 // bits to set based on the function name.
546 eFunctionNameTypeFull = (1u << 2), // The function name.
547 // For C this is the same as just the name of the function
548 // For C++ this is the mangled or demangled version of the mangled name.
549 // For ObjC this is the full function signature with the + or
550 // - and the square brackets and the class and selector
551 eFunctionNameTypeBase = (1u << 3), // The function name only, no namespaces or arguments and no class
552 // methods or selectors will be searched.
553 eFunctionNameTypeMethod = (1u << 4), // Find function by method name (C++) with no namespace or arguments
554 eFunctionNameTypeSelector = (1u << 5), // Find function by selector name (ObjC) names
555 eFunctionNameTypeAny = eFunctionNameTypeAuto // DEPRECATED: use eFunctionNameTypeAuto
559 //----------------------------------------------------------------------
560 // Basic types enumeration for the public API SBType::GetBasicType()
561 //----------------------------------------------------------------------
562 typedef enum BasicType
564 eBasicTypeInvalid = 0,
567 eBasicTypeSignedChar,
568 eBasicTypeUnsignedChar,
570 eBasicTypeSignedWChar,
571 eBasicTypeUnsignedWChar,
575 eBasicTypeUnsignedShort,
577 eBasicTypeUnsignedInt,
579 eBasicTypeUnsignedLong,
581 eBasicTypeUnsignedLongLong,
583 eBasicTypeUnsignedInt128,
588 eBasicTypeLongDouble,
589 eBasicTypeFloatComplex,
590 eBasicTypeDoubleComplex,
591 eBasicTypeLongDoubleComplex,
599 typedef enum TypeClass
601 eTypeClassInvalid = (0u),
602 eTypeClassArray = (1u << 0),
603 eTypeClassBlockPointer = (1u << 1),
604 eTypeClassBuiltin = (1u << 2),
605 eTypeClassClass = (1u << 3),
606 eTypeClassComplexFloat = (1u << 4),
607 eTypeClassComplexInteger = (1u << 5),
608 eTypeClassEnumeration = (1u << 6),
609 eTypeClassFunction = (1u << 7),
610 eTypeClassMemberPointer = (1u << 8),
611 eTypeClassObjCObject = (1u << 9),
612 eTypeClassObjCInterface = (1u << 10),
613 eTypeClassObjCObjectPointer = (1u << 11),
614 eTypeClassPointer = (1u << 12),
615 eTypeClassReference = (1u << 13),
616 eTypeClassStruct = (1u << 14),
617 eTypeClassTypedef = (1u << 15),
618 eTypeClassUnion = (1u << 16),
619 eTypeClassVector = (1u << 17),
620 // Define the last type class as the MSBit of a 32 bit value
621 eTypeClassOther = (1u << 31),
622 // Define a mask that can be used for any type when finding types
623 eTypeClassAny = (0xffffffffu)
626 typedef enum TemplateArgumentKind
628 eTemplateArgumentKindNull = 0,
629 eTemplateArgumentKindType,
630 eTemplateArgumentKindDeclaration,
631 eTemplateArgumentKindIntegral,
632 eTemplateArgumentKindTemplate,
633 eTemplateArgumentKindTemplateExpansion,
634 eTemplateArgumentKindExpression,
635 eTemplateArgumentKindPack
637 } TemplateArgumentKind;
639 //----------------------------------------------------------------------
640 // Options that can be set for a formatter to alter its behavior
641 // Not all of these are applicable to all formatter types
642 //----------------------------------------------------------------------
643 typedef enum TypeOptions
645 eTypeOptionNone = (0u),
646 eTypeOptionCascade = (1u << 0),
647 eTypeOptionSkipPointers = (1u << 1),
648 eTypeOptionSkipReferences = (1u << 2),
649 eTypeOptionHideChildren = (1u << 3),
650 eTypeOptionHideValue = (1u << 4),
651 eTypeOptionShowOneLiner = (1u << 5),
652 eTypeOptionHideNames = (1u << 6)
655 //----------------------------------------------------------------------
656 // This is the return value for frame comparisons. When frame A pushes
657 // frame B onto the stack, frame A is OLDER than frame B.
658 //----------------------------------------------------------------------
659 typedef enum FrameComparison
661 eFrameCompareInvalid,
662 eFrameCompareUnknown,
664 eFrameCompareYounger,
668 //----------------------------------------------------------------------
671 // A way of classifying an address used for disassembling and setting
672 // breakpoints. Many object files can track exactly what parts of their
673 // object files are code, data and other information. This is of course
674 // above and beyond just looking at the section types. For example, code
675 // might contain PC relative data and the object file might be able to
676 // tell us that an address in code is data.
677 //----------------------------------------------------------------------
678 typedef enum AddressClass
680 eAddressClassInvalid,
681 eAddressClassUnknown,
683 eAddressClassCodeAlternateISA,
689 //----------------------------------------------------------------------
692 // Designed to mimic the unix file permission bits so they can be
693 // used with functions that set 'mode_t' to certain values for
695 //----------------------------------------------------------------------
696 typedef enum FilePermissions
698 eFilePermissionsUserRead = (1u << 8),
699 eFilePermissionsUserWrite = (1u << 7),
700 eFilePermissionsUserExecute = (1u << 6),
701 eFilePermissionsGroupRead = (1u << 5),
702 eFilePermissionsGroupWrite = (1u << 4),
703 eFilePermissionsGroupExecute = (1u << 3),
704 eFilePermissionsWorldRead = (1u << 2),
705 eFilePermissionsWorldWrite = (1u << 1),
706 eFilePermissionsWorldExecute = (1u << 0),
708 eFilePermissionsUserRW = (eFilePermissionsUserRead | eFilePermissionsUserWrite | 0 ),
709 eFileFilePermissionsUserRX = (eFilePermissionsUserRead | 0 | eFilePermissionsUserExecute ),
710 eFilePermissionsUserRWX = (eFilePermissionsUserRead | eFilePermissionsUserWrite | eFilePermissionsUserExecute ),
712 eFilePermissionsGroupRW = (eFilePermissionsGroupRead | eFilePermissionsGroupWrite | 0 ),
713 eFilePermissionsGroupRX = (eFilePermissionsGroupRead | 0 | eFilePermissionsGroupExecute ),
714 eFilePermissionsGroupRWX = (eFilePermissionsGroupRead | eFilePermissionsGroupWrite | eFilePermissionsGroupExecute ),
716 eFilePermissionsWorldRW = (eFilePermissionsWorldRead | eFilePermissionsWorldWrite | 0 ),
717 eFilePermissionsWorldRX = (eFilePermissionsWorldRead | 0 | eFilePermissionsWorldExecute ),
718 eFilePermissionsWorldRWX = (eFilePermissionsWorldRead | eFilePermissionsWorldWrite | eFilePermissionsWorldExecute ),
720 eFilePermissionsEveryoneR = (eFilePermissionsUserRead | eFilePermissionsGroupRead | eFilePermissionsWorldRead ),
721 eFilePermissionsEveryoneW = (eFilePermissionsUserWrite | eFilePermissionsGroupWrite | eFilePermissionsWorldWrite ),
722 eFilePermissionsEveryoneX = (eFilePermissionsUserExecute | eFilePermissionsGroupExecute | eFilePermissionsWorldExecute ),
724 eFilePermissionsEveryoneRW = (eFilePermissionsEveryoneR | eFilePermissionsEveryoneW | 0 ),
725 eFilePermissionsEveryoneRX = (eFilePermissionsEveryoneR | 0 | eFilePermissionsEveryoneX ),
726 eFilePermissionsEveryoneRWX = (eFilePermissionsEveryoneR | eFilePermissionsEveryoneW | eFilePermissionsEveryoneX ),
727 eFilePermissionsFileDefault = eFilePermissionsUserRW,
728 eFilePermissionsDirectoryDefault = eFilePermissionsUserRWX,
731 //----------------------------------------------------------------------
732 // Queue work item types
734 // The different types of work that can be enqueued on a libdispatch
735 // aka Grand Central Dispatch (GCD) queue.
736 //----------------------------------------------------------------------
737 typedef enum QueueItemKind
739 eQueueItemKindUnknown = 0,
740 eQueueItemKindFunction,
747 #endif // LLDB_lldb_enumerations_h_